15906b158a5249987e25290c8284e0075419a3c9
[vfc/nfvo/resmanagement.git] /
1 /*\r
2  * Copyright 2018 Huawei Technologies Co., Ltd.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.vfc.nfvo.resmanagement.service.group.impl;\r
18 \r
19 import static org.junit.Assert.assertNotNull;\r
20 \r
21 import org.junit.Test;\r
22 import org.onap.vfc.nfvo.resmanagement.common.VimUtil;\r
23 import org.onap.vfc.nfvo.resmanagement.common.util.restclient.ServiceException;\r
24 import org.onap.vfc.nfvo.resmanagement.service.business.impl.LimitsBusinessImpl;\r
25 \r
26 import mockit.Mock;\r
27 import mockit.MockUp;\r
28 import net.sf.json.JSONArray;\r
29 import net.sf.json.JSONObject;\r
30 \r
31 public class GrantResServiceImplTest {\r
32 \r
33     @Test\r
34     public void testGrantResource() throws ServiceException {\r
35         GrantResServiceImpl impl = new GrantResServiceImpl();\r
36         JSONObject obj = new JSONObject();\r
37         JSONObject vimObj = new JSONObject();\r
38         vimObj.put("vimId", "vimId");\r
39         obj.put("additionalParam", vimObj);\r
40         new MockUp<VimUtil>() {\r
41 \r
42             @Mock\r
43             public JSONObject getVimById(String vimId) {\r
44                 JSONObject vim = new JSONObject();\r
45                 vim.put("tenant", "huawei");\r
46                 return vim;\r
47             }\r
48         };\r
49         JSONObject result = impl.grantResource(obj);\r
50         assertNotNull(result);\r
51     }\r
52 \r
53     /**\r
54      * <br>\r
55      * {\r
56      * "vnfInstanceId": 1,\r
57      * "addResource": [],\r
58      * "vimId": "1111",\r
59      * "removeResource": [],\r
60      * "additionalParam": {\r
61      * }\r
62      * }\r
63      * \r
64      * @throws ServiceException\r
65      * @since VFC 1.0\r
66      */\r
67     @Test\r
68     public void testGrantResourceReal() throws ServiceException {\r
69         GrantResServiceImpl impl = new GrantResServiceImpl();\r
70         JSONObject obj = new JSONObject();\r
71         JSONObject vimObj = getVimObj();\r
72         obj.put("additionalParam", vimObj);\r
73         obj.put("vimId", "vimId");\r
74         JSONArray addResource = new JSONArray();\r
75         addResource.add(getAddResObj());\r
76         obj.put("addResource", addResource);\r
77         new MockUp<VimUtil>() {\r
78 \r
79             @Mock\r
80             public JSONObject getVimById(String vimId) {\r
81                 return getVimObj();\r
82             }\r
83         };\r
84         new MockUp<LimitsBusinessImpl>() {\r
85 \r
86             @Mock\r
87             public JSONObject getLimits(String vimId) throws ServiceException {\r
88                 JSONObject result = new JSONObject();\r
89                 result.put("vimId", "vimId");\r
90                 result.put("vimName", "vimName");\r
91                 result.put("totalCPU", "10");\r
92                 result.put("totalMemory", "10");\r
93                 result.put("totalDisk", "10");\r
94                 result.put("usedCPU", "1");\r
95                 result.put("usedMemory", "1");\r
96                 result.put("usedDisk", "1");\r
97                 return result;\r
98             }\r
99         };\r
100 \r
101         JSONObject result = impl.grantResourceReal(obj);\r
102         assertNotNull(result);\r
103     }\r
104 \r
105     /**\r
106      * {\r
107      * "vimId": "57674786-5b2e-4c92-bb68-578dbd79e2f5",\r
108      * "name": "vim",\r
109      * "url": "http://10.74.151.13:5000/v2.0",\r
110      * "userName": "admin",\r
111      * "password": "admin",\r
112      * "tenant": "admin",\r
113      * "vendor": "HW",\r
114      * "version": "v1.0",\r
115      * "description": "",\r
116      * "domain": "",\r
117      * "type": "openstack",\r
118      * "createTime": "2016-07-18 12:22:53"\r
119      * }\r
120      * <br>\r
121      * \r
122      * @return\r
123      * @since VFC 1.0\r
124      */\r
125     private JSONObject getVimObj() {\r
126         JSONObject vimObj = new JSONObject();\r
127         vimObj.put("vimId", "57674786-5b2e-4c92-bb68-578dbd79e2f5");\r
128         vimObj.put("name", "vim");\r
129         vimObj.put("url", "http://10.74.151.13:5000/v2.0");\r
130         vimObj.put("userName", "admin");\r
131         vimObj.put("password", "admin");\r
132         vimObj.put("tenant", "admin");\r
133         vimObj.put("vendor", "HW");\r
134         vimObj.put("version", "v1.0");\r
135         vimObj.put("description", "");\r
136         vimObj.put("domain", "");\r
137         vimObj.put("type", "openstack");\r
138         vimObj.put("createTime", "");\r
139         return vimObj;\r
140     }\r
141 \r
142     /**\r
143      * {\r
144      * "resourceDefinitionId": "11111",\r
145      * "resourceTemplate": {\r
146      * "virtualComputeDescriptor": {\r
147      * "virtualCpu": {\r
148      * "numVirtualCpu": 1\r
149      * },\r
150      * "virtualMemory": {\r
151      * "virtualMemSize": 1//meminMB\r
152      * }\r
153      * },\r
154      * "virtualStorageDescriptor": {\r
155      * "typeOfStorage": "",\r
156      * "sizeOfStorage": 111,\r
157      * //diskinGB"swImageDescriptor": ""\r
158      * }\r
159      * },\r
160      * "type": "vdu",\r
161      * "vdu": "vdu_name"\r
162      * }\r
163      * <br>\r
164      * \r
165      * @return\r
166      * @since VFC 1.0\r
167      */\r
168     private JSONObject getAddResObj() {\r
169         JSONObject addResObj = new JSONObject();\r
170         JSONObject virtualCpu = new JSONObject();\r
171         virtualCpu.put("numVirtualCpu", 1);\r
172         JSONObject virtualMemory = new JSONObject();\r
173         virtualMemory.put("virtualMemSize", 1);\r
174         JSONObject virtualComputeDescriptor = new JSONObject();\r
175         virtualComputeDescriptor.put("virtualCpu", virtualCpu);\r
176         virtualComputeDescriptor.put("virtualMemory", virtualMemory);\r
177         JSONObject virtualStorageDescriptor = new JSONObject();\r
178         virtualStorageDescriptor.put("typeOfStorage", "");\r
179         virtualStorageDescriptor.put("sizeOfStorage", "1");\r
180         JSONObject resourceTemplate = new JSONObject();\r
181         resourceTemplate.put("virtualComputeDescriptor", virtualComputeDescriptor);\r
182         resourceTemplate.put("virtualStorageDescriptor", virtualStorageDescriptor);\r
183         addResObj.put("resourceDefinitionId", "1");\r
184         addResObj.put("resourceTemplate", resourceTemplate);\r
185 \r
186         return addResObj;\r
187     }\r
188 \r
189 }\r