diff options
author | Ittay Stern <ittay.stern@att.com> | 2020-02-16 16:41:11 +0200 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2020-02-16 17:14:44 +0200 |
commit | 87b8ba7260d6e358ce824efd5135584874977cb6 (patch) | |
tree | ee009f753159a7226fd2989328d9e8388dbcd316 /vid-automation/src/test/java/org | |
parent | fa2918d945c6fad84055caca8912d2efe242ed6f (diff) |
Test filter owning-entities from /category_parameter by permissions
Issue-ID: VID-758
Change-Id: I9b5dc8906067c4f077ba2e03073e6dface6aa86c
Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-automation/src/test/java/org')
-rw-r--r-- | vid-automation/src/test/java/org/onap/vid/api/BaseApiAaiTest.java | 25 | ||||
-rw-r--r-- | vid-automation/src/test/java/org/onap/vid/api/PropertyControllerApiTest.java | 62 |
2 files changed, 74 insertions, 13 deletions
diff --git a/vid-automation/src/test/java/org/onap/vid/api/BaseApiAaiTest.java b/vid-automation/src/test/java/org/onap/vid/api/BaseApiAaiTest.java index 4ac38a0e7..32586afac 100644 --- a/vid-automation/src/test/java/org/onap/vid/api/BaseApiAaiTest.java +++ b/vid-automation/src/test/java/org/onap/vid/api/BaseApiAaiTest.java @@ -1,6 +1,15 @@ package org.onap.vid.api; +import static net.javacrumbs.jsonunit.JsonMatchers.jsonStringEquals; +import static org.hamcrest.Matchers.either; +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertThat; +import static vid.automation.test.services.SimulatorApi.registerExpectation; + import com.google.common.collect.ImmutableMap; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import org.springframework.http.HttpMethod; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; @@ -8,23 +17,13 @@ import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.HttpStatusCodeException; import org.testng.annotations.BeforeClass; +import vid.automation.test.services.CategoryParamsService; import vid.automation.test.services.SimulatorApi; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -import static net.javacrumbs.jsonunit.JsonMatchers.jsonStringEquals; -import static org.hamcrest.Matchers.either; -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertThat; -import static vid.automation.test.services.SimulatorApi.registerExpectation; - -/** - * Created by Oren on 11/1/17. - */ public class BaseApiAaiTest extends BaseApiTest { + protected final CategoryParamsService categoryParamsService = new CategoryParamsService(); + @BeforeClass public void login() { super.login(); diff --git a/vid-automation/src/test/java/org/onap/vid/api/PropertyControllerApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/PropertyControllerApiTest.java new file mode 100644 index 000000000..b12adbe46 --- /dev/null +++ b/vid-automation/src/test/java/org/onap/vid/api/PropertyControllerApiTest.java @@ -0,0 +1,62 @@ +package org.onap.vid.api; + +import static java.util.stream.Collectors.toList; +import static net.javacrumbs.jsonunit.JsonMatchers.jsonPartEquals; +import static org.hamcrest.MatcherAssert.assertThat; +import static vid.automation.test.infra.Features.FLAG_2006_LIMIT_OWNING_ENTITY_SELECTION_BY_ROLES; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableMap; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Stream; +import org.onap.sdc.ci.tests.datatypes.UserCredentials; +import org.testng.annotations.Test; +import vid.automation.test.Constants.Users; +import vid.automation.test.infra.FeatureTogglingTest; + +public class PropertyControllerApiTest extends BaseApiTest { + + private final List<Object> allOwningEntities = toOwningEntitiesList(Stream.of("aaa1", "Melissa", "WayneHolland")); + + private final List<Object> singleOwningEntity = toOwningEntitiesList(Stream.of("WayneHolland")); + + @Test + public void categoryParameter_whenUserFullyAllowed_allOwningEntitiesRetrieved() { + categoryParameters_loginAndAssertOwningEntities(Users.SILVIA_ROBBINS_TYLER_SILVIA, allOwningEntities); + } + + @Test + @FeatureTogglingTest(FLAG_2006_LIMIT_OWNING_ENTITY_SELECTION_BY_ROLES) + public void categoryParameter_whenUserNotFullyAllowed_onlySomeOwningEntitiesRetrieved() { + categoryParameters_loginAndAssertOwningEntities(Users.PORFIRIO_GERHARDT, singleOwningEntity); + } + + @Test + @FeatureTogglingTest(value = FLAG_2006_LIMIT_OWNING_ENTITY_SELECTION_BY_ROLES, flagActive = false) + public void categoryParameter_whenUserNotFullyAllowed_stillAllOwningEntitiesRetrieved() { + categoryParameters_loginAndAssertOwningEntities(Users.PORFIRIO_GERHARDT, allOwningEntities); + } + + + + public void categoryParameters_loginAndAssertOwningEntities(String user, List<Object> singleOwningEntities) { + login(new UserCredentials(usersService.getUser(user))); + + String url = uri.toASCIIString() + "/category_parameter?familyName=PARAMETER_STANDARDIZATION"; + + assertThat(restTemplate.getForObject(url, JsonNode.class), + jsonPartEquals("categoryParameters.owningEntity", singleOwningEntities)); + } + + private List<Object> toOwningEntitiesList(Stream<String> owningEntitiesNames) { + return owningEntitiesNames.map(it -> ImmutableMap.of( + "name", it, + "id", expectedIdByName.apply(it)) + ).collect(toList()); + } + + static private final Function<String, String> expectedIdByName = it -> + "WayneHolland".equals(it) ? "d61e6f2d-12fa-4cc2-91df-7c244011d6fc" : it; + +} |