9486314627217a8afdbb9d8f07ea2d31fad2b423
[ccsdk/cds.git] /
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.cds.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.cds.cdssdclistener.client.CdsSdcListenerClient;
21 import org.onap.ccsdk.cds.cdssdclistener.dto.CdsSdcListenerDto;
22 import org.onap.ccsdk.cds.cdssdclistener.exceptions.CdsSdcListenerException;
23 import org.onap.sdc.api.IDistributionClient;
24 import org.onap.sdc.api.results.IDistributionClientResult;
25 import org.onap.sdc.impl.DistributionClientFactory;
26 import org.onap.sdc.impl.DistributionClientResultImpl;
27 import org.onap.sdc.utils.DistributionActionResultEnum;
28
29 @RunWith(JMockit.class)
30 public class CdsSdcListenerClientTest {
31
32     @Tested
33     private CdsSdcListenerClient cdsSdcListenerClient;
34
35     @Test
36     public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient,
37         @Injectable CdsSdcListenerConfiguration configuration,
38         @Injectable CdsSdcListenerNotificationCallback notification,
39         @Injectable CdsSdcListenerDto cdsSdcListenerDto) throws CdsSdcListenerException {
40
41         // Arrange
42         new MockUp<DistributionClientFactory>() {
43             @Mock
44             public IDistributionClient createDistributionClient() {
45                 return distributionClient;
46             }
47         };
48
49         new Expectations() {{
50             distributionClient.init(configuration, notification);
51             result = getResult();
52         }};
53
54         new Expectations() {{
55             distributionClient.start();
56             result = getResult();
57         }};
58
59         // Act
60         cdsSdcListenerClient.initSdcClient();
61
62         // Verify
63         new VerificationsInOrder() {{
64             distributionClient.init(configuration, notification);
65             distributionClient.start();
66         }};
67     }
68
69     public IDistributionClientResult getResult() {
70         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,
71             DistributionActionResultEnum.SUCCESS.name());
72     }
73 }