diff options
author | mpriyank <priyank.maheshwari@est.tech> | 2022-04-08 15:12:22 +0530 |
---|---|---|
committer | mpriyank <priyank.maheshwari@est.tech> | 2022-04-11 19:31:37 +0530 |
commit | 78e1d0616474d50d1b3d156e588c6cea9cba783d (patch) | |
tree | 8f3c1d9c02be33194207966b0e56a87aeab0181c /src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy | |
parent | 08b499572102640cd6d298fec2abf443413803cb (diff) |
NCMP Kafka Producer Infrastructure
- Producer configuration and Topic related information.
- Accepted topicParameter and request id from NCMP to process async
- Replacing Springfox and using Springdoc instead
Issue-ID: CPS-829
Change-Id: I369b5ec6c16318220bb218701006918a0bf21419
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
Diffstat (limited to 'src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy')
-rw-r--r-- | src/test/groovy/org/onap/cps/ncmp/dmi/service/NcmpKafkaPublisherSpec.groovy | 69 |
1 files changed, 69 insertions, 0 deletions
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) + } +} |