Search in sources :

Example 11 with ActionProfile

use of org.folio.ActionProfile in project mod-source-record-storage by folio-org.

the class InstancePostProcessingEventHandlerTest method shouldReturnFalseWhenCurrentNodeIsNull.

@Test
public void shouldReturnFalseWhenCurrentNodeIsNull() {
    ActionProfile actionProfile = new ActionProfile().withId(UUID.randomUUID().toString()).withName("Create instance").withAction(ActionProfile.Action.CREATE).withFolioRecord(ActionProfile.FolioRecord.INSTANCE);
    ProfileSnapshotWrapper profileSnapshotWrapper = new ProfileSnapshotWrapper().withId(UUID.randomUUID().toString()).withProfileId(actionProfile.getId()).withContentType(ACTION_PROFILE).withContent(actionProfile);
    DataImportEventPayload dataImportEventPayload = new DataImportEventPayload().withTenant(TENANT_ID).withEventType(DI_SRS_MARC_BIB_RECORD_CREATED.value()).withContext(new HashMap<>()).withProfileSnapshot(profileSnapshotWrapper);
    boolean isEligible = handler.isEligible(dataImportEventPayload);
    Assert.assertFalse(isEligible);
}
Also used : HashMap(java.util.HashMap) ActionProfile(org.folio.ActionProfile) ProfileSnapshotWrapper(org.folio.rest.jaxrs.model.ProfileSnapshotWrapper) DataImportEventPayload(org.folio.DataImportEventPayload) Test(org.junit.Test)

Example 12 with ActionProfile

use of org.folio.ActionProfile in project mod-source-record-storage by folio-org.

the class InstancePostProcessingEventHandlerTest method shouldReturnFalseWhenHandlerIsNotEligibleForProfile.

@Test
public void shouldReturnFalseWhenHandlerIsNotEligibleForProfile() {
    ActionProfile actionProfile = new ActionProfile().withId(UUID.randomUUID().toString()).withName("Create instance").withAction(ActionProfile.Action.CREATE).withFolioRecord(ActionProfile.FolioRecord.INSTANCE);
    ProfileSnapshotWrapper profileSnapshotWrapper = new ProfileSnapshotWrapper().withId(UUID.randomUUID().toString()).withProfileId(actionProfile.getId()).withContentType(ACTION_PROFILE).withContent(actionProfile);
    DataImportEventPayload dataImportEventPayload = new DataImportEventPayload().withTenant(TENANT_ID).withEventType(DI_SRS_MARC_BIB_RECORD_CREATED.value()).withContext(new HashMap<>()).withProfileSnapshot(profileSnapshotWrapper).withCurrentNode(profileSnapshotWrapper);
    boolean isEligible = handler.isEligible(dataImportEventPayload);
    Assert.assertFalse(isEligible);
}
Also used : ActionProfile(org.folio.ActionProfile) ProfileSnapshotWrapper(org.folio.rest.jaxrs.model.ProfileSnapshotWrapper) DataImportEventPayload(org.folio.DataImportEventPayload) Test(org.junit.Test)

Example 13 with ActionProfile

use of org.folio.ActionProfile in project mod-source-record-storage by folio-org.

the class MarcBibUpdateModifyEventHandlerTest method shouldReturnFalseWhenHandlerIsNotEligibleForActionProfile.

@Test
public void shouldReturnFalseWhenHandlerIsNotEligibleForActionProfile() {
    // given
    ActionProfile actionProfile = new ActionProfile().withId(UUID.randomUUID().toString()).withName("Create instance").withAction(ActionProfile.Action.CREATE).withFolioRecord(ActionProfile.FolioRecord.INSTANCE);
    ProfileSnapshotWrapper profileSnapshotWrapper = new ProfileSnapshotWrapper().withId(UUID.randomUUID().toString()).withProfileId(actionProfile.getId()).withContentType(ACTION_PROFILE).withContent(actionProfile);
    DataImportEventPayload dataImportEventPayload = new DataImportEventPayload().withTenant(TENANT_ID).withEventType(DI_SRS_MARC_BIB_RECORD_CREATED.value()).withContext(new HashMap<>()).withProfileSnapshot(profileSnapshotWrapper).withCurrentNode(profileSnapshotWrapper);
    // when
    boolean isEligible = modifyRecordEventHandler.isEligible(dataImportEventPayload);
    // then
    Assert.assertFalse(isEligible);
}
Also used : ActionProfile(org.folio.ActionProfile) ProfileSnapshotWrapper(org.folio.rest.jaxrs.model.ProfileSnapshotWrapper) DataImportEventPayload(org.folio.DataImportEventPayload) Test(org.junit.Test)

Example 14 with ActionProfile

use of org.folio.ActionProfile in project mod-source-record-storage by folio-org.

the class MarcBibUpdateModifyEventHandlerTest method shouldReturnTrueWhenHandlerIsEligibleForUpdateMarcBibActionProfile.

@Test
public void shouldReturnTrueWhenHandlerIsEligibleForUpdateMarcBibActionProfile() {
    // given
    ActionProfile actionProfile = new ActionProfile().withId(UUID.randomUUID().toString()).withName("Update marc bib").withAction(ActionProfile.Action.UPDATE).withFolioRecord(ActionProfile.FolioRecord.MARC_BIBLIOGRAPHIC);
    ProfileSnapshotWrapper profileSnapshotWrapper = new ProfileSnapshotWrapper().withId(UUID.randomUUID().toString()).withProfileId(actionProfile.getId()).withContentType(ACTION_PROFILE).withContent(actionProfile);
    DataImportEventPayload dataImportEventPayload = new DataImportEventPayload().withTenant(TENANT_ID).withEventType(DI_SRS_MARC_BIB_RECORD_CREATED.value()).withContext(new HashMap<>()).withProfileSnapshot(profileSnapshotWrapper).withCurrentNode(profileSnapshotWrapper);
    // when
    boolean isEligible = modifyRecordEventHandler.isEligible(dataImportEventPayload);
    // then
    Assert.assertTrue(isEligible);
}
Also used : ActionProfile(org.folio.ActionProfile) ProfileSnapshotWrapper(org.folio.rest.jaxrs.model.ProfileSnapshotWrapper) DataImportEventPayload(org.folio.DataImportEventPayload) Test(org.junit.Test)

Example 15 with ActionProfile

use of org.folio.ActionProfile in project mod-source-record-storage by folio-org.

the class MarcAuthorityDeleteEventHandlerTest method shouldCompleteExceptionallyIfNoRecordInPayload.

@Test
public void shouldCompleteExceptionallyIfNoRecordInPayload(TestContext context) {
    Async async = context.async();
    // given
    HashMap<String, String> payloadContext = new HashMap<>();
    DataImportEventPayload dataImportEventPayload = new DataImportEventPayload().withContext(payloadContext).withTenant(TENANT_ID).withCurrentNode(new ProfileSnapshotWrapper().withId(UUID.randomUUID().toString()).withContentType(ACTION_PROFILE).withContent(new ActionProfile().withId(UUID.randomUUID().toString()).withName("Delete Marc Authorities").withAction(DELETE).withFolioRecord(ActionProfile.FolioRecord.MARC_AUTHORITY)));
    // when
    CompletableFuture<DataImportEventPayload> future = eventHandler.handle(dataImportEventPayload);
    // then
    future.whenComplete((eventPayload, throwable) -> {
        context.assertNotNull(throwable);
        context.assertEquals("Failed to handle event payload, cause event payload context does not contain required data to modify MARC record", throwable.getMessage());
        async.complete();
    });
}
Also used : HashMap(java.util.HashMap) Async(io.vertx.ext.unit.Async) DataImportEventPayload(org.folio.DataImportEventPayload) ProfileSnapshotWrapper(org.folio.rest.jaxrs.model.ProfileSnapshotWrapper) ActionProfile(org.folio.ActionProfile) Test(org.junit.Test)

Aggregations

ActionProfile (org.folio.ActionProfile)34 ProfileSnapshotWrapper (org.folio.rest.jaxrs.model.ProfileSnapshotWrapper)34 Test (org.junit.Test)33 DataImportEventPayload (org.folio.DataImportEventPayload)32 HashMap (java.util.HashMap)18 Async (io.vertx.ext.unit.Async)5 RegexPattern (com.github.tomakehurst.wiremock.matching.RegexPattern)2 UrlPathPattern (com.github.tomakehurst.wiremock.matching.UrlPathPattern)2 List (java.util.List)2 KeyValue (net.mguenther.kafka.junit.KeyValue)2 JobProfile (org.folio.JobProfile)2 AbstractRestTest (org.folio.rest.impl.AbstractRestTest)2 DataImportEventPayload (org.folio.rest.jaxrs.model.DataImportEventPayload)2 Event (org.folio.rest.jaxrs.model.Event)2 ParsedRecord (org.folio.rest.jaxrs.model.ParsedRecord)2 RawRecord (org.folio.rest.jaxrs.model.RawRecord)2 Record (org.folio.rest.jaxrs.model.Record)2 Json (io.vertx.core.json.Json)1 JsonObject (io.vertx.core.json.JsonObject)1 TestContext (io.vertx.ext.unit.TestContext)1