diff --git a/src/test/resources/integration-test/accessmanager/privileges-info.json.esp b/src/test/resources/integration-test/accessmanager/privileges-info.json.esp
index 8034c1b..1fcd010 100644
--- a/src/test/resources/integration-test/accessmanager/privileges-info.json.esp
+++ b/src/test/resources/integration-test/accessmanager/privileges-info.json.esp
@@ -1,7 +1,26 @@
-{
 <% 
-   var privilegesInfo = new Packages.org.apache.sling.jcr.jackrabbit.accessmanager.PrivilegesInfo();
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ var privilegesInfo = new Packages.org.apache.sling.jcr.jackrabbit.accessmanager.PrivilegesInfo();
 %>
+{
 	"canAddChildren" : <%=privilegesInfo.canAddChildren(currentNode)%>,
 	"canDeleteChildren" : <%=privilegesInfo.canDeleteChildren(currentNode)%>,
 	"canDelete" : <%=privilegesInfo.canDelete(currentNode)%>,
diff --git a/src/test/resources/integration-test/usermanager/privileges-info.json.esp b/src/test/resources/integration-test/usermanager/privileges-info.json.esp
index 5ffa0a5..4977081 100644
--- a/src/test/resources/integration-test/usermanager/privileges-info.json.esp
+++ b/src/test/resources/integration-test/usermanager/privileges-info.json.esp
@@ -1,8 +1,27 @@
-{
 <% 
-   var privilegesInfo = sling.getService(Packages.org.apache.sling.jackrabbit.usermanager.AuthorizablePrivilegesInfo);
-   var authorizable = resource.adaptTo(Packages.org.apache.jackrabbit.api.security.user.Authorizable);
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ var privilegesInfo = sling.getService(Packages.org.apache.sling.jackrabbit.usermanager.AuthorizablePrivilegesInfo);
+ var authorizable = resource.adaptTo(Packages.org.apache.jackrabbit.api.security.user.Authorizable);
 %>
+{
 	"canAddUser" : <%=privilegesInfo.canAddUser(currentSession)%>,
 	"canAddGroup" : <%=privilegesInfo.canAddGroup(currentSession)%>,
 	"canUpdateProperties" : <%=privilegesInfo.canUpdateProperties(currentSession, authorizable.getID())%>,
