From d792a1804aec9529b1430182e164b6952077631b Mon Sep 17 00:00:00 2001 From: Sanjay Dalal Date: Fri, 14 May 2010 18:45:44 +0000 Subject: [PATCH] CSPACE-1364, CSPACE-1365 moved gen/seed of authorization to import module in order to expand the functionality to generate permisssions for all the services as well as all the permission-role relationships for bootstrapping purposes. test: authorization-mgt all service tests --- services/authorization-mgt/build.xml | 5 - services/authorization-mgt/client/build.xml | 2 +- services/authorization-mgt/client/pom.xml | 4 - services/authorization-mgt/import/build.xml | 126 ++++++++++++ services/authorization-mgt/import/pom.xml | 185 ++++++++++++++++++ .../import-data/import-permissions-roles.xml} | 0 .../import-data/import-permissions.xml} | 0 .../generator}/AuthorizationGen.java | 16 +- .../AbstractAuthorizationTestImpl.java | 37 +++- .../importer}/AuthorizationSeedTest.java | 20 +- .../applicationContext-authorization-test.xml | 0 .../src/test/resources/log4j.properties | 25 +++ services/authorization-mgt/pom.xml | 1 + 13 files changed, 378 insertions(+), 43 deletions(-) create mode 100644 services/authorization-mgt/import/build.xml create mode 100644 services/authorization-mgt/import/pom.xml rename services/authorization-mgt/{client/src/test/resources/test-data/test-permissions-roles.xml => import/src/main/resources/import-data/import-permissions-roles.xml} (100%) rename services/authorization-mgt/{client/src/test/resources/test-data/test-permissions.xml => import/src/main/resources/import-data/import-permissions.xml} (100%) rename services/authorization-mgt/{client/src/test/java/org/collectionspace/services/authorization/test => import/src/test/java/org/collectionspace/services/authorization/generator}/AuthorizationGen.java (84%) rename services/authorization-mgt/{client/src/test/java/org/collectionspace/services/authorization/test => import/src/test/java/org/collectionspace/services/authorization/importer}/AbstractAuthorizationTestImpl.java (81%) rename services/authorization-mgt/{client/src/test/java/org/collectionspace/services/authorization/test => import/src/test/java/org/collectionspace/services/authorization/importer}/AuthorizationSeedTest.java (87%) rename services/authorization-mgt/{client => import}/src/test/resources/applicationContext-authorization-test.xml (100%) create mode 100644 services/authorization-mgt/import/src/test/resources/log4j.properties diff --git a/services/authorization-mgt/build.xml b/services/authorization-mgt/build.xml index b76c3a622..db79361bf 100644 --- a/services/authorization-mgt/build.xml +++ b/services/authorization-mgt/build.xml @@ -109,29 +109,24 @@ - - - - - diff --git a/services/authorization-mgt/client/build.xml b/services/authorization-mgt/client/build.xml index 4dc84bbcf..9b0a3c2d6 100644 --- a/services/authorization-mgt/client/build.xml +++ b/services/authorization-mgt/client/build.xml @@ -1,7 +1,7 @@ - collectionspace authorization-mgt service + collectionspace authorization-mgt client diff --git a/services/authorization-mgt/client/pom.xml b/services/authorization-mgt/client/pom.xml index 0e694320a..fca444529 100644 --- a/services/authorization-mgt/client/pom.xml +++ b/services/authorization-mgt/client/pom.xml @@ -171,10 +171,6 @@ log4j.configuration file:${project.build.directory}/test-classes/log4j.properties - - spring-beans-config - applicationContext-authorization-test.xml - diff --git a/services/authorization-mgt/import/build.xml b/services/authorization-mgt/import/build.xml new file mode 100644 index 000000000..8c3f0950c --- /dev/null +++ b/services/authorization-mgt/import/build.xml @@ -0,0 +1,126 @@ + + + + collectionspace authorization-mgt import + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/services/authorization-mgt/import/pom.xml b/services/authorization-mgt/import/pom.xml new file mode 100644 index 000000000..eeb18a8af --- /dev/null +++ b/services/authorization-mgt/import/pom.xml @@ -0,0 +1,185 @@ + + + + org.collectionspace.services + org.collectionspace.services.authorization-mgt + 0.7-SNAPSHOT + + + 4.0.0 + org.collectionspace.services + org.collectionspace.services.authorization-mgt.import + services.authorization-mgt.import + + 3.0.0.RELEASE + 3.0.2.RELEASE + + + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + + + org.collectionspace.services + org.collectionspace.services.authentication.service + ${project.version} + provided + + + org.collectionspace.services + org.collectionspace.services.authorization.service + ${project.version} + provided + + + org.collectionspace.services + org.collectionspace.services.authorization.jaxb + ${project.version} + + + org.collectionspace.services + org.collectionspace.services.client + ${project.version} + + + + + + + + org.testng + testng + 5.6 + + + org.jboss.resteasy + resteasy-jaxrs + + + tjws + webserver + + + + + org.jboss.resteasy + resteasy-jaxb-provider + + + org.jboss.resteasy + resteasy-multipart-provider + + + commons-httpclient + commons-httpclient + 3.1 + + + + org.springframework.security + spring-security-core + ${spring.security.version} + provided + + + org.springframework.security + spring-security-config + ${spring.security.version} + provided + + + org.springframework.security + spring-security-acl + ${spring.security.version} + provided + + + org.springframework.security + spring-security-web + ${spring.security.version} + provided + + + org.springframework + spring-context + ${spring.version} + provided + + + org.springframework + spring-context-support + ${spring.version} + provided + + + org.springframework + spring-aop + ${spring.version} + provided + + + aopalliance + aopalliance + 1.0 + provided + + + + net.sf.ehcache + ehcache + 1.6.2 + true + + + mysql + mysql-connector-java + test + + + + + cspace-services-authorization-mgt-import + + + org.apache.maven.plugins + maven-surefire-plugin + + + + maven.basedir + ${basedir} + + + log4j.configuration + file:${project.build.directory}/test-classes/log4j.properties + + + spring-beans-config + applicationContext-authorization-test.xml + + + + + + + + + diff --git a/services/authorization-mgt/client/src/test/resources/test-data/test-permissions-roles.xml b/services/authorization-mgt/import/src/main/resources/import-data/import-permissions-roles.xml similarity index 100% rename from services/authorization-mgt/client/src/test/resources/test-data/test-permissions-roles.xml rename to services/authorization-mgt/import/src/main/resources/import-data/import-permissions-roles.xml diff --git a/services/authorization-mgt/client/src/test/resources/test-data/test-permissions.xml b/services/authorization-mgt/import/src/main/resources/import-data/import-permissions.xml similarity index 100% rename from services/authorization-mgt/client/src/test/resources/test-data/test-permissions.xml rename to services/authorization-mgt/import/src/main/resources/import-data/import-permissions.xml diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationGen.java b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/generator/AuthorizationGen.java similarity index 84% rename from services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationGen.java rename to services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/generator/AuthorizationGen.java index d1b2acfed..da0a05f5e 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationGen.java +++ b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/generator/AuthorizationGen.java @@ -21,13 +21,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.collectionspace.services.authorization.test; +package org.collectionspace.services.authorization.generator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import java.util.UUID; import org.collectionspace.services.authorization.ActionType; import org.collectionspace.services.authorization.Permission; import org.collectionspace.services.authorization.EffectType; @@ -61,12 +60,6 @@ public class AuthorizationGen { } - public void writePermissions(PermissionsList pcList, String fileName) { - AbstractAuthorizationTestImpl.toFile(pcList, PermissionsList.class, - AbstractAuthorizationTestImpl.testDataDir + fileName); - logger.info("generated permissions to " - + AbstractAuthorizationTestImpl.testDataDir + fileName); - } private Permission buildCommonPermission(String tenantId, String permId, String resourceName) { //String id = UUID.randomUUID().toString(); @@ -101,13 +94,6 @@ public class AuthorizationGen { return psrsl; } - public void writePermissionRoles(PermissionsRolesList psrsl, String fileName) { - AbstractAuthorizationTestImpl.toFile(psrsl, PermissionsRolesList.class, - AbstractAuthorizationTestImpl.testDataDir + fileName); - logger.info("generated permissions-roles to " - + AbstractAuthorizationTestImpl.testDataDir + fileName); - } - private PermissionRole buildCommonPermissionRoles(String tenantId, String permissionId, String resName) { diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AbstractAuthorizationTestImpl.java b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AbstractAuthorizationTestImpl.java similarity index 81% rename from services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AbstractAuthorizationTestImpl.java rename to services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AbstractAuthorizationTestImpl.java index 585bdc3ee..0a3d7965b 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AbstractAuthorizationTestImpl.java +++ b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AbstractAuthorizationTestImpl.java @@ -47,7 +47,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.collectionspace.services.authorization.test; +package org.collectionspace.services.authorization.importer; import java.io.File; import java.io.FileInputStream; @@ -60,6 +60,8 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import org.collectionspace.services.authorization.AuthZ; +import org.collectionspace.services.authorization.PermissionsList; +import org.collectionspace.services.authorization.PermissionsRolesList; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; @@ -78,17 +80,18 @@ import org.testng.annotations.Test; */ public abstract class AbstractAuthorizationTestImpl { - static protected final String MAVEN_BASEDIR_PROPERTY = "maven.basedir"; - final Logger logger = LoggerFactory.getLogger(AbstractAuthorizationTestImpl.class); + static protected final String MAVEN_BASEDIR_PROPERTY = "maven.basedir"; + final Logger logger = LoggerFactory.getLogger(AbstractAuthorizationTestImpl.class); private org.springframework.jdbc.datasource.DataSourceTransactionManager txManager; - final static String testDataDir = "src/test/resources/test-data/"; + final static String importDataDir = "src/main/resources/import-data/"; static String baseDir; + static { - baseDir = System.getProperty(AbstractAuthorizationTestImpl.MAVEN_BASEDIR_PROPERTY); - if (baseDir == null || baseDir.isEmpty()) { - baseDir = System.getProperty("user.dir"); - } - baseDir = baseDir + System.getProperty("file.separator"); + baseDir = System.getProperty(AbstractAuthorizationTestImpl.MAVEN_BASEDIR_PROPERTY); + if (baseDir == null || baseDir.isEmpty()) { + baseDir = System.getProperty("user.dir"); + } + baseDir = baseDir + System.getProperty("file.separator"); } /** @@ -175,6 +178,22 @@ public abstract class AbstractAuthorizationTestImpl { } } + + public void writePermissions(PermissionsList pcList, String fileName) { + AbstractAuthorizationTestImpl.toFile(pcList, PermissionsList.class, + AbstractAuthorizationTestImpl.importDataDir + fileName); + logger.info("generated permissions to " + + AbstractAuthorizationTestImpl.importDataDir + fileName); + } + + + public void writePermissionRoles(PermissionsRolesList psrsl, String fileName) { + AbstractAuthorizationTestImpl.toFile(psrsl, PermissionsRolesList.class, + AbstractAuthorizationTestImpl.importDataDir + fileName); + logger.info("generated permissions-roles to " + + AbstractAuthorizationTestImpl.importDataDir + fileName); + } + @Test(dataProvider = "testName", dataProviderClass = AbstractAuthorizationTestImpl.class) public void test(String testName) { if (logger.isDebugEnabled()) { diff --git a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationSeedTest.java b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AuthorizationSeedTest.java similarity index 87% rename from services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationSeedTest.java rename to services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AuthorizationSeedTest.java index c22344991..0f5997ee5 100644 --- a/services/authorization-mgt/client/src/test/java/org/collectionspace/services/authorization/test/AuthorizationSeedTest.java +++ b/services/authorization-mgt/import/src/test/java/org/collectionspace/services/authorization/importer/AuthorizationSeedTest.java @@ -21,10 +21,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.collectionspace.services.authorization.test; +package org.collectionspace.services.authorization.importer; //import java.util.ArrayList; //import java.util.List; +import org.collectionspace.services.authorization.generator.AuthorizationGen; +import org.collectionspace.services.authorization.importer.AbstractAuthorizationTestImpl; import java.util.ArrayList; import java.util.List; import org.collectionspace.services.authorization.ActionType; @@ -51,8 +53,8 @@ import org.testng.annotations.BeforeClass; public class AuthorizationSeedTest extends AbstractAuthorizationTestImpl { final Logger logger = LoggerFactory.getLogger(AuthorizationSeedTest.class); - final static String PERMISSION_FILE = "test-permissions.xml"; - final static String PERMISSION_ROLE_FILE = "test-permissions-roles.xml"; + final static String PERMISSION_FILE = "import-permissions.xml"; + final static String PERMISSION_ROLE_FILE = "import-permissions-roles.xml"; @BeforeClass(alwaysRun = true) public void seedData() { @@ -61,9 +63,9 @@ public class AuthorizationSeedTest extends AbstractAuthorizationTestImpl { try { AuthorizationGen authzGen = new AuthorizationGen(); PermissionsList pl = authzGen.genPermissions(); - authzGen.writePermissions(pl, PERMISSION_FILE); + writePermissions(pl, PERMISSION_FILE); PermissionsRolesList prl = authzGen.genPermissionsRoles(pl); - authzGen.writePermissionRoles(prl, PERMISSION_ROLE_FILE); + writePermissionRoles(prl, PERMISSION_ROLE_FILE); seedRoles(); seedPermissions(); } catch (Exception ex) { @@ -81,14 +83,14 @@ public class AuthorizationSeedTest extends AbstractAuthorizationTestImpl { public void seedPermissions() throws Exception { PermissionsList pcList = (PermissionsList) fromFile(PermissionsList.class, baseDir - + AbstractAuthorizationTestImpl.testDataDir + PERMISSION_FILE); + + AbstractAuthorizationTestImpl.importDataDir + PERMISSION_FILE); logger.info("read permissions from " - + baseDir + AbstractAuthorizationTestImpl.testDataDir + PERMISSION_FILE); + + baseDir + AbstractAuthorizationTestImpl.importDataDir + PERMISSION_FILE); PermissionsRolesList pcrList = (PermissionsRolesList) fromFile(PermissionsRolesList.class, baseDir - + AbstractAuthorizationTestImpl.testDataDir + PERMISSION_ROLE_FILE); + + AbstractAuthorizationTestImpl.importDataDir + PERMISSION_ROLE_FILE); logger.info("read permissions-roles from " - + baseDir + AbstractAuthorizationTestImpl.testDataDir + PERMISSION_ROLE_FILE); + + baseDir + AbstractAuthorizationTestImpl.importDataDir + PERMISSION_ROLE_FILE); AuthZ authZ = AuthZ.get(); for (Permission p : pcList.getPermissions()) { if (logger.isDebugEnabled()) { diff --git a/services/authorization-mgt/client/src/test/resources/applicationContext-authorization-test.xml b/services/authorization-mgt/import/src/test/resources/applicationContext-authorization-test.xml similarity index 100% rename from services/authorization-mgt/client/src/test/resources/applicationContext-authorization-test.xml rename to services/authorization-mgt/import/src/test/resources/applicationContext-authorization-test.xml diff --git a/services/authorization-mgt/import/src/test/resources/log4j.properties b/services/authorization-mgt/import/src/test/resources/log4j.properties new file mode 100644 index 000000000..f9c47870a --- /dev/null +++ b/services/authorization-mgt/import/src/test/resources/log4j.properties @@ -0,0 +1,25 @@ +log4j.rootLogger=debug, stdout, R + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Pattern to output the caller's file name and line number. +log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n + +log4j.appender.R=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=target/test-client.log + +log4j.appender.R.MaxFileSize=100KB +# Keep one backup file +log4j.appender.R.MaxBackupIndex=1 + +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n + +#packages +log4j.logger.org.collectionspace=DEBUG +log4j.logger.org.apache=INFO +log4j.logger.httpclient=INFO +log4j.logger.org.jboss.resteasy=INFO +log4j.logger.org.hibernate=INFO +log4j.logger.org.hibernate.cfg=WARN diff --git a/services/authorization-mgt/pom.xml b/services/authorization-mgt/pom.xml index b9ac621b2..d032b8824 100644 --- a/services/authorization-mgt/pom.xml +++ b/services/authorization-mgt/pom.xml @@ -15,6 +15,7 @@ service + import client -- 2.47.3