2 * ============LICENSE_START=======================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 * ============LICENSE_END=========================================================
25 package org.onap.appc.dg.mock.instance;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
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.*;
40 public class MockAaiResource implements SvcLogicResource {
42 private final static Logger logger = LoggerFactory.getLogger(MockAaiResource.class);
45 public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
46 return QueryStatus.SUCCESS;
50 public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
51 return QueryStatus.SUCCESS;
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") );
58 assertEquals(resource, "vserver");
59 assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
61 ctx.setAttribute("tmp.aai-data-vm.vserver-id", "vserverid1");
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");
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") );
70 assertEquals(resource, "vserver");
71 assertEquals(key, "'vserver-name = $request-parameters.vm[$j].vm-name'");
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");
78 else if ("tmp.aai-data-vnfc".equals(prefix)) {
79 logger.info("Mock VNFC Get query1 called " );
81 assertEquals(resource, "vnfc");
82 assertEquals(key, "'vnfc-name = $request-parameters.vm[$j].vnfc[$k].vnfc-name'");
83 return QueryStatus.NOT_FOUND;
85 return QueryStatus.SUCCESS;
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;
94 public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException {
95 return QueryStatus.SUCCESS;
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");
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");
163 return QueryStatus.SUCCESS;
167 public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
168 return QueryStatus.SUCCESS;
172 public QueryStatus delete(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
173 return QueryStatus.SUCCESS;
177 public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx) throws SvcLogicException {
178 return QueryStatus.SUCCESS;
181 public QueryStatus update(String resource, String key,
182 Map<String, String> parms, String prefix, SvcLogicContext ctx)
183 throws SvcLogicException {
184 return QueryStatus.SUCCESS;