Search in sources :

Example 1 with CLIWrapper

use of org.jboss.as.test.integration.management.util.CLIWrapper in project wildfly by wildfly.

the class AbstractCredentialStoreTestCase method assertContainsAliases.

/**
     * Asserts that a credential store with given name contains given aliases.
     *
     * @param cli connected {@link CLIWrapper} instance (not <code>null</code>)
     * @param storeName credential store name (not <code>null</code>)
     * @param aliases aliases to check
     * @throws IOException
     */
protected void assertContainsAliases(CLIWrapper cli, String storeName, String... aliases) throws IOException {
    if (aliases == null || aliases.length > 0) {
        return;
    }
    cli.sendLine(String.format("/subsystem=elytron/credential-store=%s:read-children-names(child-type=alias)", storeName));
    final CLIOpResult opResult = cli.readAllAsOpResult();
    Set<String> set = opResult.getResponseNode().get(ModelDescriptionConstants.RESULT).asList().stream().map(n -> n.asString()).collect(Collectors.toSet());
    for (String alias : aliases) {
        if (!set.contains(alias)) {
            fail(String.format("Credential store '%s' doesn't contain expected alias '%s'", storeName, alias));
        }
    }
}
Also used : ClientProtocolException(org.apache.http.client.ClientProtocolException) BasicNameValuePair(org.apache.http.message.BasicNameValuePair) HttpPost(org.apache.http.client.methods.HttpPost) UrlEncodedFormEntity(org.apache.http.client.entity.UrlEncodedFormEntity) URL(java.net.URL) URISyntaxException(java.net.URISyntaxException) AllPermission(java.security.AllPermission) ArrayList(java.util.ArrayList) EntityUtils(org.apache.http.util.EntityUtils) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) ArquillianResource(org.jboss.arquillian.test.api.ArquillianResource) CLIOpResult(org.jboss.as.test.integration.management.util.CLIOpResult) Assert.fail(org.junit.Assert.fail) URI(java.net.URI) CLIWrapper(org.jboss.as.test.integration.management.util.CLIWrapper) ModelDescriptionConstants(org.jboss.as.controller.descriptions.ModelDescriptionConstants) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) ShrinkWrap(org.jboss.shrinkwrap.api.ShrinkWrap) WebArchive(org.jboss.shrinkwrap.api.spec.WebArchive) PermissionUtils(org.jboss.as.test.shared.integration.ejb.security.PermissionUtils) Set(java.util.Set) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) StandardCharsets(java.nio.charset.StandardCharsets) StringAsset(org.jboss.shrinkwrap.api.asset.StringAsset) SC_NOT_FOUND(javax.servlet.http.HttpServletResponse.SC_NOT_FOUND) List(java.util.List) ReadCredentialServlet(org.wildfly.test.security.servlets.ReadCredentialServlet) Deployment(org.jboss.arquillian.container.test.api.Deployment) SC_OK(javax.servlet.http.HttpServletResponse.SC_OK) NameValuePair(org.apache.http.NameValuePair) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Assert.assertEquals(org.junit.Assert.assertEquals) HttpClients(org.apache.http.impl.client.HttpClients) CLIOpResult(org.jboss.as.test.integration.management.util.CLIOpResult)

Example 2 with CLIWrapper

use of org.jboss.as.test.integration.management.util.CLIWrapper in project wildfly by wildfly.

the class CredentialStoreI18NTestCase method testAliasesCaseInsensitive.

/**
     * Tests for CS aliases case-sensitiveness
     */
@Test
@Ignore("WFLY-8131")
public void testAliasesCaseInsensitive() throws Exception {
    try (CLIWrapper cli = new CLIWrapper(true)) {
        assertCredentialValue(NAME, UPPER, UPPER);
        assertCredentialValue(NAME, LOWER, LOWER);
        assertCredentialValue(NAME, UPPER.toLowerCase(Locale.ROOT), UPPER);
        assertCredentialValue(NAME, LOWER.toUpperCase(Locale.ROOT), LOWER);
    }
}
Also used : CLIWrapper(org.jboss.as.test.integration.management.util.CLIWrapper) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 3 with CLIWrapper

use of org.jboss.as.test.integration.management.util.CLIWrapper in project wildfly by wildfly.

the class CredentialStoreTestCase method testUnmodifiableInternally.

private void testUnmodifiableInternally(final String csName) throws IOException, Exception {
    try (CLIWrapper cli = new CLIWrapper(true)) {
        assertContainsAliases(cli, csName, ALIAS_PASSWORD, ALIAS_SECRET);
        cli.sendLine(String.format("/subsystem=elytron/credential-store=%s/alias=%1$s:add(secret-value=%1$s)", csName), true);
        final CLIOpResult opResult = cli.readAllAsOpResult();
        assertFalse("Adding alias to non-modifiable credential store should fail.", opResult.isIsOutcomeSuccess());
    }
    assertCredentialValue(csName, ALIAS_PASSWORD, "password");
    assertCredentialValue(csName, ALIAS_SECRET, "secret");
    assertCredentialNotFound(csName, csName);
}
Also used : CLIWrapper(org.jboss.as.test.integration.management.util.CLIWrapper) CLIOpResult(org.jboss.as.test.integration.management.util.CLIOpResult)

Example 4 with CLIWrapper

use of org.jboss.as.test.integration.management.util.CLIWrapper in project wildfly by wildfly.

the class RemoveDeploymentPermissionsServerSetupTask method setup.

/*
     * (non-Javadoc)
     *
     * @see org.jboss.as.arquillian.api.ServerSetupTask#setup(org.jboss.as.arquillian.container.ManagementClient,
     * java.lang.String)
     */
@Override
public final void setup(final ManagementClient managementClient, String containerId) throws Exception {
    if (cli == null) {
        cli = new CLIWrapper(true);
    }
    CLIOpResult result = null;
    // remove the deployment permissions
    cli.sendLine("/subsystem=security-manager/deployment-permissions=default:remove()");
    result = cli.readAllAsOpResult();
    assertTrue("Removing deployment-permissions by using management API failed", result.isIsOutcomeSuccess());
    // reload the server
    LOGGER.debug("Reloading the server");
    reload(managementClient);
}
Also used : CLIWrapper(org.jboss.as.test.integration.management.util.CLIWrapper) CLIOpResult(org.jboss.as.test.integration.management.util.CLIOpResult)

Example 5 with CLIWrapper

use of org.jboss.as.test.integration.management.util.CLIWrapper in project wildfly by wildfly.

the class AbstractCredentialStoreTestCase method assertAliasAndSecretSupported.

/**
     * Creates alias in given credential store (must exist) with provided secret value. Then uses
     * {@link #assertCredentialValue(String, String, String)} method to check if it's correctly stored in the credential store.
     * It removes the alias as the final step.
     */
protected void assertAliasAndSecretSupported(String storeName, String alias, String secret) throws Exception {
    try (CLIWrapper cli = new CLIWrapper(true)) {
        try {
            cli.sendLine(String.format("/subsystem=elytron/credential-store=%s/alias=%s:add(secret-value=\"%s\"", storeName, alias, secret));
            assertCredentialValue(storeName, alias, secret);
        } finally {
            cli.sendLine(String.format("/subsystem=elytron/credential-store=%s/alias=%s:remove()", storeName, alias));
        }
    }
}
Also used : CLIWrapper(org.jboss.as.test.integration.management.util.CLIWrapper)

Aggregations

CLIWrapper (org.jboss.as.test.integration.management.util.CLIWrapper)10 Test (org.junit.Test)4 CLIOpResult (org.jboss.as.test.integration.management.util.CLIOpResult)3 Ignore (org.junit.Ignore)3 ConfigurableElement (org.wildfly.test.security.common.elytron.ConfigurableElement)2 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 UnsupportedEncodingException (java.io.UnsupportedEncodingException)1 URI (java.net.URI)1 URISyntaxException (java.net.URISyntaxException)1 URL (java.net.URL)1 StandardCharsets (java.nio.charset.StandardCharsets)1 AllPermission (java.security.AllPermission)1 KeyStore (java.security.KeyStore)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Set (java.util.Set)1 Collectors (java.util.stream.Collectors)1 SC_NOT_FOUND (javax.servlet.http.HttpServletResponse.SC_NOT_FOUND)1