Platform Hardening for DG - Part 8
[appc.git] / appc-directed-graph / appc-dgraph / provider / src / test / java / org / onap / appc / dg / mock / instance / MockAaiResource.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * 
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  * ============LICENSE_END=========================================================
23  */
24
25 package org.onap.appc.dg.mock.instance;
26
27
28 import java.util.Map;
29
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33 import org.onap.ccsdk.sli.core.sli.SvcLogicAdaptor;
34 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
35 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
36 import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
37 import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
38 import static org.junit.Assert.*;
39
40 public class MockAaiResource implements SvcLogicResource {
41
42     private final static Logger logger = LoggerFactory.getLogger(MockAaiResource.class);
43
44     @Override
45     public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
46         return QueryStatus.SUCCESS;
47     }
48
49     @Override
50     public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)  throws SvcLogicException {
51         return QueryStatus.SUCCESS;
52     }
53
54     public QueryStatus query(String resource, boolean localOnly, String select, String key,  String prefix, String orderBy, SvcLogicContext ctx) throws SvcLogicException {
55         if (ctx.getAttribute("j").equals("0") && "tmp.aai-data-vm".equals(prefix)) {
56             logger.info("Mock VM Get query1 called " + ctx.getAttribute("j") );
57
58             assertEquals(resource, "vserver");
59             assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
60
61             ctx.setAttribute("tmp.aai-data-vm.vserver-id", "vserverid1");
62
63             ctx.setAttribute("tmp.aai-data-vm.tenant-id", "tenantid1");
64             ctx.setAttribute("tmp.aai-data-vm.cloud-owner", "att-aic");
65             ctx.setAttribute("tmp.aai-data-vm.cloud-region-id", "cloudregionid1");
66         }
67         else if (ctx.getAttribute("j").equals("1") && "tmp.aai-data-vm".equals(prefix)) {
68             logger.info("Mock VM Get query1 called " + ctx.getAttribute("j") );
69
70             assertEquals(resource, "vserver");
71             assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
72
73             ctx.setAttribute("tmp.aai-data-vm.vserver-id", "vserverid2");
74             ctx.setAttribute("tmp.aai-data-vm.tenant-id", "tenantid2");
75             ctx.setAttribute("tmp.aai-data-vm.cloud-owner", "att-aic");
76             ctx.setAttribute("tmp.aai-data-vm.cloud-region-id", "cloudregionid2");
77         }
78         else if ("tmp.aai-data-vnfc".equals(prefix)) {
79             logger.info("Mock VNFC Get query1 called "  );
80
81             assertEquals(resource, "vnfc");
82             assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
83             return QueryStatus.NOT_FOUND;
84         }
85         return QueryStatus.SUCCESS;
86     }
87
88     public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix, SvcLogicContext ctx)  throws SvcLogicException {
89         logger.info("Mock query2 called " + ctx.getAttribute("j"));
90         return QueryStatus.SUCCESS;
91     }
92
93     @Override
94     public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
95         return QueryStatus.SUCCESS;
96     }
97
98     @Override
99     public QueryStatus save(String resource, boolean force, boolean localOnly, String key, Map<String, String> parms, String prefix, SvcLogicContext ctx) throws SvcLogicException {
100         logger.info("Mock Save called");
101         if (ctx.getAttribute("j").equals("0") &&
102                 ctx.getAttribute("k").equals("0") &&
103                 "tmp.vnfc-sys-controller".equals(prefix)) {
104             assertEquals(resource, "vnfc");
105             assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
106             assertEquals(parms.get("prov-status"), "NVTPROV");
107             assertEquals(parms.get("orchestration-status"), "CONFIGURED");
108             assertEquals(parms.get("in-maint"), "false");
109             assertEquals(parms.get("is-closed-loop"), "false");
110             assertEquals(parms.get("vnfc-function-code"), "funccode");
111             assertEquals(parms.get("vnfc-type"), "vnfctype");
112             assertEquals(parms.get("ipaddress-v4-oam-vip"), "135.1.1.1");
113             assertEquals(parms.get("group-notation"), "groupnotation");
114             assertEquals(parms.get("relationship-list.relationship[0].related-to"), "vserver");
115             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-key"), "vserver.vserver-id");
116             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-value"), "vserverid1");
117             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-key"), "tenant.tenant-id");
118             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-value"), "tenantid1");
119             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-key"), "cloud-region.cloud-owner");
120             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-value"), "att-aic");
121             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-key"), "cloud-region.cloud-region-id");
122             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-value"), "cloudregionid1");
123             assertEquals(parms.get("relationship-list.relationship[1].related-to"), "generic-vnf");
124             assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
125             assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-value"), "ibcx0001v");
126             assertEquals(parms.get("relationship-list.relationship[2].related-to"), "vf-module");
127             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
128             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-value"), "ibcx0001v");
129             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-key"), "vf-module.vf-module-id");
130             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-value"), "1");
131         }
132         else if (ctx.getAttribute("j").equals("1") &&
133                 ctx.getAttribute("k").equals("0") &&
134                 "tmp.vnfc-sys-controller".equals(prefix)) {
135             assertEquals(resource, "vnfc");
136             assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
137             assertEquals(parms.get("prov-status"), "NVTPROV");
138             assertEquals(parms.get("orchestration-status"), "CONFIGURED");
139             assertEquals(parms.get("in-maint"), "false");
140             assertEquals(parms.get("is-closed-loop"), "false");
141             assertEquals(parms.get("vnfc-function-code"), "funccode1");
142             assertEquals(parms.get("vnfc-type"), "vnfctype1");
143             assertEquals(parms.get("ipaddress-v4-oam-vip"), "135.2.2.2");
144             assertEquals(parms.get("group-notation"), "groupnotation1");
145             assertEquals(parms.get("relationship-list.relationship[0].related-to"), "vserver");
146             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-key"), "vserver.vserver-id");
147             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[0].relationship-value"), "vserverid2");
148             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-key"), "tenant.tenant-id");
149             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[1].relationship-value"), "tenantid2");
150             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-key"), "cloud-region.cloud-owner");
151             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[2].relationship-value"), "att-aic");
152             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-key"), "cloud-region.cloud-region-id");
153             assertEquals(parms.get("relationship-list.relationship[0].relationship-data[3].relationship-value"), "cloudregionid2");
154             assertEquals(parms.get("relationship-list.relationship[1].related-to"), "generic-vnf");
155             assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
156             assertEquals(parms.get("relationship-list.relationship[1].relationship-data[0].relationship-value"), "ibcx0001v");
157             assertEquals(parms.get("relationship-list.relationship[2].related-to"), "vf-module");
158             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-key"), "generic-vnf.vnf-id");
159             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[0].relationship-value"), "ibcx0001v");
160             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-key"), "vf-module.vf-module-id");
161             assertEquals(parms.get("relationship-list.relationship[2].relationship-data[1].relationship-value"), "1");
162         }
163         return QueryStatus.SUCCESS;
164     }
165
166     @Override
167     public QueryStatus release(String resource, String key, SvcLogicContext ctx)  throws SvcLogicException {
168         return QueryStatus.SUCCESS;
169     }
170
171     @Override
172     public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
173         return QueryStatus.SUCCESS;
174     }
175
176     @Override
177     public QueryStatus notify(String resource,     String action,    String key, SvcLogicContext ctx) throws SvcLogicException {
178         return QueryStatus.SUCCESS;
179     }
180
181     public QueryStatus update(String resource, String key,
182             Map<String, String> parms, String prefix, SvcLogicContext ctx)
183             throws SvcLogicException {
184         return QueryStatus.SUCCESS;
185     }
186
187 }
188
189
190
191
192