c7d30025ad7eb46e72fa4f8e235fed0f9a937727
[policy/common.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * policy-endpoints
4  * ================================================================================
5  * Copyright (C) 2018-2020 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.common.endpoints.event.comm.bus.internal;
22
23 import static org.assertj.core.api.Assertions.assertThatCode;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
26
27 import java.net.MalformedURLException;
28 import org.junit.After;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
32 import org.onap.policy.common.endpoints.event.comm.bus.TopicTestBase;
33 import org.onap.policy.common.utils.gson.GsonTestUtils;
34
35 public class SingleThreadedDmaapTopicSourceTest extends TopicTestBase {
36     private static final String SOURCE_NAME = "SingleThreadedDmaapTopicSource [";
37     private SingleThreadedDmaapTopicSource source;
38
39     /**
40      * Creates the object to be tested.
41      */
42     @Before
43     @Override
44     public void setUp() {
45         super.setUp();
46
47         source = new SingleThreadedDmaapTopicSource(makeBuilder().build());
48     }
49
50     @After
51     public void tearDown() {
52         source.shutdown();
53     }
54
55     @Test
56     public void testSerialize() {
57         assertThatCode(() -> new GsonTestUtils().compareGson(source, SingleThreadedDmaapTopicSourceTest.class))
58                         .doesNotThrowAnyException();
59     }
60
61     @Test
62     public void testToString() {
63         assertTrue(source.toString().startsWith(SOURCE_NAME));
64         source.shutdown();
65
66         // try with null password
67         source = new SingleThreadedDmaapTopicSource(makeBuilder().password(null).build());
68         assertTrue(source.toString().startsWith(SOURCE_NAME));
69         source.shutdown();
70
71         // try with empty password
72         source = new SingleThreadedDmaapTopicSource(makeBuilder().password("").build());
73         assertTrue(source.toString().startsWith(SOURCE_NAME));
74         source.shutdown();
75     }
76
77     @Test
78     public void testInit() {
79         // verify with different parameters
80         new SingleThreadedDmaapTopicSource(makeBuilder().environment(null).aftEnvironment(null).latitude(null)
81                         .longitude(null).partner(null).build()).shutdown();
82         assertThatCode(() -> new SingleThreadedDmaapTopicSource(makeBuilder().userName(null).build()).shutdown())
83                         .doesNotThrowAnyException();
84     }
85
86     @Test(expected = IllegalArgumentException.class)
87     public void testSingleThreadedDmaapTopicSource_Ex() {
88         new SingleThreadedDmaapTopicSource(makeBuilder().build()) {
89             @Override
90             public void init() throws MalformedURLException {
91                 throw new MalformedURLException(EXPECTED);
92             }
93         }.shutdown();
94     }
95
96     @Test
97     public void testGetTopicCommInfrastructure() {
98         assertEquals(CommInfrastructure.DMAAP, source.getTopicCommInfrastructure());
99     }
100
101 }