This is an automated email from the ASF dual-hosted git repository. martin_s pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git
commit 56a6c952f9d00e21c6436214ac0a5a25a6f0bea7 Author: Martin Stockhammer <[email protected]> AuthorDate: Tue Dec 24 15:51:08 2019 +0100 Removing data-management module --- pom.xml | 1 - redback-data-management/pom.xml | 131 ------ .../redback/management/DataManagementTool.java | 61 --- .../src/main/resources/META-INF/spring-context.xml | 34 -- .../redback/management/DataManagementTest.java | 458 --------------------- .../src/test/resources/expected-keys.xml | 45 -- .../src/test/resources/expected-rbac.xml | 152 ------- .../src/test/resources/expected-users.xml | 60 --- .../archiva/redback/config-defaults.properties | 135 ------ .../src/test/resources/spring-context.xml | 64 --- 10 files changed, 1141 deletions(-) diff --git a/pom.xml b/pom.xml index 26d3d96..b88d203 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,6 @@ <module>redback-system</module> <module>redback-keys</module> <module>redback-users</module> - <module>redback-data-management</module> <module>redback-integrations</module> </modules> diff --git a/redback-data-management/pom.xml b/redback-data-management/pom.xml deleted file mode 100644 index 8b3d368..0000000 --- a/redback-data-management/pom.xml +++ /dev/null @@ -1,131 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ 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. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <artifactId>redback</artifactId> - <groupId>org.apache.archiva.redback</groupId> - <version>3.0.0-SNAPSHOT</version> - </parent> - - <artifactId>redback-data-management</artifactId> - <properties> - <site.staging.base>${project.parent.basedir}</site.staging.base> - </properties> - <name>Redback :: Data Management Utilities</name> - <description>Back up, restore and upgrade utilities for JDO databases using XML</description> - - <dependencies> - <dependency> - <groupId>org.apache.archiva.redback</groupId> - <artifactId>redback-users-api</artifactId> - </dependency> - <dependency> - <groupId>org.apache.archiva.redback</groupId> - <artifactId>redback-rbac-model</artifactId> - </dependency> - <dependency> - <groupId>org.apache.archiva.redback</groupId> - <artifactId>redback-keys-api</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-context-support</artifactId> - </dependency> - <dependency> - <groupId>javax.annotation</groupId> - <artifactId>javax.annotation-api</artifactId> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - <dependency> - <groupId>org.apache.archiva.redback</groupId> - <artifactId>redback-rbac-tests</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>xmlunit</groupId> - <artifactId>xmlunit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.derby</groupId> - <artifactId>derby</artifactId> - <version>10.13.1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.hsqldb</groupId> - <artifactId>hsqldb</artifactId> - </dependency> - <dependency> - <groupId>javax.inject</groupId> - <artifactId>javax.inject</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.junit.platform</groupId> - <artifactId>junit-platform-launcher</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.junit.platform</groupId> - <artifactId>junit-platform-console-standalone</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-engine</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.junit.vintage</groupId> - <artifactId>junit-vintage-engine</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <systemPropertyVariables> - <basedir>${basedir}</basedir> - <derby.system.home>${project.build.directory}/test-home</derby.system.home> - <openjpa.Log>${openjpa.Log}</openjpa.Log> - </systemPropertyVariables> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/redback-data-management/src/main/java/org/apache/archiva/redback/management/DataManagementTool.java b/redback-data-management/src/main/java/org/apache/archiva/redback/management/DataManagementTool.java deleted file mode 100644 index a64a1d3..0000000 --- a/redback-data-management/src/main/java/org/apache/archiva/redback/management/DataManagementTool.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.apache.archiva.redback.management; - -/* - * 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. - */ - -import org.apache.archiva.redback.users.UserManager; -import org.apache.archiva.redback.keys.KeyManager; -import org.apache.archiva.redback.rbac.RBACManager; -import org.apache.archiva.redback.rbac.RbacManagerException; -import org.apache.archiva.redback.users.UserManagerException; - -import javax.xml.stream.XMLStreamException; -import java.io.IOException; -import java.nio.file.Path; - -/** - * Data management tool API. - */ -public interface DataManagementTool -{ - - void backupRBACDatabase( RBACManager manager, Path backupDirectory ) - throws RbacManagerException, IOException, XMLStreamException; - - void backupUserDatabase( UserManager manager, Path backupDirectory ) - throws IOException, XMLStreamException, UserManagerException; - - void backupKeyDatabase( KeyManager manager, Path backupDirectory ) - throws IOException, XMLStreamException; - - void restoreRBACDatabase( RBACManager manager, Path backupDirectory ) - throws IOException, XMLStreamException, RbacManagerException; - - void restoreUsersDatabase( UserManager manager, Path backupDirectory ) - throws IOException, XMLStreamException, UserManagerException; - - void restoreKeysDatabase( KeyManager manager, Path backupDirectory ) - throws IOException, XMLStreamException; - - void eraseRBACDatabase( RBACManager manager ); - - void eraseUsersDatabase( UserManager manager ); - - void eraseKeysDatabase( KeyManager manager ); -} diff --git a/redback-data-management/src/main/resources/META-INF/spring-context.xml b/redback-data-management/src/main/resources/META-INF/spring-context.xml deleted file mode 100644 index 7352278..0000000 --- a/redback-data-management/src/main/resources/META-INF/spring-context.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0"?> - -<!-- - ~ 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. - --> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd - http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-3.0.xsd" - default-lazy-init="true"> - - <context:annotation-config /> - <context:component-scan - base-package="org.apache.archiva.redback.management"/> - -</beans> \ No newline at end of file diff --git a/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java b/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java deleted file mode 100644 index 4d3d87d..0000000 --- a/redback-data-management/src/test/java/org/apache/archiva/redback/management/DataManagementTest.java +++ /dev/null @@ -1,458 +0,0 @@ -package org.apache.archiva.redback.management; - -/* - * 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. - */ - -import junit.framework.TestCase; -import org.apache.archiva.redback.keys.AuthenticationKey; -import org.apache.archiva.redback.keys.KeyManager; -import org.apache.archiva.redback.keys.KeyManagerException; -import org.apache.archiva.redback.rbac.*; -import org.apache.archiva.redback.tests.utils.RBACDefaults; -import org.apache.archiva.redback.users.User; -import org.apache.archiva.redback.users.UserManager; -import org.apache.archiva.redback.users.UserManagerException; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.custommonkey.xmlunit.XMLAssert; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import javax.inject.Inject; -import javax.inject.Named; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.StandardOpenOption; -import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Locale; - - -// @TODO: Investigate how to implement export with JPA -@Ignore("Currently no JPA implementation") -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" }) -public class DataManagementTest - extends TestCase -{ - @Inject - private DataManagementTool dataManagementTool; - - private Path targetDirectory; - - @Inject - @Named(value = "userManager#jpa") - UserManager userManager; - - @Inject - @Named(value = "keyManager#jpa") - KeyManager keyManager; - - - @Inject - @Named(value = "rbacManager#jpa") - RBACManager rbacManager; - - @Before - public void setUp() - throws Exception - { - super.setUp(); - targetDirectory = createBackupDirectory(); - } - - @Test - public void testEraseUsers() - throws Exception - { - - dataManagementTool.eraseUsersDatabase( userManager ); - - createUserDatabase( userManager ); - - dataManagementTool.eraseUsersDatabase( userManager ); - - assertEmpty( userManager ); - } - - @Test - public void testEraseKeys() - throws Exception - { - - createKeyDatabase( keyManager ); - - dataManagementTool.eraseKeysDatabase( keyManager ); - - assertEmpty( keyManager ); - } - - @Test - public void testBackupRbac() - throws Exception - { - RBACManager manager = rbacManager; - - dataManagementTool.eraseRBACDatabase( manager ); - - createRbacDatabase( manager ); - - dataManagementTool.backupRBACDatabase( manager, targetDirectory ); - - Path backupFile = targetDirectory.resolve( "rbac.xml" ); - - assertTrue( "Check database exists", Files.exists(backupFile) ); - - StringWriter sw = new StringWriter(); - - IOUtils.copy( getClass().getResourceAsStream( "/expected-rbac.xml" ), sw ); - - XMLAssert.assertXMLEqual( new StringReader( sw.toString() ), - new StringReader( FileUtils.readFileToString( backupFile.toFile() ) ) ); - - } - - private void createRbacDatabase( RBACManager manager ) - throws RbacManagerException - { - RBACDefaults defaults = new RBACDefaults( manager ); - - defaults.createDefaults(); - - UserAssignment assignment = manager.createUserAssignment( "bob" ); - assignment.addRoleName( "Developer" ); - manager.saveUserAssignment( assignment ); - - assignment = manager.createUserAssignment( "betty" ); - assignment.addRoleName( "System Administrator" ); - manager.saveUserAssignment( assignment ); - } - - @Test - public void testBackupUsers() - throws Exception - { - UserManager manager = userManager; - - createUserDatabase( manager ); - - dataManagementTool.backupUserDatabase( manager, targetDirectory ); - - Path backupFile = targetDirectory.resolve( "users.xml" ); - - assertTrue( "Check database exists", Files.exists(backupFile) ); - - StringWriter sw = new StringWriter(); - - IOUtils.copy( getClass().getResourceAsStream( "/expected-users.xml" ), sw ); - - String actual = FileUtils.readFileToString( backupFile.toFile() ).trim(); - String expected = sw.toString().trim(); - - XMLAssert.assertXMLEqual( removeTimestampVariance( expected ), removeTimestampVariance( actual ) ); - - } - - private void createUserDatabase( UserManager manager ) - throws UserManagerException - { - User user = manager.createUser( "smcqueen", "Steve McQueen", "the cooler king" ); - user.setPassword( "abc123" ); - manager.addUser( user ); - - user = manager.createUser( "bob", "Sideshow Bob", "[email protected]" ); - user.setPassword( "bobby862" ); - manager.addUser( user ); - - user = manager.createUser( "betty", "Betty", "[email protected]" ); - user.setPassword( "rover2" ); - manager.addUser( user ); - } - - @Test - public void testBackupKeys() - throws Exception - { - KeyManager manager = keyManager; - - createKeyDatabase( manager ); - - Thread.sleep( 60000 ); - - dataManagementTool.backupKeyDatabase( manager, targetDirectory ); - - Path backupFile = targetDirectory.resolve( "keys.xml" ); - - assertTrue( "Check database exists", Files.exists(backupFile) ); - - StringWriter sw = new StringWriter(); - - IOUtils.copy( getClass().getResourceAsStream( "/expected-keys.xml" ), sw ); - - String actual = FileUtils.readFileToString( backupFile.toFile() ).trim(); - String expected = sw.toString().trim(); - - XMLAssert.assertXMLEqual( removeKeyAndTimestampVariance( expected ), removeKeyAndTimestampVariance( actual ) ); - - } - - private static void createKeyDatabase( KeyManager manager ) - throws KeyManagerException - { - manager.createKey( "bob", "Testing", 15 ); - manager.createKey( "betty", "Something", 25 ); - manager.createKey( "fred", "Else", 30 ); - manager.createKey( "tony", "Expired", 0 ); - } - - @Test - public void testRestoreRbac() - throws Exception - { - RBACManager manager = rbacManager; - - dataManagementTool.eraseRBACDatabase( manager ); - - assertEmpty( manager ); - - Path backupFile = targetDirectory.resolve("rbac.xml" ); - - InputStream is = getClass().getResourceAsStream( "/expected-rbac.xml" ); - - BufferedWriter fw = Files.newBufferedWriter(backupFile, StandardOpenOption.CREATE_NEW); - - IOUtils.copy( is, fw ); - - is.close(); - - fw.close(); - - dataManagementTool.restoreRBACDatabase( manager, targetDirectory ); - - List<? extends Role> roles = manager.getAllRoles(); - List<? extends UserAssignment> assignments = manager.getAllUserAssignments(); - assertEquals( 4, roles.size() ); - assertEquals( 2, assignments.size() ); - assertEquals( 6, manager.getAllOperations().size() ); - assertEquals( 1, manager.getAllResources().size() ); - assertEquals( 6, manager.getAllPermissions().size() ); - - Role role = roles.get( 0 ); - assertEquals( "User Administrator", role.getName() ); - assertTrue( role.isAssignable() ); - assertEquals( 2, role.getPermissions().size() ); - assertPermission( role.getPermissions().get( 0 ), "Edit All Users", "edit-all-users", "*" ); - assertPermission( role.getPermissions().get( 1 ), "Remove Roles", "remove-roles", "*" ); - - role = roles.get( 1 ); - assertEquals( "System Administrator", role.getName() ); - assertTrue( role.isAssignable() ); - assertEquals( 1, role.getChildRoleNames().size() ); - assertEquals( "User Administrator", role.getChildRoleNames().get( 0 ) ); - assertEquals( 4, role.getPermissions().size() ); - assertPermission( role.getPermissions().get( 0 ), "Edit Configuration", "edit-configuration", "*" ); - assertPermission( role.getPermissions().get( 1 ), "Run Indexer", "run-indexer", "*" ); - assertPermission( role.getPermissions().get( 2 ), "Add Repository", "add-repository", "*" ); - assertPermission( role.getPermissions().get( 3 ), "Regenerate Index", "regenerate-index", "*" ); - - role = roles.get( 2 ); - assertEquals( "Trusted Developer", role.getName() ); - assertTrue( role.isAssignable() ); - assertEquals( 1, role.getChildRoleNames().size() ); - assertEquals( "System Administrator", role.getChildRoleNames().get( 0 ) ); - assertEquals( 1, role.getPermissions().size() ); - assertPermission( role.getPermissions().get( 0 ), "Run Indexer", "run-indexer", "*" ); - - role = roles.get( 3 ); - assertEquals( "Developer", role.getName() ); - assertTrue( role.isAssignable() ); - assertEquals( 1, role.getChildRoleNames().size() ); - assertEquals( "Trusted Developer", role.getChildRoleNames().get( 0 ) ); - assertEquals( 1, role.getPermissions().size() ); - assertPermission( role.getPermissions().get( 0 ), "Run Indexer", "run-indexer", "*" ); - - UserAssignment assignment = assignments.get( 0 ); - assertEquals( "bob", assignment.getPrincipal() ); - assertEquals( 1, assignment.getRoleNames().size() ); - assertEquals( "Developer", assignment.getRoleNames().get( 0 ) ); - - assignment = assignments.get( 1 ); - assertEquals( "betty", assignment.getPrincipal() ); - assertEquals( 1, assignment.getRoleNames().size() ); - assertEquals( "System Administrator", assignment.getRoleNames().get( 0 ) ); - } - - private void assertEmpty( RBACManager manager ) - throws RbacManagerException - { - assertEquals( 0, manager.getAllRoles().size() ); - assertEquals( 0, manager.getAllUserAssignments().size() ); - assertEquals( 0, manager.getAllOperations().size() ); - assertEquals( 0, manager.getAllResources().size() ); - assertEquals( 0, manager.getAllPermissions().size() ); - } - - @Test - public void testRestoreUsers() - throws Exception - { - UserManager manager = userManager; - - dataManagementTool.eraseUsersDatabase( manager ); - - assertEmpty( manager ); - - Path backupFile = targetDirectory.resolve( "users.xml" ); - - BufferedWriter fw = Files.newBufferedWriter(backupFile, StandardOpenOption.CREATE_NEW ); - - IOUtils.copy( getClass().getResourceAsStream( "/expected-users.xml" ), fw ); - - fw.close(); - - dataManagementTool.restoreUsersDatabase( manager, targetDirectory ); - - List<? extends User> users = manager.getUsers(); - assertEquals( 3, users.size() ); - - User user = users.get( 0 ); - assertEquals( "smcqueen", user.getUsername() ); - assertEquals( "bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=", user.getEncodedPassword() ); - assertEquals( "Steve McQueen", user.getFullName() ); - assertEquals( "the cooler king", user.getEmail() ); - assertEquals( 1164424661686L, user.getLastPasswordChange().getTime() ); - assertEquals( Arrays.asList( new String[]{ "bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=" } ), - user.getPreviousEncodedPasswords() ); - - user = users.get( 1 ); - assertEquals( "bob", user.getUsername() ); - assertEquals( "A0MR+q0lm554bD6Uft60ztlYZ8N1pEqXhKNM9H7SlS8=", user.getEncodedPassword() ); - assertEquals( "Sideshow Bob", user.getFullName() ); - assertEquals( "[email protected]", user.getEmail() ); - assertEquals( 1164424669526L, user.getLastPasswordChange().getTime() ); - assertEquals( Arrays.asList( new String[]{ "A0MR+q0lm554bD6Uft60ztlYZ8N1pEqXhKNM9H7SlS8=" } ), - user.getPreviousEncodedPasswords() ); - - user = users.get( 2 ); - assertEquals( "betty", user.getUsername() ); - assertEquals( "L/mA/suWallwvYzw4wyRYkn5y8zWxAITuv4sLhJLN1E=", user.getEncodedPassword() ); - assertEquals( "Betty", user.getFullName() ); - assertEquals( "[email protected]", user.getEmail() ); - assertEquals( 1164424669536L, user.getLastPasswordChange().getTime() ); - assertEquals( Arrays.asList( new String[]{ "L/mA/suWallwvYzw4wyRYkn5y8zWxAITuv4sLhJLN1E=" } ), - user.getPreviousEncodedPasswords() ); - } - - private void assertEmpty( UserManager manager ) - throws UserManagerException - { - List<? extends User> users = manager.getUsers(); - assertEquals( 0, users.size() ); - } - - @Test - public void testRestoreKeys() - throws Exception - { - KeyManager manager = keyManager; - - dataManagementTool.eraseKeysDatabase( manager ); - - assertEmpty( manager ); - - Path backupFile = targetDirectory.resolve( "keys.xml" ); - - BufferedWriter fw = Files.newBufferedWriter( backupFile, StandardOpenOption.CREATE_NEW ); - - IOUtils.copy( getClass().getResourceAsStream( "/expected-keys.xml" ), fw ); - - fw.close(); - - dataManagementTool.restoreKeysDatabase( manager, targetDirectory ); - - List<AuthenticationKey> keys = manager.getAllKeys(); - assertEquals( 3, keys.size() ); - - AuthenticationKey key = keys.get( 0 ); - assertEquals( "248df0fec5d54e3eb11339f5e81d8bd7", key.getKey() ); - assertEquals( "bob", key.getForPrincipal() ); - assertEquals( "Testing", key.getPurpose() ); - assertEquals( 1164426311921L, key.getDateCreated().getTime() ); - assertEquals( 1164427211921L, key.getDateExpires().getTime() ); - - key = keys.get( 1 ); - assertEquals( "a98dddc2ae614a7c82f8afd3ba6e39fb", key.getKey() ); - assertEquals( "betty", key.getForPrincipal() ); - assertEquals( "Something", key.getPurpose() ); - assertEquals( 1164426315657L, key.getDateCreated().getTime() ); - assertEquals( 1164427815657L, key.getDateExpires().getTime() ); - - key = keys.get( 2 ); - assertEquals( "1428d2ca3a0246f0a1d979504e351388", key.getKey() ); - assertEquals( "fred", key.getForPrincipal() ); - assertEquals( "Else", key.getPurpose() ); - assertEquals( 1164426315664L, key.getDateCreated().getTime() ); - assertEquals( 1164428115664L, key.getDateExpires().getTime() ); - } - - private void assertEmpty( KeyManager manager ) - { - assertEquals( 0, manager.getAllKeys().size() ); - } - - private String removeKeyAndTimestampVariance( String content ) - { - return removeTagContent( removeTagContent( removeTagContent( content, "dateCreated" ), "dateExpires" ), "key" ); - } - - private static String removeTimestampVariance( String content ) - { - return removeTagContent( removeTagContent( content, "lastPasswordChange" ), "accountCreationDate" ); - } - - private static String removeTagContent( String content, String field ) - { - return content.replaceAll( "<" + field + ">.*</" + field + ">", "<" + field + "></" + field + ">" ); - } - - private static void assertPermission( Permission permission, String name, String operation, String resource ) - { - assertEquals( name, permission.getName() ); - assertEquals( operation, permission.getOperation().getName() ); - assertEquals( resource, permission.getResource().getIdentifier() ); - } - - private static Path createBackupDirectory() throws IOException { - String timestamp = new SimpleDateFormat( "yyyyMMdd.HHmmss", Locale.US ).format( new Date() ); - - Path targetDirectory = Files.createTempDirectory( "redback-test" ).resolve( "./target/backups/" + timestamp ); - Files.createDirectories(targetDirectory); - - return targetDirectory; - } - -} diff --git a/redback-data-management/src/test/resources/expected-keys.xml b/redback-data-management/src/test/resources/expected-keys.xml deleted file mode 100644 index 088974c..0000000 --- a/redback-data-management/src/test/resources/expected-keys.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0"?> - -<!-- - ~ 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. - --> -<authenticationKeyDatabase> - <keys> - <key> - <key>248df0fec5d54e3eb11339f5e81d8bd7</key> - <forPrincipal>bob</forPrincipal> - <purpose>Testing</purpose> - <dateCreated>1164426311921</dateCreated> - <dateExpires>1164427211921</dateExpires> - </key> - <key> - <key>a98dddc2ae614a7c82f8afd3ba6e39fb</key> - <forPrincipal>betty</forPrincipal> - <purpose>Something</purpose> - <dateCreated>1164426315657</dateCreated> - <dateExpires>1164427815657</dateExpires> - </key> - <key> - <key>1428d2ca3a0246f0a1d979504e351388</key> - <forPrincipal>fred</forPrincipal> - <purpose>Else</purpose> - <dateCreated>1164426315664</dateCreated> - <dateExpires>1164428115664</dateExpires> - </key> - </keys> -</authenticationKeyDatabase> \ No newline at end of file diff --git a/redback-data-management/src/test/resources/expected-rbac.xml b/redback-data-management/src/test/resources/expected-rbac.xml deleted file mode 100644 index b202474..0000000 --- a/redback-data-management/src/test/resources/expected-rbac.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0"?> - -<!-- - ~ 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. - --> -<rbacDatabase> - <roles> - <role> - <name>User Administrator</name> - <assignable>true</assignable> - <permissions> - <permission name="Edit All Users"></permission> - <permission name="Remove Roles"></permission> - </permissions> - </role> - <role> - <name>System Administrator</name> - <assignable>true</assignable> - <childRoleNames> - <childRoleName>User Administrator</childRoleName> - </childRoleNames> - <permissions> - <permission name="Edit Configuration"></permission> - <permission name="Run Indexer"></permission> - <permission name="Add Repository"></permission> - <permission name="Regenerate Index"></permission> - </permissions> - </role> - <role> - <name>Trusted Developer</name> - <assignable>true</assignable> - <childRoleNames> - <childRoleName>System Administrator</childRoleName> - </childRoleNames> - <permissions> - <permission name="Run Indexer"></permission> - </permissions> - </role> - <role> - <name>Developer</name> - <assignable>true</assignable> - <childRoleNames> - <childRoleName>Trusted Developer</childRoleName> - </childRoleNames> - <permissions> - <permission name="Run Indexer"></permission> - </permissions> - </role> - </roles> - <permissions> - <permission> - <name>Edit Configuration</name> - <operation name="edit-configuration"></operation> - <resource identifier="*"></resource> - </permission> - <permission> - <name>Run Indexer</name> - <operation name="run-indexer"></operation> - <resource identifier="*"></resource> - </permission> - <permission> - <name>Add Repository</name> - <operation name="add-repository"></operation> - <resource identifier="*"></resource> - </permission> - <permission> - <name>Edit All Users</name> - <operation name="edit-all-users"></operation> - <resource identifier="*"></resource> - </permission> - <permission> - <name>Remove Roles</name> - <operation name="remove-roles"></operation> - <resource identifier="*"></resource> - </permission> - <permission> - <name>Regenerate Index</name> - <operation name="regenerate-index"></operation> - <resource identifier="*"></resource> - </permission> - </permissions> - <operations> - <operation> - <name>add-repository</name> - </operation> - <operation> - <name>edit-repository</name> - </operation> - <operation> - <name>delete-repository</name> - </operation> - <operation> - <name>edit-configuration</name> - </operation> - <operation> - <name>run-indexer</name> - </operation> - <operation> - <name>regenerate-index</name> - </operation> - <operation> - <name>get-reports</name> - </operation> - <operation> - <name>regenerate-reports</name> - </operation> - <operation> - <name>edit-user</name> - </operation> - <operation> - <name>edit-all-users</name> - </operation> - <operation> - <name>remove-roles</name> - </operation> - </operations> - <resources> - <resource> - <identifier>*</identifier> - <permanent>true</permanent> - </resource> - </resources> - <userAssignments> - <userAssignment> - <principal>bob</principal> - <roleNames> - <roleName>Developer</roleName> - </roleNames> - </userAssignment> - <userAssignment> - <principal>betty</principal> - <roleNames> - <roleName>System Administrator</roleName> - </roleNames> - </userAssignment> - </userAssignments> -</rbacDatabase> diff --git a/redback-data-management/src/test/resources/expected-users.xml b/redback-data-management/src/test/resources/expected-users.xml deleted file mode 100644 index 1584278..0000000 --- a/redback-data-management/src/test/resources/expected-users.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> - -<!-- - ~ 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. - --> -<userDatabase> - <users> - <user> - <username>smcqueen</username> - <encodedPassword>bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=</encodedPassword> - <fullName>Steve McQueen</fullName> - <email>the cooler king</email> - <lastPasswordChange>1164424661686</lastPasswordChange> - <passwordChangeRequired>true</passwordChangeRequired> - <previousEncodedPasswords> - <previousEncodedPassword>bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=</previousEncodedPassword> - </previousEncodedPasswords> - <accountCreationDate>1164424661686</accountCreationDate> - </user> - <user> - <username>bob</username> - <encodedPassword>A0MR+q0lm554bD6Uft60ztlYZ8N1pEqXhKNM9H7SlS8=</encodedPassword> - <fullName>Sideshow Bob</fullName> - <email>[email protected]</email> - <lastPasswordChange>1164424669526</lastPasswordChange> - <passwordChangeRequired>true</passwordChangeRequired> - <previousEncodedPasswords> - <previousEncodedPassword>A0MR+q0lm554bD6Uft60ztlYZ8N1pEqXhKNM9H7SlS8=</previousEncodedPassword> - </previousEncodedPasswords> - <accountCreationDate>1164424661686</accountCreationDate> - </user> - <user> - <username>betty</username> - <encodedPassword>L/mA/suWallwvYzw4wyRYkn5y8zWxAITuv4sLhJLN1E=</encodedPassword> - <fullName>Betty</fullName> - <email>[email protected]</email> - <lastPasswordChange>1164424669536</lastPasswordChange> - <passwordChangeRequired>true</passwordChangeRequired> - <previousEncodedPasswords> - <previousEncodedPassword>L/mA/suWallwvYzw4wyRYkn5y8zWxAITuv4sLhJLN1E=</previousEncodedPassword> - </previousEncodedPasswords> - <accountCreationDate>1164424661686</accountCreationDate> - </user> - </users> -</userDatabase> diff --git a/redback-data-management/src/test/resources/org/apache/archiva/redback/config-defaults.properties b/redback-data-management/src/test/resources/org/apache/archiva/redback/config-defaults.properties deleted file mode 100644 index f749aae..0000000 --- a/redback-data-management/src/test/resources/org/apache/archiva/redback/config-defaults.properties +++ /dev/null @@ -1,135 +0,0 @@ -# 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. - - - - -# -------------------------------------------------------------------- -# Application Configuration - -application.timestamp=EEE d MMM yyyy HH:mm:ss Z - -# -------------------------------------------------------------------- -# JDBC Setup -# keys restore need derby -jdbc.url=jdbc:derby:memory:users-tests;create=true -jdbc.driver.name=org.apache.derby.jdbc.EmbeddedDriver -#jdbc.driver.name=org.hsqldb.jdbcDriver -#jdbc.url=jdbc:hsqldb:mem:redback-test - -jdbc.username=sa -jdbc.password= - -# -------------------------------------------------------------------- -# Email Settings - -email.jndiSessionName=java:comp/env/mail/Session -email.smtp.host=localhost -email.smtp.port=25 -email.smtp.ssl.enabled=false -email.smtp.tls.enabled=false -email.smtp.username= -email.smtp.password= - -#TODO: move description elsewhere, remove bad default -# All emails sent by the system will be from the following address -#email.from.address=${user.name}@localhost -# All emails sent by the system will be from the following user name (used in conjunction with address) -#email.from.name=Unconfigured Username - -# If all email addresses (from new user registration) require an account validation email. -email.validation.required=true -# Timeout (in minutes) for the key generated for an email validation to remain valid. -# 2880 minutes = 48 hours -email.validation.timeout=2880 -# The subject line for the email message. -email.validation.subject=Welcome - -#TODO: move description elsewhere, remove bad default -# Get the Feedback to use for any outgoing emails. -# NOTE: if feedback.path starts with a "/" it is appended to the end of the value provided in application.url -# This value can be in the format/syntax of "/feedback.action" or even "mailto:[email protected]" -#email.feedback.path=/feedback.action - -#Set the application base URL. The default is to derive it from the HTTP request -#application.url=http://myurl.mycompany.com - -# -------------------------------------------------------------------- -# Auto Login Settings - -security.rememberme.enabled=true -# Timeout in days ( 365 days = 1 year ) -security.rememberme.timeout=7 - -# Single Sign On -# Timeout in minutes -security.signon.timeout=30 - -# -------------------------------------------------------------------- -# Default Username Values -redback.default.admin=admin -redback.default.guest=guest - -# -------------------------------------------------------------------- -# Security Policies - -#security.policy.password.encoder= -security.policy.password.previous.count=6 -security.policy.password.expiration.enabled=true -security.policy.password.expiration.days=90 -security.policy.password.expiration.notify.days=10 -security.policy.allowed.login.attempt=10 - -# turn off the perclick enforcement of various security policies, slightly -# more heavyweight since it will ensure that the User object on each click -# is up to date -security.policy.strict.enforcement.enabled=true -security.policy.strict.force.password.change.enabled=true - -# -------------------------------------------------------------------- -# Password Rules -security.policy.password.rule.alphanumeric.enabled=false -security.policy.password.rule.alphacount.enabled=true -security.policy.password.rule.alphacount.minimum=1 -security.policy.password.rule.characterlength.enabled=true -security.policy.password.rule.characterlength.minimum=1 -security.policy.password.rule.characterlength.maximum=24 -security.policy.password.rule.musthave.enabled=true -security.policy.password.rule.numericalcount.enabled=true -security.policy.password.rule.numericalcount.minimum=1 -security.policy.password.rule.reuse.enabled=true -security.policy.password.rule.nowhitespace.enabled=true - -# -------------------------------------------------------------------- -# ldap settings -# -ldap.bind.authenticator.enabled=false - -# ldap options for configuration via properties file -#ldap.config.hostname= -#ldap.config.port= -#ldap.config.base.dn= -#ldap.config.context.factory= -#ldap.config.bind.dn= -#ldap.config.password= -#ldap.config.authentication.method= - -# config parameter for the ConfigurableUserManager -user.manager.impl=cached - - - diff --git a/redback-data-management/src/test/resources/spring-context.xml b/redback-data-management/src/test/resources/spring-context.xml deleted file mode 100644 index 236cf8b..0000000 --- a/redback-data-management/src/test/resources/spring-context.xml +++ /dev/null @@ -1,64 +0,0 @@ -<?xml version="1.0"?> - -<!-- - ~ 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. - --> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" - xsi:schemaLocation="http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans-3.0.xsd - http://www.springframework.org/schema/context - http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> - - <context:property-placeholder system-properties-mode="OVERRIDE"/> - - <alias name="userConfiguration#redback" alias="userConfiguration#default"/> - - <!-- -*** jpa init *** -Needed because of the dependency redback-user-cache -> redback-user-jpa -*** ---> - <bean name="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> - <property name="jpaVendorAdapter" > - <bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter" /> - </property> - <property name="persistenceXmlLocation" value="classpath:META-INF/persistence-hsqldb.xml" /> - <property name="jpaPropertyMap"> - <map> - <entry key="openjpa.ConnectionURL" value="jdbc:hsqldb:mem:redback_database" /> - <entry key="openjpa.ConnectionDriverName" value="org.hsqldb.jdbcDriver" /> - <entry key="openjpa.ConnectionUserName" value="sa" /> - <entry key="openjpa.ConnectionPassword" value="" /> - <entry key="openjpa.Log" value="slf4j" /> - <entry key="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" /> - <entry key="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/> - </map> - </property> - - </bean> - - <bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" > - <property name="entityManagerFactory" ref="entityManagerFactory" /> - </bean> - - <tx:annotation-driven /> - <!-- **** jpa init *** --> -</beans> \ No newline at end of file
