diff options
author | Prudence Au <prudence.au@amdocs.com> | 2018-07-16 22:02:04 -0400 |
---|---|---|
committer | Prudence Au <prudence.au@amdocs.com> | 2018-08-07 10:19:39 -0400 |
commit | 65c5d8b92e759ec4ee9d13f048b069033b4bf097 (patch) | |
tree | 237dd5c8d59d5696ae9813ecaac7dfb453a9f0ca /src/test/java/org/onap/pomba/contextaggregator/service | |
parent | 4267a59d4454d03a900f46d71e288d6590f162c0 (diff) |
POMBA Context Aggregator
Change-Id: I33acc1f46d35447b63e2d5438c9ce6728a2b03eb
Issue-ID: LOG-519
Signed-off-by: Prudence Au <prudence.au@amdocs.com>
POMBA Context Aggregator with JUnit tests
Change-Id: I33acc1f46d35447b63e2d5438c9ce6728a2b03eb
Issue-ID: LOG-519
Signed-off-by: Prudence Au <prudence.au@amdocs.com>
Diffstat (limited to 'src/test/java/org/onap/pomba/contextaggregator/service')
2 files changed, 191 insertions, 0 deletions
diff --git a/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorProcessorTest.java b/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorProcessorTest.java new file mode 100644 index 0000000..4624e40 --- /dev/null +++ b/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorProcessorTest.java @@ -0,0 +1,135 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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. + * ============LICENSE_END===================================================== + */ +package org.onap.pomba.contextaggregator.service; + +import com.att.nsa.mr.client.MRConsumer; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.pomba.contextaggregator.builder.ContextBuilder; +import org.onap.pomba.contextaggregator.config.EventHeaderConfig; +import org.onap.pomba.contextaggregator.publisher.EventPublisherFactory; +import org.slf4j.Logger; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.List; +import java.util.concurrent.ExecutorService; + +import static org.mockito.Mockito.*; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest +@ConfigurationProperties("classpath:/src/test/resources/GoodProperties/sdnc.properties") +public class ContextAggregatorProcessorTest +{ + @Mock + Logger log; + @Mock + ExecutorService executor; + @Mock + MRConsumer consumer; + @Mock + EventPublisherFactory publisherFactory; + @Mock + ContextBuilder contextBuilder; + @Mock + List<ContextBuilder> contextBuilders; + @Mock + EventHeaderConfig eventHeaderConfig; + + @InjectMocks + ContextAggregatorProcessor contextAggregatorProcessor; + + private String payload = "{" + + " \"serviceInstanceId\"" + ": " + "\"8ea56b0d-459d-4668-b363-c9567432d8b7\"" + "," + + " \"modelVersionId\"" + ": " + "\"4e3d28cf-d654-41af-a47b-04b4bd0ac58e\"" + "," + + " \"modelInvariantId\"" + ": " + "\"74bc1518-282d-4148-860f-8892b6369456\"" + "," + + " \"customerId\"" + ": " + "\"junit\"" + "," + + " \"serviceType\"" + ": " + "\"vFWCL\"" + "," + + " \"xFromAppId\"" + ": " + "\"POMBA\"" + "," + + " \"xTransactionId\"" + ": " + "\"8a9ddb25-2e79-449c-a40d-5011bac0da39\"" + + "}"; + + @Before + public void setUp() + { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testProcessNullPublisherInvalidPayload() throws Exception + { + when(publisherFactory.getPartition()) + .thenReturn("getPartitionResponse"); + when(publisherFactory.getRetries()).thenReturn(0); + when(publisherFactory.createPublisher()).thenReturn(null); + contextAggregatorProcessor.process("NoJsonPayload"); + } + + @Test + public void testProcessNullPublisherEmptyPayload() throws Exception { + when(publisherFactory.getPartition()) + .thenReturn("getPartitionResponse"); + when(publisherFactory.getRetries()).thenReturn(0); + when(publisherFactory.createPublisher()).thenReturn(null); + + try { + contextAggregatorProcessor.process(""); + } + catch (Exception e){ + // expected + } + } + + @Test + public void testProcessNullPublisherValidPayload() throws Exception + { + when(publisherFactory.getPartition()) + .thenReturn("getPartitionResponse"); + when(publisherFactory.getRetries()).thenReturn(0); + when(publisherFactory.createPublisher()).thenReturn(null); + try { + contextAggregatorProcessor.process(payload); + } + catch (NullPointerException e) { + //Expected.. No ContextBuilre found + } + } + +// @Test +// public void testCall() throws Exception +// { +// when(publisherFactory.getPartition()) +// .thenReturn("getPartitionResponse"); +// when(publisherFactory.getRetries()).thenReturn(0); +// when(publisherFactory.createPublisher()).thenReturn(null); +// +// try{ +// contextAggregatorProcessor.call(); +// } +// catch (Exception e) +// { +// //expected +// } +// } +} diff --git a/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorServiceTest.java b/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorServiceTest.java new file mode 100644 index 0000000..bf4fbb5 --- /dev/null +++ b/src/test/java/org/onap/pomba/contextaggregator/service/ContextAggregatorServiceTest.java @@ -0,0 +1,56 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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. + * ============LICENSE_END===================================================== + */ +package org.onap.pomba.contextaggregator.service; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; + +@RunWith(SpringJUnit4ClassRunner.class) +@SpringBootTest +public class ContextAggregatorServiceTest +{ + @Mock + ContextAggregatorProcessor processor; + @Mock + Future<Void> processorTask; + @Mock + ExecutorService executor; + @InjectMocks + ContextAggregatorService contextAggregatorService; + + @Before + public void setUp() + { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testInit() throws Exception + { + contextAggregatorService.init(); + } +} |