Skip to content

Commit

Permalink
Zone switching tests and docs for GET mfa-provider
Browse files Browse the repository at this point in the history
  • Loading branch information
Bharath Sekar authored and Pivotal committed Oct 11, 2017
1 parent 8366bbe commit 8013e9e
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 3 deletions.
Expand Up @@ -15,22 +15,31 @@
import org.springframework.restdocs.headers.HeaderDescriptor;
import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders;
import org.springframework.restdocs.payload.FieldDescriptor;
import org.springframework.restdocs.request.ParameterDescriptor;
import org.springframework.restdocs.request.RequestDocumentation;
import org.springframework.restdocs.snippet.Snippet;
import org.springframework.security.oauth2.common.util.RandomValueStringGenerator;
import org.springframework.test.web.servlet.ResultActions;

import static org.cloudfoundry.identity.uaa.mfa_provider.MfaProvider.MfaProviderType.GOOGLE_AUTHENTICATOR;
import static org.cloudfoundry.identity.uaa.test.SnippetUtils.*;
import static org.cloudfoundry.identity.uaa.test.SnippetUtils.fieldWithPath;
import static org.cloudfoundry.identity.uaa.test.SnippetUtils.parameterWithName;
import static org.cloudfoundry.identity.uaa.test.SnippetUtils.subFields;
import static org.cloudfoundry.identity.uaa.util.JsonUtils.serializeExcludingProperties;
import static org.springframework.http.MediaType.APPLICATION_JSON;
import static org.springframework.restdocs.headers.HeaderDocumentation.headerWithName;
import static org.springframework.restdocs.headers.HeaderDocumentation.requestHeaders;
import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.*;
import static org.springframework.restdocs.payload.JsonFieldType.*;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
import static org.springframework.restdocs.payload.JsonFieldType.BOOLEAN;
import static org.springframework.restdocs.payload.JsonFieldType.NUMBER;
import static org.springframework.restdocs.payload.JsonFieldType.STRING;
import static org.springframework.restdocs.payload.PayloadDocumentation.requestFields;
import static org.springframework.restdocs.payload.PayloadDocumentation.responseFields;
import static org.springframework.restdocs.request.RequestDocumentation.pathParameters;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

Expand Down
Expand Up @@ -94,6 +94,43 @@ public void testRetrieveMfaProviderById() throws Exception {
Assert.assertEquals(JsonUtils.writeValueAsString(createdProvider), result.getResponse().getContentAsString());
}

@Test
public void testCreateMfaForOtherZone() throws Exception{
IdentityZone identityZone = MockMvcUtils.utils().createZoneUsingWebRequest(getMockMvc(), adminToken);

MfaProvider mfaProvider = constructGoogleProvider();
MvcResult mfaResponse = getMockMvc().perform(
post("/mfa-providers")
.header("Authorization", "Bearer " + adminToken)
.header(IdentityZoneSwitchingFilter.HEADER, identityZone.getId())
.contentType(APPLICATION_JSON)
.content(JsonUtils.writeValueAsString(mfaProvider))).andReturn();
Assert.assertEquals(HttpStatus.CREATED.value(), mfaResponse.getResponse().getStatus());
}

@Test
public void testGetMfaInOtherZone() throws Exception{
IdentityZone identityZone = MockMvcUtils.utils().createZoneUsingWebRequest(getMockMvc(), adminToken);

MfaProvider mfaProvider = constructGoogleProvider();
MvcResult createResult = getMockMvc().perform(
post("/mfa-providers")
.header("Authorization", "Bearer " + adminToken)
.header(IdentityZoneSwitchingFilter.HEADER, identityZone.getId())
.contentType(APPLICATION_JSON)
.content(JsonUtils.writeValueAsString(mfaProvider))).andReturn();
mfaProvider = JsonUtils.readValue(createResult.getResponse().getContentAsString(), MfaProvider.class);


MvcResult mfaListResult = getMockMvc().perform(
get("/mfa-providers")
.header("Authorization", "Bearer " + adminToken)
.header(IdentityZoneSwitchingFilter.HEADER, identityZone.getId())).andReturn();
List<Map> mfaProviders = JsonUtils.readValue(mfaListResult.getResponse().getContentAsString(), List.class);
List providerIds = mfaProviders.stream().map(provider -> provider.get("id")).collect(Collectors.toList());
assertTrue(providerIds.contains(mfaProvider.getId()));
}

@Test
public void testRetrieveMfaProviderByIdInvalid() throws Exception {
MvcResult authorization = getMockMvc().perform(
Expand Down

0 comments on commit 8013e9e

Please sign in to comment.