aboutsummaryrefslogtreecommitdiffstats
path: root/ms/cds-sdc-listener/application/src/test/java/org/onap/ccsdk/apps/cdssdclistener/CdsSdcListenerClientTest.java
blob: 3a634b8c960a5dac6591df1b415f78679c8ff84f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
 * Copyright (C) 2019 Bell Canada. All rights reserved.
 *
 * NOTICE:  All the intellectual and technical concepts contained herein are
 * proprietary to Bell Canada and are protected by trade secret or copyright law.
 * Unauthorized copying of this file, via any medium is strictly prohibited.
 */

package org.onap.ccsdk.apps.cdssdclistener;

import mockit.Expectations;
import mockit.Injectable;
import mockit.Mock;
import mockit.MockUp;
import mockit.Tested;
import mockit.VerificationsInOrder;
import mockit.integration.junit4.JMockit;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.ccsdk.apps.cdssdclistener.exceptions.CdsSdcListenerException;
import org.onap.sdc.api.IDistributionClient;
import org.onap.sdc.api.results.IDistributionClientResult;
import org.onap.sdc.impl.DistributionClientFactory;
import org.onap.sdc.impl.DistributionClientResultImpl;
import org.onap.sdc.utils.DistributionActionResultEnum;

@RunWith(JMockit.class)
public class CdsSdcListenerClientTest {

    @Tested
    private CdsSdcListenerClient cdsSdcListenerClient;

    @Test
    public void testInitCdsClientSuccesfully(@Injectable IDistributionClient distributionClient,
        @Injectable CdsSdcListenerConfiguration configuration,
        @Injectable CdsSdcListenerNotificationCallback notification,
        @Injectable CdsSdcListenerDto cdsSdcListenerDto) throws CdsSdcListenerException {

        // Arrange
        new MockUp<DistributionClientFactory>() {
            @Mock
            public IDistributionClient createDistributionClient() {
                return distributionClient;
            }
        };

        new Expectations() {{
            distributionClient.init(configuration, notification);
            result = getResult();
        }};

        new Expectations() {{
            distributionClient.start();
            result = getResult();
        }};

        // Act
        cdsSdcListenerClient.initSdcClient();

        // Verify
        new VerificationsInOrder() {{
            distributionClient.init(configuration, notification);
            distributionClient.start();
        }};
    }

    public IDistributionClientResult getResult() {
        return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,
            DistributionActionResultEnum.SUCCESS.name());
    }
}