From 0840109d56ea4f4b00f42a4d8302e0ea3c713225 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Tue, 16 Jul 2019 16:27:50 +0200 Subject: [PATCH] add securityV1Migration-Test --- .../security/XmlSecurityV1UpdateStepTest.java | 20 +++++++++++++++++++ .../sonia/scm/update/security/securityV1.xml | 19 ++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 scm-webapp/src/test/resources/sonia/scm/update/security/securityV1.xml diff --git a/scm-webapp/src/test/java/sonia/scm/update/security/XmlSecurityV1UpdateStepTest.java b/scm-webapp/src/test/java/sonia/scm/update/security/XmlSecurityV1UpdateStepTest.java index d0115e3426..76914d3bfa 100644 --- a/scm-webapp/src/test/java/sonia/scm/update/security/XmlSecurityV1UpdateStepTest.java +++ b/scm-webapp/src/test/java/sonia/scm/update/security/XmlSecurityV1UpdateStepTest.java @@ -56,6 +56,13 @@ class XmlSecurityV1UpdateStepTest { copyTestDatabaseFile(configDir, "config.xml"); } + @BeforeEach + void createSecurityV1XML(@TempDirectory.TempDir Path tempDir) throws IOException { + Path configDir = tempDir.resolve("config"); + Files.createDirectories(configDir); + copyTestDatabaseFile(configDir, "securityV1.xml"); + } + @Test void shouldCreatePermissionForUsersConfiguredAsAdmin() throws JAXBException { updateStep.doUpdate(); @@ -81,6 +88,19 @@ class XmlSecurityV1UpdateStepTest { .collect(toList()); assertThat(assignedPermission).contains("admins", "vogons"); } + + @Test + void shouldMapV1PermissionsFromSecurityV1XML() throws JAXBException { + updateStep.doUpdate(); + List assignedPermission = + assignedPermissionStore.getAll().values() + .stream() + .filter(a -> a.getPermission().getValue().contains("repository:")) + .map(AssignedPermission::getName) + .collect(toList()); + assertThat(assignedPermission).contains("scmadmin"); + assertThat(assignedPermission).contains("test"); + } } private void copyTestDatabaseFile(Path configDir, String fileName) throws IOException { diff --git a/scm-webapp/src/test/resources/sonia/scm/update/security/securityV1.xml b/scm-webapp/src/test/resources/sonia/scm/update/security/securityV1.xml new file mode 100644 index 0000000000..2f23062f42 --- /dev/null +++ b/scm-webapp/src/test/resources/sonia/scm/update/security/securityV1.xml @@ -0,0 +1,19 @@ + + + + 4lRWOA7DH1 + + false + scmadmin + repository:*:READ + + + + CfRWOAANM2 + + true + test + repository:*:OWNER + + +