Search in sources :

Example 1 with TEST_BUNDLE_NAME

use of com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME in project notifications-backend by RedHatInsights.

the class NotificationResourceTest method testEventTypeFetchingByApplication.

@Test
void testEventTypeFetchingByApplication() {
    helpers.createTestAppAndEventTypes();
    List<Application> apps = applicationRepository.getApplications(TEST_BUNDLE_NAME);
    UUID myOtherTesterApplicationId = apps.stream().filter(a -> a.getName().equals(TEST_APP_NAME_2)).findFirst().get().getId();
    Header identityHeader = initRbacMock(TENANT, ORG_ID, USERNAME, RbacAccess.FULL_ACCESS);
    Response response = given().when().header(identityHeader).queryParam("applicationIds", myOtherTesterApplicationId).get("/notifications/eventTypes").then().statusCode(200).contentType(JSON).extract().response();
    JsonObject page = new JsonObject(response.getBody().asString());
    JsonArray eventTypes = page.getJsonArray("data");
    for (int i = 0; i < eventTypes.size(); i++) {
        JsonObject ev = eventTypes.getJsonObject(i);
        ev.mapTo(EventType.class);
        assertEquals(myOtherTesterApplicationId.toString(), ev.getJsonObject("application").getString("id"));
    }
    assertEquals(100, page.getJsonObject("meta").getInteger("count"));
    assertEquals(20, eventTypes.size());
}
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) Response(io.restassured.response.Response) JsonArray(io.vertx.core.json.JsonArray) Header(io.restassured.http.Header) JsonObject(io.vertx.core.json.JsonObject) UUID(java.util.UUID) Application(com.redhat.cloud.notifications.models.Application) QuarkusTest(io.quarkus.test.junit.QuarkusTest) DbIsolatedTest(com.redhat.cloud.notifications.db.DbIsolatedTest) Test(org.junit.jupiter.api.Test)

Example 2 with TEST_BUNDLE_NAME

use of com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME 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)

Example 3 with TEST_BUNDLE_NAME

use of com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME in project notifications-backend by RedHatInsights.

the class NotificationResourceTest method testEventTypeFetchingByBundle.

@Test
void testEventTypeFetchingByBundle() {
    helpers.createTestAppAndEventTypes();
    List<Application> apps = applicationRepository.getApplications(TEST_BUNDLE_NAME);
    UUID myBundleId = apps.stream().filter(a -> a.getName().equals(TEST_APP_NAME_2)).findFirst().get().getBundleId();
    Header identityHeader = initRbacMock(TENANT, ORG_ID, USERNAME, RbacAccess.FULL_ACCESS);
    Response response = given().when().header(identityHeader).queryParam("bundleId", myBundleId).get("/notifications/eventTypes").then().statusCode(200).contentType(JSON).extract().response();
    JsonObject page = new JsonObject(response.getBody().asString());
    JsonArray eventTypes = page.getJsonArray("data");
    for (int i = 0; i < eventTypes.size(); i++) {
        JsonObject ev = eventTypes.getJsonObject(i);
        ev.mapTo(EventType.class);
        assertEquals(myBundleId.toString(), ev.getJsonObject("application").getString("bundle_id"));
    }
    assertEquals(200, page.getJsonObject("meta").getInteger("count"));
    assertEquals(20, eventTypes.size());
}
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) Response(io.restassured.response.Response) JsonArray(io.vertx.core.json.JsonArray) Header(io.restassured.http.Header) JsonObject(io.vertx.core.json.JsonObject) UUID(java.util.UUID) Application(com.redhat.cloud.notifications.models.Application) 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)3 MockServerConfig (com.redhat.cloud.notifications.MockServerConfig)3 RbacAccess (com.redhat.cloud.notifications.MockServerConfig.RbacAccess)3 FULL_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.FULL_ACCESS)3 NO_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.NO_ACCESS)3 READ_ACCESS (com.redhat.cloud.notifications.MockServerConfig.RbacAccess.READ_ACCESS)3 TestConstants (com.redhat.cloud.notifications.TestConstants)3 TestHelpers (com.redhat.cloud.notifications.TestHelpers)3 TestLifecycleManager (com.redhat.cloud.notifications.TestLifecycleManager)3 DbIsolatedTest (com.redhat.cloud.notifications.db.DbIsolatedTest)3 ResourceHelpers (com.redhat.cloud.notifications.db.ResourceHelpers)3 TEST_APP_NAME_2 (com.redhat.cloud.notifications.db.ResourceHelpers.TEST_APP_NAME_2)3 TEST_BUNDLE_NAME (com.redhat.cloud.notifications.db.ResourceHelpers.TEST_BUNDLE_NAME)3 ApplicationRepository (com.redhat.cloud.notifications.db.repositories.ApplicationRepository)3 BehaviorGroupRepository (com.redhat.cloud.notifications.db.repositories.BehaviorGroupRepository)3 Application (com.redhat.cloud.notifications.models.Application)3 BehaviorGroup (com.redhat.cloud.notifications.models.BehaviorGroup)3 EventType (com.redhat.cloud.notifications.models.EventType)3 Facet (com.redhat.cloud.notifications.routers.models.Facet)3 QuarkusTestResource (io.quarkus.test.common.QuarkusTestResource)3