269ad42e16d6962f14caceb6976b7aa45b9e5da2
[clamp.git] / src / test / java / org / onap / clamp / clds / util / drawing / ClampGraphBuilderTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2019 Nokia. All rights
6  *                             reserved.
7  * ================================================================================
8  * Modifications Copyright (c) 2019 Samsung
9  * ================================================================================
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  * ============LICENSE_END============================================
22  * Modifications copyright (c) 2019 AT&T
23  * ===================================================================
24  *
25  */
26
27 package org.onap.clamp.clds.util.drawing;
28
29 import static org.mockito.Mockito.times;
30 import static org.mockito.Mockito.verify;
31
32 import java.util.Arrays;
33 import java.util.List;
34
35 import org.junit.Assert;
36 import org.junit.Test;
37 import org.junit.runner.RunWith;
38 import org.mockito.ArgumentCaptor;
39 import org.mockito.Captor;
40 import org.mockito.Mock;
41 import org.mockito.runners.MockitoJUnitRunner;
42 import org.onap.clamp.clds.sdc.controller.installer.MicroService;
43
44 @RunWith(MockitoJUnitRunner.class)
45 public class ClampGraphBuilderTest {
46     @Mock
47     private Painter mockPainter;
48
49     @Captor
50     private ArgumentCaptor<String> collectorCaptor;
51
52     @Captor
53     private ArgumentCaptor<List<MicroService>> microServicesCaptor;
54
55     @Captor
56     private ArgumentCaptor<String> policyCaptor;
57
58     @Test
59     public void clampGraphBuilderCompleteChainTest() {
60         String collector = "VES";
61         MicroService ms1 = new MicroService("ms1", "", "", "ms1_jpa_id");
62         MicroService ms2 = new MicroService("ms2", "", "", "ms2_jpa_id");
63
64         String policy = "OperationalPolicy";
65         final List<MicroService> microServices = Arrays.asList(ms1, ms2);
66
67         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
68         clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).policy(policy).build();
69
70         verify(mockPainter, times(1)).doPaint(collectorCaptor.capture(), microServicesCaptor.capture(),
71             policyCaptor.capture());
72
73         Assert.assertEquals(collector, collectorCaptor.getValue());
74         Assert.assertEquals(microServices, microServicesCaptor.getValue());
75         Assert.assertEquals(policy, policyCaptor.getValue());
76     }
77
78     @Test(expected = InvalidStateException.class)
79     public void clampGraphBuilderNoPolicyGivenTest() {
80         String collector = "VES";
81         MicroService ms1 = new MicroService("ms1", "", "", "ms1_jpa_id");
82         MicroService ms2 = new MicroService("ms2", "", "", "ms2_jpa_id");
83
84         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
85         clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).build();
86     }
87
88     @Test(expected = InvalidStateException.class)
89     public void clampGraphBuilderNoMicroServiceGivenTest() {
90         String collector = "VES";
91         String policy = "OperationalPolicy";
92
93         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
94         clampGraphBuilder.collector(collector).policy(policy).build();
95     }
96 }