459a701fe14632201ad0b0a8d656fd2fccdcd5a0
[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  * Modifications copyright (c) 2019 AT&T
21  * ===================================================================
22  *
23  */
24
25 package org.onap.clamp.clds.util.drawing;
26
27 import static org.mockito.Mockito.times;
28 import static org.mockito.Mockito.verify;
29
30 import java.util.Arrays;
31 import java.util.List;
32
33 import org.junit.Assert;
34 import org.junit.Test;
35 import org.junit.runner.RunWith;
36 import org.mockito.ArgumentCaptor;
37 import org.mockito.Captor;
38 import org.mockito.Mock;
39 import org.mockito.runners.MockitoJUnitRunner;
40 import org.onap.clamp.clds.sdc.controller.installer.MicroService;
41
42 @RunWith(MockitoJUnitRunner.class)
43 public class ClampGraphBuilderTest {
44     @Mock
45     private Painter mockPainter;
46
47     @Captor
48     private ArgumentCaptor<String> collectorCaptor;
49
50     @Captor
51     private ArgumentCaptor<List<MicroService>> microServicesCaptor;
52
53     @Captor
54     private ArgumentCaptor<String> policyCaptor;
55
56     @Test
57     public void clampGraphBuilderCompleteChainTest() {
58         String collector = "VES";
59         MicroService ms1 = new MicroService("ms1", "", "ms1_jpa_id");
60         MicroService ms2 = new MicroService("ms2", "", "ms2_jpa_id");
61         ;
62         String policy = "Policy";
63         List<MicroService> microServices = Arrays.asList(ms1, ms2);
64
65         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
66         clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).policy(policy).build();
67
68         verify(mockPainter, times(1)).doPaint(collectorCaptor.capture(), microServicesCaptor.capture(),
69             policyCaptor.capture());
70
71         Assert.assertEquals(collector, collectorCaptor.getValue());
72         Assert.assertEquals(microServices, microServicesCaptor.getValue());
73         Assert.assertEquals(policy, policyCaptor.getValue());
74     }
75
76     @Test(expected = InvalidStateException.class)
77     public void clampGraphBuilderNoPolicyGivenTest() {
78         String collector = "VES";
79         MicroService ms1 = new MicroService("ms1", "", "ms1_jpa_id");
80         MicroService ms2 = new MicroService("ms2", "", "ms2_jpa_id");
81
82         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
83         clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).build();
84     }
85
86     @Test(expected = InvalidStateException.class)
87     public void clampGraphBuilderNoMicroServiceGivenTest() {
88         String collector = "VES";
89         String policy = "Policy";
90
91         ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter);
92         clampGraphBuilder.collector(collector).policy(policy).build();
93     }
94 }