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