Migrate "ms/controllerblueprints" from ccsdk/apps
[ccsdk/cds.git] / ms / cds-sdc-listener / application / src / test / java / org / onap / ccsdk / apps / cdssdclistener / CdsSdcListenerClientTest.java
1 /*
2  * Copyright (C) 2019 Bell Canada. All rights reserved.
3  *
4  * NOTICE:  All the intellectual and technical concepts contained herein are
5  * proprietary to Bell Canada and are protected by trade secret or copyright law.
6  * Unauthorized copying of this file, via any medium is strictly prohibited.
7  */
8
9 package org.onap.ccsdk.apps.cdssdclistener;
10
11 import mockit.Expectations;
12 import mockit.Injectable;
13 import mockit.Mock;
14 import mockit.MockUp;
15 import mockit.Tested;
16 import mockit.VerificationsInOrder;
17 import mockit.integration.junit4.JMockit;
18 import org.junit.Test;
19 import org.junit.runner.RunWith;
20 import org.onap.ccsdk.apps.cdssdclistener.exceptions.CdsSdcListenerException;
21 import org.onap.sdc.api.IDistributionClient;
22 import org.onap.sdc.api.results.IDistributionClientResult;
23 import org.onap.sdc.impl.DistributionClientFactory;
24 import org.onap.sdc.impl.DistributionClientResultImpl;
25 import org.onap.sdc.utils.DistributionActionResultEnum;
26
27 @RunWith(JMockit.class)
28 public class CdsSdcListenerClientTest {
29
30     @Tested
31     private CdsSdcListenerClient cdsSdcListenerClient;
32
33     @Test
34     public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient,
35         @Injectable CdsSdcListenerConfiguration configuration,
36         @Injectable CdsSdcListenerNotificationCallback notification,
37         @Injectable CdsSdcListenerDto cdsSdcListenerDto) throws CdsSdcListenerException {
38
39         // Arrange
40         new MockUp<DistributionClientFactory>() {
41             @Mock
42             public IDistributionClient createDistributionClient() {
43                 return distributionClient;
44             }
45         };
46
47         new Expectations() {{
48             distributionClient.init(configuration, notification);
49             result = getResult();
50         }};
51
52         new Expectations() {{
53             distributionClient.start();
54             result = getResult();
55         }};
56
57         // Act
58         cdsSdcListenerClient.initSdcClient();
59
60         // Verify
61         new VerificationsInOrder() {{
62             distributionClient.init(configuration, notification);
63             distributionClient.start();
64         }};
65     }
66
67     public IDistributionClientResult getResult() {
68         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,
69             DistributionActionResultEnum.SUCCESS.name());
70     }
71 }