keycloak-memoizeit

Merge pull request #5210 from vramik/KEYCLOAK-6991-fix-test-not-to-affect-other-tests KEYCLOAK-6991

5/17/2018 7:08:45 AM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
index 0afc0d1..3ba7082 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/TestContext.java
@@ -133,6 +133,10 @@ public final class TestContext {
         this.testRealmReps = testRealmReps;
     }
 
+    public void addTestRealmToTestRealmReps(RealmRepresentation testRealmRep) {
+        this.testRealmReps.add(testRealmRep);
+    }
+
     public boolean isInitialized() {
         return initialized;
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
index 793305f..a7a7cbb 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/exportimport/ExportImportTest.java
@@ -174,20 +174,35 @@ public class ExportImportTest extends AbstractKeycloakTest {
         // import a realm with clients without roles
         importRealmFromFile("/import/partial-import.json");
         Assert.assertTrue("Imported realm hasn't been found!", isRealmPresent("partial-import"));
+        addTestRealmToTestRealmReps("partial-import");
 
         // import a realm with clients without roles
         importRealmFromFile("/import/import-without-roles.json");
         Assert.assertTrue("Imported realm hasn't been found!", isRealmPresent("import-without-roles"));
+        addTestRealmToTestRealmReps("import-without-roles");
 
         // import a realm with roles without clients
         importRealmFromFile("/import/import-without-clients.json");
         Assert.assertTrue("Imported realm hasn't been found!", isRealmPresent("import-without-clients"));
+        addTestRealmToTestRealmReps("import-without-clients");
     }
 
     private boolean isRealmPresent(String realmId) {
         return adminClient.realms().findAll().stream().filter(realm -> realmId.equals(realm.getId())).findFirst().isPresent();
     }
-    
+
+    /*
+     * non-JavaDoc
+     *
+     * Adds a testTealm to TestContext.testRealmReps (which are after testClass removed)
+     * 
+     * It prevents from affecting other tests. (auth-server-undertow)
+     * 
+     */
+    private void addTestRealmToTestRealmReps(String realm) {
+        testContext.addTestRealmToTestRealmReps(adminClient.realms().realm(realm).toRepresentation());
+    }
+
     private void testFullExportImport() throws LifecycleException {
         testingClient.testing().exportImport().setAction(ExportImportConfig.ACTION_EXPORT);
         testingClient.testing().exportImport().setRealmName("");
@@ -311,7 +326,7 @@ public class ExportImportTest extends AbstractKeycloakTest {
     private void clearExportImportProperties() {
         // Clear export/import properties after test
         Properties systemProps = System.getProperties();
-        Set<String> propsToRemove = new HashSet<String>();
+        Set<String> propsToRemove = new HashSet<>();
 
         for (Object key : systemProps.keySet()) {
             if (key.toString().startsWith(ExportImportConfig.PREFIX)) {