5e55f2f3190b83612c346dd8af0b75aee7da0d2a
[appc.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 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.openecomp.appc.dg.mock.instance;
22
23
24 import java.util.Map;
25
26 import org.slf4j.Logger;
27 import org.slf4j.LoggerFactory;
28
29 import org.openecomp.sdnc.sli.SvcLogicAdaptor;
30 import org.openecomp.sdnc.sli.SvcLogicContext;
31 import org.openecomp.sdnc.sli.SvcLogicException;
32 import org.openecomp.sdnc.sli.SvcLogicResource;
33 import org.openecomp.sdnc.sli.SvcLogicResource.QueryStatus;
34 import static org.junit.Assert.*;
35
36 public class MockAaiResource implements SvcLogicResource {
37
38         private final static Logger logger = LoggerFactory.getLogger(MockAaiResource.class);
39         
40         @Override
41         public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
42                 
43                 return QueryStatus.SUCCESS;
44                 
45         }
46         
47         @Override
48         public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)  throws SvcLogicException {
49                 
50                 return QueryStatus.SUCCESS;
51         }
52         
53         
54         
55         public QueryStatus query(String resource, boolean localOnly, String select, String key,  String prefix, String orderBy, SvcLogicContext ctx) throws SvcLogicException {
56                 
57                 if (ctx.getAttribute("j").equals("0") && "tmp.aai-data-vm".equals(prefix)) {
58                         logger.info("Mock VM Get query1 called " + ctx.getAttribute("j") );
59                         
60                         assertEquals(resource, "vserver");
61                         assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
62                         
63                         ctx.setAttribute("tmp.aai-data-vm.vserver-id", "vserverid1");
64                         
65                         ctx.setAttribute("tmp.aai-data-vm.tenant-id", "tenantid1");
66                         ctx.setAttribute("tmp.aai-data-vm.cloud-owner", "att-aic");
67                         ctx.setAttribute("tmp.aai-data-vm.cloud-region-id", "cloudregionid1");
68                 }
69                 else if (ctx.getAttribute("j").equals("1") && "tmp.aai-data-vm".equals(prefix)) {
70                         logger.info("Mock VM Get query1 called " + ctx.getAttribute("j") );
71                         
72                         assertEquals(resource, "vserver");
73                         assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
74                         
75                         
76                         ctx.setAttribute("tmp.aai-data-vm.vserver-id", "vserverid2");
77                         
78                         ctx.setAttribute("tmp.aai-data-vm.tenant-id", "tenantid2");
79                         ctx.setAttribute("tmp.aai-data-vm.cloud-owner", "att-aic");
80                         ctx.setAttribute("tmp.aai-data-vm.cloud-region-id", "cloudregionid2");
81                 }
82                 else if ("tmp.aai-data-vnfc".equals(prefix)) {
83                         logger.info("Mock VNFC Get query1 called "  );
84                         
85                         assertEquals(resource, "vnfc");
86                         assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
87                         
88                         return QueryStatus.NOT_FOUND;
89                 }
90                 return QueryStatus.SUCCESS;
91         }
92         
93         
94         public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix, SvcLogicContext ctx)  throws SvcLogicException {
95                 
96                 logger.info("Mock query2 called " + ctx.getAttribute("j"));
97                 
98                                 
99                 return QueryStatus.SUCCESS;
100         }
101         
102         @Override
103         public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
104                 
105                 return QueryStatus.SUCCESS;
106         }
107         
108         @Override
109         public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> parms, String prefix, SvcLogicContext ctx) throws SvcLogicException {
110                 
111                 logger.info("Mock Save called");
112                 if (ctx.getAttribute("j").equals("0") && 
113                                 ctx.getAttribute("k").equals("0") &&
114                                 "tmp.vnfc-sys-controller".equals(prefix)) {
115                         
116                         assertEquals(resource, "vnfc");
117                         
118                         assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
119                         
120                         
121                         assertEquals(parms.get("prov-status"), "NVTPROV");
122                         assertEquals(parms.get("orchestration-status"), "CONFIGURED");
123                         assertEquals(parms.get("in-maint"), "false");
124                         assertEquals(parms.get("is-closed-loop"), "false");
125                         
126                         
127                         assertEquals(parms.get("vnfc-function-code"), "funccode");
128                         assertEquals(parms.get("vnfc-type"), "vnfctype");
129                         assertEquals(parms.get("ipaddress-v4-oam-vip"), "135.1.1.1");
130                         assertEquals(parms.get("group-notation"), "groupnotation");
131                         
132                         assertEquals(parms.get("relationship-list.relationship[0].related-to"), "vserver");
133                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-key"), "vserver.vserver-id");
134                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-value"), "vserverid1");
135                         
136                         
137                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-key"), "tenant.tenant-id");
138                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-value"), "tenantid1");
139                         
140                         
141                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-key"), "cloud-region.cloud-owner");
142                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-value"), "att-aic");
143                         
144                         
145                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-key"), "cloud-region.cloud-region-id");
146                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-value"), "cloudregionid1");
147                         
148                         
149                         assertEquals(parms.get("relationship-list.relationship[1].related-to"), "generic-vnf");
150                         assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
151                         assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-value"), "ibcx0001v");
152                         
153                         
154                         assertEquals(parms.get("relationship-list.relationship[2].related-to"), "vf-module");
155                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
156                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-value"), "ibcx0001v");
157                         
158                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-key"), "vf-module.vf-module-id");
159                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-value"), "1");
160                         
161                 }
162                 else if (ctx.getAttribute("j").equals("1") && 
163                                 ctx.getAttribute("k").equals("0") &&
164                                 "tmp.vnfc-sys-controller".equals(prefix)) {
165                         
166                         assertEquals(resource, "vnfc");
167                         
168                         assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
169                         
170                         
171                         assertEquals(parms.get("prov-status"), "NVTPROV");
172                         assertEquals(parms.get("orchestration-status"), "CONFIGURED");
173                         assertEquals(parms.get("in-maint"), "false");
174                         assertEquals(parms.get("is-closed-loop"), "false");
175                         
176                         
177                         assertEquals(parms.get("vnfc-function-code"), "funccode1");
178                         assertEquals(parms.get("vnfc-type"), "vnfctype1");
179                         assertEquals(parms.get("ipaddress-v4-oam-vip"), "135.2.2.2");
180                         assertEquals(parms.get("group-notation"), "groupnotation1");
181                         
182                         assertEquals(parms.get("relationship-list.relationship[0].related-to"), "vserver");
183                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-key"), "vserver.vserver-id");
184                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-value"), "vserverid2");
185                         
186                         
187                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-key"), "tenant.tenant-id");
188                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-value"), "tenantid2");
189                         
190                         
191                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-key"), "cloud-region.cloud-owner");
192                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-value"), "att-aic");
193                         
194                         
195                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-key"), "cloud-region.cloud-region-id");
196                         assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-value"), "cloudregionid2");
197                         
198                         
199                         assertEquals(parms.get("relationship-list.relationship[1].related-to"), "generic-vnf");
200                         assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
201                         assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-value"), "ibcx0001v");
202                         
203                         
204                         assertEquals(parms.get("relationship-list.relationship[2].related-to"), "vf-module");
205                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
206                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-value"), "ibcx0001v");
207                         
208                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-key"), "vf-module.vf-module-id");
209                         assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-value"), "1");
210                 }
211                 return QueryStatus.SUCCESS;
212         }
213         
214         @Override
215         public QueryStatus release(String resource, String key, SvcLogicContext ctx)  throws SvcLogicException {
216                 
217                 return QueryStatus.SUCCESS;
218         }
219         
220         @Override
221         public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
222                 
223                 return QueryStatus.SUCCESS;
224         }
225         
226         
227         
228         @Override
229         public QueryStatus notify(String resource,      String action,  String key, SvcLogicContext ctx) throws SvcLogicException {
230         
231
232
233                 return QueryStatus.SUCCESS;
234         }
235
236         
237         public QueryStatus update(String resource, String key,
238                         Map<String, String> parms, String prefix, SvcLogicContext ctx)
239                         throws SvcLogicException {
240                 
241                 return QueryStatus.SUCCESS;
242         }
243
244 }
245
246
247
248
249