Search in sources :

Example 1 with FULL_ACCESS

use of com.redhat.cloud.notifications.MockServerConfig.RbacAccess.FULL_ACCESS in project notifications-backend by RedHatInsights.

the class NotificationResourceTest method testGetEventTypesAffectedByEndpoint.

@Test
void testGetEventTypesAffectedByEndpoint() {
    String tenant = "testGetEventTypesAffectedByEndpoint";
    String orgId = "testGetEventTypesAffectedByEndpointOrgId";
    Header identityHeader = initRbacMock(tenant, orgId, "user", FULL_ACCESS);
    UUID bundleId = helpers.createTestAppAndEventTypes();
    UUID behaviorGroupId1 = helpers.createBehaviorGroup(tenant, "behavior-group-1", bundleId).getId();
    UUID behaviorGroupId2 = helpers.createBehaviorGroup(tenant, "behavior-group-2", bundleId).getId();
    UUID appId = applicationRepository.getApplications(TEST_BUNDLE_NAME).stream().filter(a -> a.getName().equals(TEST_APP_NAME_2)).findFirst().get().getId();
    UUID endpointId1 = helpers.createWebhookEndpoint(tenant);
    UUID endpointId2 = helpers.createWebhookEndpoint(tenant);
    List<EventType> eventTypes = applicationRepository.getEventTypes(appId);
    // ep1 assigned to ev0; ep2 not assigned.
    behaviorGroupRepository.updateEventTypeBehaviors(tenant, eventTypes.get(0).getId(), Set.of(behaviorGroupId1));
    behaviorGroupRepository.updateBehaviorGroupActions(tenant, behaviorGroupId1, List.of(endpointId1));
    String responseBody = given().header(identityHeader).pathParam("endpointId", endpointId1.toString()).when().get("/notifications/behaviorGroups/affectedByRemovalOfEndpoint/{endpointId}").then().statusCode(200).contentType(JSON).extract().asString();
    JsonArray behaviorGroups = new JsonArray(responseBody);
    assertEquals(1, behaviorGroups.size());
    behaviorGroups.getJsonObject(0).mapTo(BehaviorGroup.class);
    assertEquals(behaviorGroupId1.toString(), behaviorGroups.getJsonObject(0).getString("id"));
    responseBody = given().header(identityHeader).pathParam("endpointId", endpointId2.toString()).when().get("/notifications/behaviorGroups/affectedByRemovalOfEndpoint/{endpointId}").then().statusCode(200).contentType(JSON).extract().asString();
    behaviorGroups = new JsonArray(responseBody);
    assertEquals(0, behaviorGroups.size());
    // ep1 assigned to event ev0; ep2 assigned to event ev1
    behaviorGroupRepository.updateEventTypeBehaviors(tenant, eventTypes.get(0).getId(), Set.of(behaviorGroupId2));
    behaviorGroupRepository.updateBehaviorGroupActions(tenant, behaviorGroupId2, List.of(endpointId2));
    responseBody = given().header(identityHeader).pathParam("endpointId", endpointId1.toString()).when().get("/notifications/behaviorGroups/affectedByRemovalOfEndpoint/{endpointId}").then().statusCode(200).contentType(JSON).extract().asString();
    behaviorGroups = new JsonArray(responseBody);
    assertEquals(1, behaviorGroups.size());
    behaviorGroups.getJsonObject(0).mapTo(BehaviorGroup.class);
    assertEquals(behaviorGroupId1.toString(), behaviorGroups.getJsonObject(0).getString("id"));
    responseBody = given().header(identityHeader).pathParam("endpointId", endpointId2.toString()).when().get("/notifications/behaviorGroups/affectedByRemovalOfEndpoint/{endpointId}").then().statusCode(200).contentType(JSON).extract().asString();
    behaviorGroups = new JsonArray(responseBody);
    assertEquals(1, behaviorGroups.size());
    behaviorGroups.getJsonObject(0).mapTo(BehaviorGroup.class);
    assertEquals(behaviorGroupId2.toString(), behaviorGroups.getJsonObject(0).getString("id"));
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) ResourceHelpers(com.redhat.cloud.notifications.db.ResourceHelpers) TestLifecycleManager(com.redhat.cloud.notifications.TestLifecycleManager) FULL_ACCESS(com.redhat.cloud.notifications.MockServerConfig.RbacAccess.FULL_ACCESS) TEST_BUNDLE_NAME(com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) Header(io.restassured.http.Header) MockServerConfig(com.redhat.cloud.notifications.MockServerConfig) QuarkusTest(io.quarkus.test.junit.QuarkusTest) Inject(javax.inject.Inject) EventType(com.redhat.cloud.notifications.models.EventType) BehaviorGroup(com.redhat.cloud.notifications.models.BehaviorGroup) NO_ACCESS(com.redhat.cloud.notifications.MockServerConfig.RbacAccess.NO_ACCESS) RbacAccess(com.redhat.cloud.notifications.MockServerConfig.RbacAccess) JsonObject(io.vertx.core.json.JsonObject) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) DbIsolatedTest(com.redhat.cloud.notifications.db.DbIsolatedTest) BehaviorGroupRepository(com.redhat.cloud.notifications.db.repositories.BehaviorGroupRepository) QuarkusTestResource(io.quarkus.test.common.QuarkusTestResource) Application(com.redhat.cloud.notifications.models.Application) Json(com.redhat.cloud.notifications.Json) JSON(io.restassured.http.ContentType.JSON) ApplicationRepository(com.redhat.cloud.notifications.db.repositories.ApplicationRepository) Set(java.util.Set) Facet(com.redhat.cloud.notifications.routers.models.Facet) READ_ACCESS(com.redhat.cloud.notifications.MockServerConfig.RbacAccess.READ_ACCESS) UUID(java.util.UUID) TEST_APP_NAME_2(com.redhat.cloud.notifications.db.ResourceHelpers.TEST_APP_NAME_2) Test(org.junit.jupiter.api.Test) JsonArray(io.vertx.core.json.JsonArray) List(java.util.List) Response(io.restassured.response.Response) TestConstants(com.redhat.cloud.notifications.TestConstants) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Optional(java.util.Optional) TestHelpers(com.redhat.cloud.notifications.TestHelpers) RestAssured.given(io.restassured.RestAssured.given) RestAssured(io.restassured.RestAssured) JsonArray(io.vertx.core.json.JsonArray) Header(io.restassured.http.Header) EventType(com.redhat.cloud.notifications.models.EventType) UUID(java.util.UUID) QuarkusTest(io.quarkus.test.junit.QuarkusTest) DbIsolatedTest(com.redhat.cloud.notifications.db.DbIsolatedTest) Test(org.junit.jupiter.api.Test)

Aggregations

Json (com.redhat.cloud.notifications.Json)1 MockServerConfig (com.redhat.cloud.notifications.MockServerConfig)1 RbacAccess (com.redhat.cloud.notifications.MockServerConfig.RbacAccess)1 FULL_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.FULL_ACCESS)1 NO_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.NO_ACCESS)1 READ_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.READ_ACCESS)1 TestConstants (com.redhat.cloud.notifications.TestConstants)1 TestHelpers (com.redhat.cloud.notifications.TestHelpers)1 TestLifecycleManager (com.redhat.cloud.notifications.TestLifecycleManager)1 DbIsolatedTest (com.redhat.cloud.notifications.db.DbIsolatedTest)1 ResourceHelpers (com.redhat.cloud.notifications.db.ResourceHelpers)1 TEST_APP_NAME_2 (com.redhat.cloud.notifications.db.ResourceHelpers.TEST_APP_NAME_2)1 TEST_BUNDLE_NAME (com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME)1 ApplicationRepository (com.redhat.cloud.notifications.db.repositories.ApplicationRepository)1 BehaviorGroupRepository (com.redhat.cloud.notifications.db.repositories.BehaviorGroupRepository)1 Application (com.redhat.cloud.notifications.models.Application)1 BehaviorGroup (com.redhat.cloud.notifications.models.BehaviorGroup)1 EventType (com.redhat.cloud.notifications.models.EventType)1 Facet (com.redhat.cloud.notifications.routers.models.Facet)1 QuarkusTestResource (io.quarkus.test.common.QuarkusTestResource)1