diff options
Diffstat (limited to 'src/test/groovy/org/onap/cps/ncmp/dmi/service')
-rw-r--r-- | src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherServiceSpec.groovy | 39 | ||||
-rw-r--r-- | src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy | 69 |
2 files changed, 108 insertions, 0 deletions
diff --git a/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherServiceSpec.groovy b/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherServiceSpec.groovy new file mode 100644 index 00000000..4fc697ed --- /dev/null +++ b/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherServiceSpec.groovy @@ -0,0 +1,39 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.dmi.service + +import spock.lang.Specification + +class NcmpKafkaPublisherServiceSpec extends Specification { + + def mockNcmpKafkaPublisher = Mock(NcmpKafkaPublisher) + def objectUnderTest = new NcmpKafkaPublisherService(mockNcmpKafkaPublisher) + + def 'Message publishing'() { + given: 'a sample message with key' + def message = 'sample message' + def messageKey = 'sample-key' + when: 'published' + objectUnderTest.publishToNcmp(messageKey, message) + then: 'no exception is thrown' + noExceptionThrown() + } +} diff --git a/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy b/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy new file mode 100644 index 00000000..54f3502c --- /dev/null +++ b/src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy @@ -0,0 +1,69 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.dmi.service + + +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.beans.factory.annotation.Value +import org.springframework.boot.test.context.SpringBootTest +import org.springframework.kafka.core.KafkaTemplate +import org.springframework.test.context.DynamicPropertyRegistry +import org.springframework.test.context.DynamicPropertySource +import org.testcontainers.containers.KafkaContainer +import org.testcontainers.spock.Testcontainers +import spock.lang.Specification + +@SpringBootTest +@Testcontainers +class NcmpKafkaPublisherSpec extends Specification { + + static kafkaTestContainer = new KafkaContainer() + static { + Runtime.getRuntime().addShutdownHook(new Thread(kafkaTestContainer::stop)) + } + + def setupSpec() { + kafkaTestContainer.start() + } + + @Autowired + KafkaTemplate<String, Object> kafkaTemplate + + @Value('${app.ncmp.async-m2m.topic}') + String topic + + def 'Publish message'() { + given: 'a sample messsage and key' + def message = 'sample message' + def messageKey = 'message-key' + def objectUnderTest = new NcmpKafkaPublisher(kafkaTemplate, topic) + when: 'a message is published' + objectUnderTest.sendMessage(messageKey, message) + then: 'no exception is thrown' + noExceptionThrown() + + } + + @DynamicPropertySource + static void registerKafkaProperties(DynamicPropertyRegistry registry) { + registry.add('spring.kafka.bootstrap-servers', kafkaTestContainer::getBootstrapServers) + } +} |