diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-03-11 18:29:45 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-03-11 18:29:45 +0000 |
| commit | 66de8678fb2ab2af8dc5b6d653402b1efd70779b (patch) | |
| tree | 11e91fd6e6305e3b008d87bccbd81d1d8e29a15c /qpid/java/systests/src | |
| parent | 8f8a9146dbb5a7116ecd24c1003bd200623a7e03 (diff) | |
| download | qpid-python-66de8678fb2ab2af8dc5b6d653402b1efd70779b.tar.gz | |
QPID-4638: Add UI to add/delete/update authentication providers into java broker web management console
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1455273 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests/src')
| -rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java | 98 |
1 files changed, 9 insertions, 89 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java index 157945f2be..89645507c4 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java @@ -37,9 +37,6 @@ import org.apache.qpid.test.utils.TestBrokerConfiguration; public class AuthenticationProviderRestTest extends QpidRestTestCase { - private static final String PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER = "PrincipalDatabaseAuthenticationManager"; - private static final String AUTHENTICATION_MANAGER = "AuthenticationManager"; - public void testGet() throws Exception { List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider"); @@ -47,11 +44,11 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase assertEquals("Unexpected number of providers", 1, providerDetails.size()); for (Map<String, Object> provider : providerDetails) { - assertProvider(PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, provider); + assertProvider(true, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, provider); Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("/rest/authenticationprovider/" + provider.get(AuthenticationProvider.NAME)); assertNotNull("Cannot load data for " + provider.get(AuthenticationProvider.NAME), data); - assertProvider(PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, data); + assertProvider(true, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, data); } } @@ -72,7 +69,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase assertNotNull("Providers details cannot be null", providerDetails); assertEquals("Unexpected number of providers", 1, providerDetails.size()); Map<String, Object> provider = providerDetails.get(0); - assertProvider(PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, provider); + assertProvider(true, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, provider); // provider should exists after broker restart restartBroker(); @@ -95,7 +92,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase assertNotNull("Providers details cannot be null", providerDetails); assertEquals("Unexpected number of providers", 1, providerDetails.size()); Map<String, Object> provider = providerDetails.get(0); - assertProvider(AUTHENTICATION_MANAGER, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE, provider); + assertProvider(false, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE, provider); } public void testDeleteOfDefaultAuthenticationProviderFails() throws Exception @@ -108,7 +105,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); assertNotNull("Providers details cannot be null", providerDetails); assertEquals("Unexpected number of providers", 1, providerDetails.size()); - assertProvider(PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, providerDetails.get(0)); + assertProvider(true, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, providerDetails.get(0)); } public void testDeleteOfUsedAuthenticationProviderFails() throws Exception @@ -138,7 +135,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); assertNotNull("Providers details cannot be null", providerDetails); assertEquals("Unexpected number of providers", 1, providerDetails.size()); - assertProvider(AUTHENTICATION_MANAGER, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE, providerDetails.get(0)); + assertProvider(false, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE, providerDetails.get(0)); } public void testDeleteOfUnusedAuthenticationProvider() throws Exception @@ -160,82 +157,7 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase assertEquals("Unexpected number of providers", 0, providerDetails.size()); } - public void testPutUpdateAuthenticationProvider() throws Exception - { - File principalDatabase = getRestTestHelper().createTemporaryPasswdFile(new String[]{"admin2", "guest2", "test2"}); - - String providerName = "test-provider"; - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(AuthenticationProvider.NAME, providerName); - attributes.put(AuthenticationProvider.TYPE, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE); - attributes.put(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH, principalDatabase.getAbsolutePath()); - - int responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName, "PUT", attributes); - assertEquals("Unexpected response code", 201, responseCode); - - List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); - assertNotNull("Providers details cannot be null", providerDetails); - assertEquals("Unexpected number of providers", 1, providerDetails.size()); - - String[] users = new String[]{"admin3", "guest3", "test3"}; - File principalDatabase2 = getRestTestHelper().createTemporaryPasswdFile(users); - - Map<String, Object> newAttributes = new HashMap<String, Object>(); - newAttributes.put(AuthenticationProvider.NAME, providerName); - newAttributes.put(AuthenticationProvider.TYPE, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE); - newAttributes.put(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH, principalDatabase2.getAbsolutePath()); - - responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName, "PUT", newAttributes); - assertEquals("Unexpected response code", 200, responseCode); - - providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); - assertNotNull("Providers details cannot be null", providerDetails); - assertEquals("Unexpected number of providers", 1, providerDetails.size()); - - List<Map<String, Object>> userData = getRestTestHelper().getJsonAsList("/rest/user/" + providerName); - assertEquals(3, userData.size()); - for (int i = 0; i < users.length; i++) - { - boolean userFound = false; - for (Map<String, Object> userEntry : userData) - { - String name = (String)userEntry.get(User.NAME); - if (users[i].equals(name)) - { - userFound = true; - break; - } - } - assertTrue("User " + users[i] + " is not found", userFound); - } - } - - public void testPutUpdateAuthenticationProviderToDifferrentCategoryFails() throws Exception - { - File principalDatabase = getRestTestHelper().createTemporaryPasswdFile(new String[]{"admin2", "guest2", "test2"}); - - String providerName = "test-provider"; - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(AuthenticationProvider.NAME, providerName); - attributes.put(AuthenticationProvider.TYPE, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE); - attributes.put(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH, principalDatabase.getAbsolutePath()); - - int responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName, "PUT", attributes); - assertEquals("Unexpected response code", 201, responseCode); - - List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); - assertNotNull("Providers details cannot be null", providerDetails); - assertEquals("Unexpected number of providers", 1, providerDetails.size()); - - Map<String, Object> newAttributes = new HashMap<String, Object>(); - newAttributes.put(AuthenticationProvider.NAME, providerName); - newAttributes.put(AuthenticationProvider.TYPE, AnonymousAuthenticationManagerFactory.PROVIDER_TYPE); - - responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName, "PUT", newAttributes); - assertEquals("Unexpected response code", 409, responseCode); - } - - private void assertProvider(String category, String subType, Map<String, Object> provider) + private void assertProvider(boolean managesPrincipals, String type, Map<String, Object> provider) { Asserts.assertAttributesPresent(provider, AuthenticationProvider.AVAILABLE_ATTRIBUTES, AuthenticationProvider.CREATED, AuthenticationProvider.UPDATED, AuthenticationProvider.DESCRIPTION, @@ -246,12 +168,10 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase LifetimePolicy.PERMANENT.name(), provider.get(AuthenticationProvider.LIFETIME_POLICY)); assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.DURABLE, Boolean.TRUE, provider.get(AuthenticationProvider.DURABLE)); - assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.CATEGORY, category, - provider.get(AuthenticationProvider.CATEGORY)); - assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.TYPE, subType, + assertEquals("Unexpected value of provider attribute " + AuthenticationProvider.TYPE, type, provider.get(AuthenticationProvider.TYPE)); - if (PRINCIPAL_DATABASE_AUTHENTICATION_MANAGER.equals(category)) + if (managesPrincipals) { @SuppressWarnings("unchecked") List<Map<String, Object>> users = (List<Map<String, Object>>) provider.get("users"); |
