SDC Listner Docker touchup
[ccsdk/cds.git] / ms / sdclistener / application / src / test / java / org / onap / ccsdk / cds / sdclistener / SdcListenerClientTest.java
1 /*
2  * Copyright © 2019 Bell Canada
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.ccsdk.cds.sdclistener;
17
18 import mockit.Expectations;
19 import mockit.Injectable;
20 import mockit.Mock;
21 import mockit.MockUp;
22 import mockit.Tested;
23 import mockit.VerificationsInOrder;
24 import mockit.integration.junit4.JMockit;
25 import org.junit.Test;
26 import org.junit.runner.RunWith;
27 import org.onap.ccsdk.cds.sdclistener.client.SdcListenerClient;
28 import org.onap.ccsdk.cds.sdclistener.dto.SdcListenerDto;
29 import org.onap.ccsdk.cds.sdclistener.exceptions.SdcListenerException;
30 import org.onap.sdc.api.IDistributionClient;
31 import org.onap.sdc.api.results.IDistributionClientResult;
32 import org.onap.sdc.impl.DistributionClientFactory;
33 import org.onap.sdc.impl.DistributionClientResultImpl;
34 import org.onap.sdc.utils.DistributionActionResultEnum;
35
36 @RunWith(JMockit.class)
37 public class SdcListenerClientTest {
38
39     @Tested
40     private SdcListenerClient sdcListenerClient;
41
42     @Test
43     public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient,
44         @Injectable SdcListenerConfiguration configuration,
45         @Injectable SdcListenerNotificationCallback notification,
46         @Injectable SdcListenerDto sdcListenerDto) throws SdcListenerException {
47
48          //Arrange
49         new MockUp<DistributionClientFactory>() {
50             @Mock
51             public IDistributionClient createDistributionClient() {
52                 return distributionClient;
53             }
54         };
55
56         new Expectations() {{
57             distributionClient.init(configuration, notification);
58             result = getResult();
59         }};
60
61         new Expectations() {{
62             distributionClient.start();
63             result = getResult();
64         }};
65
66         // Act
67         sdcListenerClient.initSdcClient();
68
69         // Verify
70         new VerificationsInOrder() {{
71             distributionClient.init(configuration, notification);
72             distributionClient.start();
73         }};
74     }
75
76     public IDistributionClientResult getResult() {
77         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,
78             DistributionActionResultEnum.SUCCESS.name());
79     }
80 }