8c337865df5c69815425f7a44d49d439dd79b062
[so.git] / adapters / mso-adapter-utils / src / test / java / org / onap / so / openstack / utils / MsoNeutronUtilsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.so.openstack.utils;
22
23 import org.junit.Assert;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.onap.so.StubOpenStack;
27 import org.onap.so.BaseTest;
28 import org.onap.so.openstack.beans.NetworkInfo;
29 import org.onap.so.openstack.exceptions.MsoException;
30 import org.springframework.beans.factory.annotation.Autowired;
31
32 import java.io.IOException;
33 import java.util.ArrayList;
34 import java.util.List;
35
36 public class MsoNeutronUtilsTest extends BaseTest{
37     
38     @Autowired
39     private MsoNeutronUtils msoNeutronUtils;
40
41     private List<Integer> vlans;
42     
43     @Before
44     public void before() throws IOException {
45         vlans = new ArrayList<>();
46         vlans.add(3014);
47         StubOpenStack.mockOpenStackResponseAccess(wireMockServer, wireMockPort);
48     }
49     
50     @Test
51     public void createNetworkTest_OpenStackBaseException() throws Exception {
52         expectedException.expect(MsoException.class);
53         msoNeutronUtils.createNetwork("MTN13", "tenantId", 
54                 MsoNeutronUtils.NetworkType.PROVIDER,"networkName", "PROVIDER", vlans);
55     }
56
57     @Test
58     public void createNetworkTest_NetworkTypeAsMultiProvider() throws Exception {
59         StubOpenStack.mockOpenstackPostNetwork(wireMockServer, "OpenstackCreateNeutronNetworkResponse.json");
60         NetworkInfo networkInfo = msoNeutronUtils.createNetwork("MTN13", "tenantId",
61                 MsoNeutronUtils.NetworkType.MULTI_PROVIDER,"networkName","PROVIDER", vlans);
62
63         Assert.assertEquals("2a4017ef-31ff-496a-9294-e96ecc3bc9c9",networkInfo.getId());
64     }
65
66     @Test
67     public void createNetworkTest() throws Exception {
68         StubOpenStack.mockOpenstackPostNetwork(wireMockServer, "OpenstackCreateNeutronNetworkResponse.json");
69         NetworkInfo networkInfo = msoNeutronUtils.createNetwork("MTN13", "tenantId",
70                 MsoNeutronUtils.NetworkType.PROVIDER,"networkName","PROVIDER", vlans);
71
72         Assert.assertEquals("2a4017ef-31ff-496a-9294-e96ecc3bc9c9",networkInfo.getId());
73     }
74
75     @Test
76     public void queryNetworkTest() throws Exception {
77         StubOpenStack.mockOpenStackGetNeutronNetwork(wireMockServer, "GetNeutronNetwork.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
78         NetworkInfo networkInfo = msoNeutronUtils.queryNetwork("43173f6a-d699-414b-888f-ab243dda6dfe", "tenantId","MTN13");
79
80         Assert.assertEquals("net1",networkInfo.getName());
81     }
82
83     @Test
84     public void queryNetworkTest_404() throws Exception {
85         NetworkInfo networkInfo = msoNeutronUtils.queryNetwork("43173f6a-d699-414b-888f-ab243dda6dfe", "tenantId","MTN13");
86         Assert.assertNull(networkInfo);
87     }
88
89     @Test
90     public void queryNetworkTest_500() throws Exception {
91         expectedException.expect(MsoException.class);
92         StubOpenStack.mockOpenStackGetNeutronNetwork_500(wireMockServer, "43173f6a-d699-414b-888f-ab243dda6dfe");
93         msoNeutronUtils.queryNetwork("43173f6a-d699-414b-888f-ab243dda6dfe", "tenantId","MTN13");
94
95     }
96
97     @Test
98     public void deleteNetworkkTest() throws Exception {
99         StubOpenStack.mockOpenStackGetNeutronNetwork(wireMockServer, "GetNeutronNetwork.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
100         StubOpenStack.mockOpenStackDeleteNeutronNetwork(wireMockServer, "43173f6a-d699-414b-888f-ab243dda6dfe");
101         Boolean result = msoNeutronUtils.deleteNetwork("43173f6a-d699-414b-888f-ab243dda6dfe", "tenantId","MTN13");
102
103         Assert.assertTrue(result);
104     }
105
106     @Test
107     public void updateNetworkTest() throws Exception {
108         StubOpenStack.mockOpenStackGetNeutronNetwork(wireMockServer, "GetNeutronNetwork.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
109         StubOpenStack.mockOpenstackPutNetwork(wireMockServer, "OpenstackCreateNeutronNetworkResponse.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
110         NetworkInfo networkInfo = msoNeutronUtils.updateNetwork("MTN13", "tenantId",
111                 "43173f6a-d699-414b-888f-ab243dda6dfe",MsoNeutronUtils.NetworkType.PROVIDER,"PROVIDER", vlans);
112
113         Assert.assertEquals("2a4017ef-31ff-496a-9294-e96ecc3bc9c9",networkInfo.getId());
114     }
115
116     @Test
117     public void updateNetworkTest_NetworkTypeAsMultiProvider() throws Exception {
118         StubOpenStack.mockOpenStackGetNeutronNetwork(wireMockServer, "GetNeutronNetwork.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
119         StubOpenStack.mockOpenstackPutNetwork(wireMockServer, "OpenstackCreateNeutronNetworkResponse.json", "43173f6a-d699-414b-888f-ab243dda6dfe");
120         NetworkInfo networkInfo = msoNeutronUtils.updateNetwork("MTN13", "tenantId",
121                 "43173f6a-d699-414b-888f-ab243dda6dfe",MsoNeutronUtils.NetworkType.MULTI_PROVIDER,"PROVIDER", vlans);
122
123         Assert.assertEquals("2a4017ef-31ff-496a-9294-e96ecc3bc9c9",networkInfo.getId());
124     }
125 }