summaryrefslogtreecommitdiff
path: root/qpid/java/systests/src
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-03-11 18:29:45 +0000
committerAlex Rudyy <orudyy@apache.org>2013-03-11 18:29:45 +0000
commit66de8678fb2ab2af8dc5b6d653402b1efd70779b (patch)
tree11e91fd6e6305e3b008d87bccbd81d1d8e29a15c /qpid/java/systests/src
parent8f8a9146dbb5a7116ecd24c1003bd200623a7e03 (diff)
downloadqpid-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.java98
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");