Refractor code to use the new LcmEvent schema

-Old schema deleted and comments from tests are removed
-EventDateTimeFormatter utility added
-From LcmEventsCreator.populateLcmEvent the NcmpServiceCmHandle param
removed and tests are fixed accordingly
-Changes made in test of the LcmEventsCreator for payload testing
to make it more clear

Issue-ID: CPS-1147
Change-Id: Id87c81f2755a6617a0fc68ba92a3d0e3170fd20f
Signed-off-by: bmiklos <miklos.baranyak@est.tech>
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCreatorSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCreatorSpec.groovy
index b578700..aa79d63 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCreatorSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsCreatorSpec.groovy
@@ -20,10 +20,6 @@
 
 package org.onap.cps.ncmp.api.impl.event.lcm
 
-import org.onap.cps.ncmp.api.impl.event.lcm.LcmEventsCreator
-import org.onap.cps.ncmp.api.inventory.CmHandleState
-import org.onap.cps.ncmp.api.inventory.CompositeStateBuilder
-import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle
 import spock.lang.Specification
 
 class LcmEventsCreatorSpec extends Specification {
@@ -31,17 +27,16 @@
     def objectUnderTest = new LcmEventsCreator()
     def cmHandleId = 'test-cm-handle'
 
-    def 'Map the LcmEvent for operation #operation'() {
-        given: 'NCMP cm handle details'
-            def ncmpServiceCmHandle = new NcmpServiceCmHandle(cmHandleId: cmHandleId, compositeState: new CompositeStateBuilder().withCmHandleState(CmHandleState.READY).build(),
-                publicProperties: ['publicProperty1': 'value1', 'publicProperty2': 'value2'])
+    def 'Map the LcmEvent'() {
         when: 'the event is populated'
-            def result = objectUnderTest.populateLcmEvent(cmHandleId, ncmpServiceCmHandle)
+            def result = objectUnderTest.populateLcmEvent(cmHandleId)
         then: 'event header is mapped correctly'
             assert result.eventSource == 'org.onap.ncmp'
             assert result.eventCorrelationId == cmHandleId
-        and: 'event payload is mapped correctly'
-            assert result.event.cmhandleProperties.size() == 1
-            assert result.event.cmhandleProperties[0] == ['publicProperty1': 'value1', 'publicProperty2': 'value2']
+        and: 'the result has the correct cm handle id'
+            assert result.event.cmHandleId == cmHandleId
+        and: 'the old and new values are not set yet'
+            assert result.event.oldValues == null
+            assert result.event.newValues == null
     }
 }
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsPublisherSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsPublisherSpec.groovy
index 8b9addc..f2cd2b5 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsPublisherSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsPublisherSpec.groovy
@@ -26,8 +26,8 @@
 import org.onap.cps.ncmp.api.utils.MessagingSpec
 import org.onap.cps.ncmp.utils.TestUtils
 import org.onap.cps.utils.JsonObjectMapper
-import org.onap.ncmp.cmhandle.lcm.event.Event
-import org.onap.ncmp.cmhandle.lcm.event.NcmpEvent
+import org.onap.ncmp.cmhandle.event.lcm.Event
+import org.onap.ncmp.cmhandle.event.lcm.LcmEvent
 import org.spockframework.spring.SpringBean
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
@@ -46,40 +46,38 @@
     def testTopic = 'ncmp-events-test'
 
     @SpringBean
-    LcmEventsPublisher ncmpEventsPublisher = new LcmEventsPublisher(kafkaTemplate)
+    LcmEventsPublisher lcmEventsPublisher = new LcmEventsPublisher(kafkaTemplate)
 
     @Autowired
     JsonObjectMapper jsonObjectMapper
 
 
-    def 'Produce and Consume Ncmp Event'() {
+    def 'Produce and Consume Lcm Event'() {
         given: 'event key and event data'
-            def eventKey = 'ncmp'
-            def eventData = new NcmpEvent(eventId: 'test-uuid',
+            def eventKey = 'lcm'
+            def eventData = new LcmEvent(
+                eventId: 'test-uuid',
                 eventCorrelationId: 'cmhandle-as-correlationid',
-                eventSchema: URI.create('org.onap.ncmp.cmhandle.lcm.event:v1'),
-                eventSource: URI.create('org.onap.ncmp'),
+                eventSource: 'org.onap.ncmp',
                 eventTime: '2022-12-31T20:30:40.000+0000',
                 eventType: 'org.onap.ncmp.cmhandle.lcm.event',
-                event: new Event(cmHandleId: 'cmhandle-test', cmhandleState: 'READY', cmhandleProperties: [['publicProperty1': 'value1'], ['publicProperty2': 'value2']]))
-        and: 'we have an expected NcmpEvent'
-            def expectedJsonString = TestUtils.getResourceFileContent('expectedNcmpEvent.json')
-            def expectedNcmpEvent = jsonObjectMapper.convertJsonString(expectedJsonString, NcmpEvent.class)
+                eventSchema: 'org.onap.ncmp.cmhandle.lcm.event',
+                eventSchemaVersion: 'v1',
+                event: new Event(cmHandleId: 'cmhandle-test'))
         and: 'consumer has a subscription'
             kafkaConsumer.subscribe([testTopic] as List<String>)
         when: 'an event is published'
-            ncmpEventsPublisher.publishEvent(testTopic, eventKey, eventData)
+            lcmEventsPublisher.publishEvent(testTopic, eventKey, eventData)
         and: 'topic is polled'
             def records = kafkaConsumer.poll(Duration.ofMillis(1500))
-        then: 'no exception is thrown'
-            noExceptionThrown()
-        and: 'poll returns one record'
+        then: 'poll returns one record'
             assert records.size() == 1
         and: 'record key matches the expected event key'
             def record = records.iterator().next()
             assert eventKey == record.key
         and: 'record matches the expected event'
-            assert expectedNcmpEvent == jsonObjectMapper.convertJsonString(record.value, NcmpEvent.class)
-
+            def expectedJsonString = TestUtils.getResourceFileContent('expectedLcmEvent.json')
+            def expectedLcmEvent = jsonObjectMapper.convertJsonString(expectedJsonString, LcmEvent.class)
+            assert expectedLcmEvent == jsonObjectMapper.convertJsonString(record.value, LcmEvent.class)
     }
 }
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
index 3dab5af..1eae357 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/event/lcm/LcmEventsServiceSpec.groovy
@@ -20,7 +20,7 @@
 
 package org.onap.cps.ncmp.api.impl.event.lcm
 
-import org.onap.ncmp.cmhandle.lcm.event.NcmpEvent
+import org.onap.ncmp.cmhandle.event.lcm.LcmEvent
 import spock.lang.Specification
 
 class LcmEventsServiceSpec extends Specification {
@@ -30,15 +30,15 @@
     def objectUnderTest = new LcmEventsService(mockLcmEventsPublisher)
 
     def 'Create and Publish lcm event where events are #scenario'() {
-        given: 'a cm handle id and Ncmp Event'
+        given: 'a cm handle id and Lcm Event'
             def cmHandleId = 'test-cm-handle-id'
-            def ncmpEvent = new NcmpEvent(eventId: UUID.randomUUID().toString(), eventCorrelationId: cmHandleId)
-        and: 'notifications enabled is #notificationsEnabled'
+            def lcmEvent = new LcmEvent(eventId: UUID.randomUUID().toString(), eventCorrelationId: cmHandleId)
+        and: 'notificationsEnabled is #notificationsEnabled and it will be true as default'
             objectUnderTest.notificationsEnabled = notificationsEnabled
         when: 'service is called to publish lcm event'
-            objectUnderTest.publishLcmEvent('test-cm-handle-id', ncmpEvent)
+            objectUnderTest.publishLcmEvent('test-cm-handle-id', lcmEvent)
         then: 'publisher is called #expectedTimesMethodCalled times'
-            expectedTimesMethodCalled * mockLcmEventsPublisher.publishEvent(_, cmHandleId, ncmpEvent)
+            expectedTimesMethodCalled * mockLcmEventsPublisher.publishEvent(_, cmHandleId, lcmEvent)
         where: 'the following values are used'
             scenario   | notificationsEnabled || expectedTimesMethodCalled
             'enabled'  | true                 || 1
diff --git a/cps-ncmp-service/src/test/resources/expectedLcmEvent.json b/cps-ncmp-service/src/test/resources/expectedLcmEvent.json
new file mode 100644
index 0000000..1db16ee
--- /dev/null
+++ b/cps-ncmp-service/src/test/resources/expectedLcmEvent.json
@@ -0,0 +1,12 @@
+{
+  "eventId": "test-uuid",
+  "eventCorrelationId": "cmhandle-as-correlationid",
+  "eventTime": "2022-12-31T20:30:40.000+0000",
+  "eventSource": "org.onap.ncmp",
+  "eventType": "org.onap.ncmp.cmhandle.lcm.event",
+  "eventSchema": "org.onap.ncmp.cmhandle.lcm.event",
+  "eventSchemaVersion": "v1",
+  "event": {
+    "cmHandleId": "cmhandle-test"
+  }
+}
\ No newline at end of file
diff --git a/cps-ncmp-service/src/test/resources/expectedNcmpEvent.json b/cps-ncmp-service/src/test/resources/expectedNcmpEvent.json
deleted file mode 100644
index 3d457a0..0000000
--- a/cps-ncmp-service/src/test/resources/expectedNcmpEvent.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-  "eventId": "test-uuid",
-  "eventCorrelationId": "cmhandle-as-correlationid",
-  "eventTime": "2022-12-31T20:30:40.000+0000",
-  "eventSource": "org.onap.ncmp",
-  "eventType": "org.onap.ncmp.cmhandle.lcm.event",
-  "eventSchema": "org.onap.ncmp.cmhandle.lcm.event:v1",
-  "event": {
-    "cmHandleId": "cmhandle-test",
-    "cmhandle-state": "READY",
-    "cmhandle-properties": [
-      {
-        "publicProperty1": "value1"
-      },
-      {
-        "publicProperty2": "value2"
-      }
-    ]
-  }
-}
\ No newline at end of file