diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-04-25 15:35:25 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-04-25 15:35:25 +0000 |
| commit | ef33e61297ec7ea22d8c283e45d4f6d90f417f64 (patch) | |
| tree | a21cd4a39cfcab3af76cbbb817810e9d440afc07 /qpid/java/systests | |
| parent | 874b973366824fba1ae502b10c9a5b66c11e4779 (diff) | |
| download | qpid-python-ef33e61297ec7ea22d8c283e45d4f6d90f417f64.tar.gz | |
QPID-4596: Call AuthenticationManager#onCreate() only when authentication provider is created
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1475825 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests')
| -rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java | 46 |
1 files changed, 46 insertions, 0 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 09408572d7..97c75d8d80 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 @@ -169,6 +169,52 @@ public class AuthenticationProviderRestTest extends QpidRestTestCase assertEquals("Unexpected number of providers", 0, providerDetails.size()); } + public void testCreateAndDeletePasswordAuthenticationProviderWithNonExistingFile() throws Exception + { + stopBroker(); + getBrokerConfiguration().setSaved(false); + getBrokerConfiguration().removeObjectConfiguration(TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); + getBrokerConfiguration().setObjectAttribute(TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT, Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); + getBrokerConfiguration().setObjectAttribute(TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); + + startBroker(); + + File file = new File(TMP_FOLDER + File.separator + getTestName()); + if (file.exists()) + { + file.delete(); + } + assertFalse("File " + file.getAbsolutePath() + " should not exist", file.exists()); + + // create provider + 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, file.getAbsolutePath()); + + int responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName, "PUT", attributes); + assertEquals("Password provider was not created", 201, responseCode); + + + Map<String, Object> providerDetails = getRestTestHelper().getJsonAsSingletonList("/rest/authenticationprovider/" + providerName); + assertNotNull("Providers details cannot be null", providerDetails); + assertEquals("Unexpected name", providerName, providerDetails.get(AuthenticationProvider.NAME)); + assertEquals("Unexpected type", PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE, providerDetails.get(AuthenticationProvider.TYPE)); + assertEquals("Unexpected path", file.getAbsolutePath(), providerDetails.get(PlainPasswordFileAuthenticationManagerFactory.ATTRIBUTE_PATH)); + + assertTrue("User file should be created", file.exists()); + + responseCode = getRestTestHelper().submitRequest("/rest/authenticationprovider/" + providerName , "DELETE", null); + assertEquals("Unexpected response code for provider deletion", 200, responseCode); + + List<Map<String, Object>> providers = getRestTestHelper().getJsonAsList("/rest/authenticationprovider/" + providerName); + assertNotNull("Providers details cannot be null", providers); + assertEquals("Unexpected number of providers", 0, providers.size()); + + assertFalse("File " + file.getAbsolutePath() + " should be deleted", file.exists()); + } + private void assertProvider(boolean managesPrincipals, String type, Map<String, Object> provider) { Asserts.assertAttributesPresent(provider, AuthenticationProvider.AVAILABLE_ATTRIBUTES, |
