+ def 'Conversion from Event V2 JSON String to CpsDataUpdatedEvent POJO'() {
+ when: 'event V2 JSON String is converted to CpsDataUpdatedEvent'
+ def notificationMessage = getEventAsJsonStringFromFile(inputEventJson)
+ def cpsDataUpdatedEvent = objectMapper.readValue(notificationMessage, CpsDataUpdatedEvent.class)
+ then: 'CpsDataUpdatedEvent POJO has the excepted values'
+ with(cpsDataUpdatedEvent) {
+ id == EVENT_ID
+ source == EVENT_SOURCE
+ schema == EVENT_SCHEMA_V2
+ type == EVENT_TYPE
+ }
+ with(cpsDataUpdatedEvent.content) {
+ observedTimestamp == EVENT_TIMESTAMP
+ dataspaceName == DATASPACE_NAME
+ schemaSetName == BOOKSTORE_SCHEMA_SET
+ anchorName == ANCHOR_NAME
+ operation == expectedOperation
+ if (expectedData != null)
+ data.getAdditionalProperties() == expectedData
+ else
+ data == null
+ }
+ where:
+ scenario | inputEventJson || expectedData | expectedOperation
+ 'create operation' | '/event-v2-create-operation.json' || DATA | Content.Operation.CREATE
+ 'delete operation' | '/event-v2-delete-operation.json' || null | Content.Operation.DELETE
+ 'create with additional fields' | '/event-v2-with-additional-properties.json' || DATA | Content.Operation.CREATE
+ }
+
+ def 'Conversion from CpsDataUpdatedEvent POJO to Event V2 JSON String.'() {
+ given: 'Event V2 content with the Data'