2 * ============LICENSE_START=======================================================
3 * ONAP : ccsdk features
4 * ================================================================================
5 * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
7 * ================================================================================
8 * Update Copyright (C) 2021 Samsung Electronics Intellectual Property. All rights reserved.
9 * =================================================================================================
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 * ============LICENSE_END=========================================================
24 package org.onap.ccsdk.features.sdnr.wt.dataprovider.test;
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.assertNotEquals;
28 import static org.junit.Assert.assertNotNull;
29 import static org.junit.Assert.assertNull;
30 import static org.junit.Assert.assertTrue;
31 import static org.junit.Assert.fail;
32 import java.io.IOException;
33 import java.math.BigInteger;
34 import java.util.List;
35 import java.util.concurrent.TimeUnit;
36 import org.junit.BeforeClass;
37 import org.junit.Test;
38 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
39 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
40 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
41 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
42 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
43 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.BaseRequest;
44 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.DatabaseDataProvider;
45 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.ElasticSearchDataProvider;
46 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.HtUserdataManagerImpl;
47 import org.onap.ccsdk.features.sdnr.wt.dataprovider.http.UserdataHttpServlet;
48 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
49 import org.onap.ccsdk.features.sdnr.wt.dataprovider.test.util.HostInfoForTest;
50 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.DataProviderYangToolsMapper;
51 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmNotificationType;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmOperation;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmSourceIndicator;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInput;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInputBuilder;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceOutputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInput;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInputBuilder;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerOutputBuilder;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInput;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInput;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInputBuilder;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInput;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInput;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInputBuilder;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GranularityPeriodType;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInput;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInputBuilder;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListOutputBuilder;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInput;
78 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInputBuilder;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListOutputBuilder;
80 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInput;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInputBuilder;
82 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListOutputBuilder;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInput;
84 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInputBuilder;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListOutputBuilder;
86 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInput;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInputBuilder;
88 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListOutputBuilder;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInput;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInputBuilder;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListOutputBuilder;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInput;
93 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInputBuilder;
94 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListOutputBuilder;
95 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInput;
96 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInputBuilder;
97 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListOutputBuilder;
98 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInput;
99 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInputBuilder;
100 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListOutputBuilder;
101 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInput;
102 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInputBuilder;
103 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListOutputBuilder;
104 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInput;
105 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInputBuilder;
106 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
107 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInput;
108 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInputBuilder;
109 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListOutputBuilder;
110 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInput;
111 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInputBuilder;
112 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListOutputBuilder;
113 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInput;
114 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInputBuilder;
115 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListOutputBuilder;
116 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInput;
117 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInputBuilder;
118 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListOutputBuilder;
119 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
120 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInput;
121 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInputBuilder;
122 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceOutputBuilder;
123 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInput;
124 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInputBuilder;
125 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerOutputBuilder;
126 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
127 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInputBuilder;
128 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
129 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterBuilder;
130 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterKey;
131 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Pagination;
132 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.PaginationBuilder;
133 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data;
135 public class TestCRUDforDatabase {
137 private static DatabaseDataProvider dbProvider;
138 private static HtDatabaseClient dbRawProvider;
141 public static void init() throws Exception {
143 HostInfo[] hosts = HostInfoForTest.get();
144 dbProvider = new ElasticSearchDataProvider(hosts);
145 dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
146 dbRawProvider = HtDatabaseClient.getClient(hosts);
149 public static void trySleep(long ms) {
152 } catch (Exception e) {
153 Thread.currentThread().interrupt();
157 public static void trySleep() {
162 public void testStatus() throws IOException {
164 //== CLEAR AND CREATE ================================
165 clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
166 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
167 SeverityType.Critical);
168 createFaultEntity("Lorem Ipsum", Entity.Faultcurrent.getName(),
169 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
171 createFaultEntity("3", Entity.Faultcurrent.getName(),
172 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
174 createFaultEntity("4", Entity.Faultcurrent.getName(),
175 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
176 SeverityType.Warning);
178 //== READ ================================
180 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.status.output.Data> readOutput =
181 dbProvider.readStatus().getData();
182 System.out.println(readOutput);
184 assertEquals(1, readOutput.get(0).getFaults().getMajors().intValue());
185 assertEquals(1, readOutput.get(0).getFaults().getMinors().intValue());
186 assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
187 assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
189 //== DELETE ================================
191 System.out.println("try to delete entries");
193 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
194 } catch (Exception e) {
195 fail("problem deleting entry: " + e.getMessage());
198 //== VERIFY DELETE ===========================
199 System.out.println("verify entries were deleted");
200 readOutput = dbProvider.readStatus().getData();
201 assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
202 assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
203 assertEquals(0, readOutput.get(0).getFaults().getWarnings().intValue());
204 assertEquals(0, readOutput.get(0).getFaults().getCriticals().intValue());
208 public void testMediatorServer() {
209 final String NAME = "ms1";
210 final String URL = "http://11.23.45.55:4599";
211 final String NAME2 = "ms1-nu";
212 final String URL2 = "http://11.23.45.56:4599";
214 // ==CLEAR BEFORE TEST============================
215 System.out.println("try to clear entry");
217 dbRawProvider.doRemove(Entity.MediatorServer.getName(), QueryBuilders.matchAllQuery());
218 } catch (Exception e) {
219 fail("problem deleting entry: " + e.getMessage());
222 // ==CREATE============================
223 System.out.println("try to create entry");
224 CreateMediatorServerOutputBuilder createOutput = null;
225 CreateMediatorServerInput input = new CreateMediatorServerInputBuilder().setName(NAME).setUrl(URL).build();
229 createOutput = dbProvider.createMediatorServer(input);
230 dbId = createOutput.getId();
231 System.out.println(createOutput);
232 } catch (Exception e) {
233 fail("failed to create " + input.toString() + ":" + e.getMessage());
235 assertNotNull(createOutput);
238 // ==READ===========================
239 System.out.println("try to read entry");
240 ReadMediatorServerListInput readinput = new ReadMediatorServerListInputBuilder()
241 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
242 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
243 .setPagination(getPagination(20, 1)).build();
244 ReadMediatorServerListOutputBuilder readoutput = dbProvider.readMediatorServerList(readinput);
245 List<Data> data = readoutput.getData();
247 assertEquals("no entry found", 1, data.size());
248 assertEquals(NAME, data.get(0).getName());
249 assertEquals(URL, data.get(0).getUrl());
250 String dbId2 = data.get(0).getId();
251 assertEquals(dbId, dbId2);
252 System.out.println(data);
253 // ==UPDATE============================
254 System.out.println("try to update entry");
255 UpdateMediatorServerInput updateInput =
256 new UpdateMediatorServerInputBuilder().setId(dbId2).setName(NAME2).setUrl(URL2).build();
257 UpdateMediatorServerOutputBuilder updateOutput = null;
259 updateOutput = dbProvider.updateMediatorServer(updateInput);
260 System.out.println(updateOutput);
261 } catch (Exception e) {
262 fail("problem updating entry:" + e.getMessage());
264 assertNotNull(updateOutput);
266 // ==READ============================
267 System.out.println("try to read entry");
268 readinput = new ReadMediatorServerListInputBuilder()
269 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
270 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
271 .setPagination(getPagination(20, 1)).build();
272 readoutput = dbProvider.readMediatorServerList(readinput);
273 data = readoutput.getData();
274 System.out.println(data);
275 assertNotNull("no update response", data);
276 assertEquals("update not verifiied", 1, data.size());
277 assertEquals("update not verifiied", NAME2, data.get(0).getName());
278 assertEquals("update not verifiied", URL2, data.get(0).getUrl());
279 assertEquals("update not verifiied", dbId, data.get(0).getId());
280 // ==DELETE============================
281 System.out.println("try to delete entry");
282 DeleteMediatorServerInput deleteInput = new DeleteMediatorServerInputBuilder().setId(dbId).build();
284 dbProvider.deleteMediatorServer(deleteInput);
285 } catch (Exception e) {
286 fail("problem deleting entry: " + e.getMessage());
290 // ==READ/VERIFY DELETE============================
291 System.out.println("try to read entry");
292 readinput = new ReadMediatorServerListInputBuilder()
293 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
294 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
295 .setPagination(getPagination(20, 1)).build();
296 readoutput = dbProvider.readMediatorServerList(readinput);
297 data = readoutput.getData();
298 assertNotNull("delete not verifiied", data);
299 assertEquals("delete not verifiied", 0, data.size());
303 public void testNetworkElementConnectionCurrent() {
305 System.out.println("networkElementConnection test start");
307 // ==CLEAR BEFORE TEST============================
308 System.out.println("try to clear entry");
310 dbRawProvider.doRemove(Entity.NetworkelementConnection.getName(), QueryBuilders.matchAllQuery());
311 } catch (Exception e) {
312 fail("problem deleting entry: " + e.getMessage());
315 // ==CREATE============================
316 System.out.println("try to create");
317 final String name = "sim87";
318 final String url = "10.5.10.1";
319 final long port = 5959;
321 CreateNetworkElementConnectionOutputBuilder create = null;
322 CreateNetworkElementConnectionInput input = new CreateNetworkElementConnectionInputBuilder().setNodeId(name)
323 .setIsRequired(true).setHost(url).setPort(YangHelper2.getLongOrUint32(port)).build();
327 create = dbProvider.createNetworkElementConnection(input);
328 dbId = create.getId();
329 } catch (Exception e) {
330 fail("networkElementConnection create failed" + e.getMessage());
334 assertNotNull(create);
336 // ==READ===========================
338 ReadNetworkElementConnectionListInput readInput = new ReadNetworkElementConnectionListInputBuilder()
339 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
340 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
341 .setPagination(getPagination(20, 1)).build();
343 ReadNetworkElementConnectionListOutputBuilder readOperation =
344 dbProvider.readNetworkElementConnectionList(readInput);
345 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> data =
346 readOperation.getData();
349 assertEquals(dbId, data.get(0).getId());
350 assertEquals(name, data.get(0).getNodeId());
351 assertEquals(url, data.get(0).getHost());
352 assertEquals(port, data.get(0).getPort().longValue());
354 // ==UPDATE============================
355 System.out.println("Trying to update...");
356 final String url2 = "10.5.10.2";
357 final long port2 = 5960;
359 UpdateNetworkElementConnectionInput updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId)
360 .setHost(url2).setPort(YangHelper2.getLongOrUint32(port2)).setIsRequired(false).build();
361 UpdateNetworkElementConnectionOutputBuilder updateOutput = null;
363 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
364 } catch (Exception e) {
365 fail("update failed: " + e.getMessage());
368 assertNotNull(updateOutput);
370 // == Verify UPDATE============================
371 System.out.println("Verfiying update...");
373 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
374 data = readOperation.getData();
377 assertEquals(url2, data.get(0).getHost());
378 assertEquals(port2, data.get(0).getPort().longValue());
380 // ==PARTIAL UPDATE============================
381 System.out.println("Try partial update...");
382 assertEquals(false, data.get(0).isIsRequired());
383 updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId).setIsRequired(true).build();
385 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
386 } catch (Exception e) {
387 fail("update failed: " + e.getMessage());
390 assertNotNull(updateOutput);
392 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
393 data = readOperation.getData();
395 assertEquals(true, data.get(0).isIsRequired());
396 assertEquals(url2, data.get(0).getHost());
397 assertEquals(port2, data.get(0).getPort().longValue());
399 // ==DELETE============================
400 System.out.println("Try delete...");
402 DeleteNetworkElementConnectionInput deleteInput =
403 new DeleteNetworkElementConnectionInputBuilder().setId(dbId).build();
405 dbProvider.deleteNetworkElementConnection(deleteInput);
406 } catch (Exception e) {
407 fail("problem deleting " + e.getMessage());
410 readInput = new ReadNetworkElementConnectionListInputBuilder()
411 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
412 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
413 .setPagination(getPagination(20, 1)).build();
414 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
415 data = readOperation.getData();
416 assertEquals(0, data.size());
421 public void testMaintenance() {
422 System.out.println("Starting Maintenance tests...");
424 // ==CLEAR BEFORE TEST============================
425 System.out.println("try to clear entry");
427 dbRawProvider.doRemove(Entity.Maintenancemode.getName(), QueryBuilders.matchAllQuery());
428 } catch (Exception e) {
429 fail("problem deleting entry: " + e.getMessage());
432 // ==CREATE============================
434 final String nodeId = "Lorem Ipsum";
435 final boolean isActive = true;
437 CreateMaintenanceOutputBuilder create = null;
438 CreateMaintenanceInput input =
439 new CreateMaintenanceInputBuilder().setNodeId(nodeId).setActive(isActive).build();
442 create = dbProvider.createMaintenance(input);
443 dbId = create.getId();
444 } catch (Exception e) {
445 fail("Failed to create:" + e.getMessage());
448 System.out.println(dbId);
449 assertNotNull(create);
452 // ==READ===========================
453 System.out.println("Try read...");
455 ReadMaintenanceListInput readinput = new ReadMaintenanceListInputBuilder()
456 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
457 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
458 .setPagination(getPagination(20, 1)).build();
459 ReadMaintenanceListOutputBuilder readResult = dbProvider.readMaintenanceList(readinput);
460 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> data =
461 readResult.getData();
463 assertNotEquals(0, data.size());
465 assertEquals(nodeId, data.get(0).getNodeId());
466 assertEquals(isActive, data.get(0).isActive());
468 // ==UPDATE============================
470 System.out.println("Trying to update...");
471 final String nodeId2 = "Name2";
472 final boolean isActive2 = false;
474 UpdateMaintenanceInput updateInput =
475 new UpdateMaintenanceInputBuilder().setId(dbId).setNodeId(nodeId2).setActive(isActive2).build();
476 UpdateMaintenanceOutputBuilder updateResult = null;
478 updateResult = dbProvider.updateMaintenance(updateInput);
479 } catch (Exception e) {
480 fail("maintenance update failed..." + e.getMessage());
483 assertNotNull(updateResult);
485 // == VERIFY UPDATE============================
486 System.out.println("Verfify update...");
487 readResult = dbProvider.readMaintenanceList(readinput);
488 data = readResult.getData();
491 assertEquals(nodeId2, data.get(0).getNodeId());
492 assertEquals(isActive2, data.get(0).isActive());
494 // ==DELETE================================
495 System.out.println("Trying to delete...");
497 DeleteMaintenanceInput deleteInput = new DeleteMaintenanceInputBuilder().setId(dbId).build();
499 dbProvider.deleteMaintenance(deleteInput);
500 } catch (Exception e) {
501 fail("Maintenance entry couldn't be deleted" + e.getMessage());
504 readResult = dbProvider.readMaintenanceList(readinput);
505 data = readResult.getData();
507 assertEquals(0, data.size());
511 public void testFaultLog() {
513 System.out.println("Starting fault log tests...");
514 String dbId = clearAndCreatefaultEntity("1", Entity.Faultlog.getName(),
515 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
516 SeverityType.Critical);
518 // ==READ===========================
519 System.out.println("try to read entry");
521 ReadFaultlogListInput readinput = new ReadFaultlogListInputBuilder()
522 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
523 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
524 .setPagination(getPagination(20, 1)).build();
526 ReadFaultlogListOutputBuilder readResult = null;
528 readResult = dbProvider.readFaultLogList(readinput);
530 } catch (Exception e) {
531 fail("Fault log not read: " + e.getMessage());
534 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> data =
535 readResult.getData();
538 assertEquals(1, data.size());
539 assertEquals("signalIsLost", data.get(0).getProblem());
540 assertEquals("Critical", data.get(0).getSeverity().toString());
541 assertEquals("s1", data.get(0).getNodeId());
543 //== UPDATE ================================
544 System.out.println("try to update entry");
546 dbRawProvider.doUpdateOrCreate(Entity.Faultlog.getName(), "1",
547 "{'problem': 'CableLOS', 'severity': 'Major', 'node-id': 'test4657-78'}");
549 System.out.println("try to search entry 1");
550 readinput = new ReadFaultlogListInputBuilder()
551 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
552 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
553 .setPagination(getPagination(20, 1)).build();
555 //== VERIFY UPDATE ================================
556 readResult = dbProvider.readFaultLogList(readinput);
557 data = readResult.getData();
561 System.out.println(data);
562 assertEquals(0, data.size());
564 System.out.println("try to search entry 2");
566 readinput = new ReadFaultlogListInputBuilder()
567 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
568 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
569 .setPagination(getPagination(20, 1)).build();
571 readResult = dbProvider.readFaultLogList(readinput);
572 data = readResult.getData();
576 assertEquals(1, data.size());
577 assertEquals("CableLOS", data.get(0).getProblem());
578 assertEquals("Major", data.get(0).getSeverity().toString());
579 assertEquals("test4657-78", data.get(0).getNodeId());
581 //== DELETE ================================
583 System.out.println("try to clear entry");
585 dbRawProvider.doRemove(Entity.Faultlog.getName(), dbId);
586 } catch (Exception e) {
587 fail("problem deleting entry: " + e.getMessage());
590 //== VERIFY DELETE ===========================
591 System.out.println("verify entries deleted");
592 readResult = dbProvider
593 .readFaultLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
594 data = readResult.getData();
595 assertEquals(0, data.size());
599 public void testCMLog() {
600 System.out.println("Starting CM log test...");
601 String dbId = clearAndCreateCMEntity("1", Entity.Cmlog.getName(),
602 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateCmlogInput");
603 // ==READ===========================
604 System.out.println("try to read entry");
606 ReadCmlogListInput readinput = new ReadCmlogListInputBuilder()
607 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
608 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
609 .setPagination(getPagination(20, 1)).build();
611 ReadCmlogListOutputBuilder readResult = null;
613 readResult = dbProvider.readCMLogList(readinput);
615 } catch (Exception e) {
616 fail("CM log not read: " + e.getMessage());
619 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.cmlog.list.output.Data>
620 data = readResult.getData();
623 assertEquals("1", dbId);
624 assertEquals(1, data.size());
625 assertEquals("node-1", data.get(0).getNodeId());
626 assertEquals(1, data.get(0).getCounter().intValue());
627 assertEquals(CmNotificationType.NotifyMOIChanges, data.get(0).getNotificationType());
628 assertEquals("123", data.get(0).getNotificationId());
629 assertEquals(CmSourceIndicator.MANAGEMENTOPERATION, data.get(0).getSourceIndicator());
630 assertEquals(CmOperation.REPLACE, data.get(0).getOperation());
631 assertEquals("pnf-registration:true", data.get(0).getValue());
633 //== UPDATE ================================
634 System.out.println("try to update entry");
636 dbRawProvider.doUpdateOrCreate(Entity.Cmlog.getName(), "1",
637 "{'node-id': 'test4657-78','operation': 'CREATE', 'notification-id': '1'}");
639 System.out.println("try to search entry 1");
640 readinput = new ReadCmlogListInputBuilder()
641 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
642 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
643 .setPagination(getPagination(20, 1)).build();
645 //== VERIFY UPDATE ================================
646 readResult = dbProvider.readCMLogList(readinput);
647 data = readResult.getData();
650 System.out.println(data);
651 assertEquals(0, data.size());
653 System.out.println("try to search entry 2");
654 readinput = new ReadCmlogListInputBuilder()
655 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
656 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
657 .setPagination(getPagination(20, 1)).build();
659 readResult = dbProvider.readCMLogList(readinput);
660 data = readResult.getData();
662 assertEquals(1, data.size());
663 assertEquals("test4657-78", data.get(0).getNodeId());
664 assertEquals("CREATE", data.get(0).getOperation().toString());
665 assertEquals("1", data.get(0).getNotificationId());
667 //== DELETE ================================
669 System.out.println("try to clear entry");
671 dbRawProvider.doRemove(Entity.Cmlog.getName(), dbId);
672 } catch (Exception e) {
673 fail("problem deleting entry: " + e.getMessage());
676 //== VERIFY DELETE ===========================
677 System.out.println("verify entries deleted");
678 readResult = dbProvider
679 .readCMLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
680 data = readResult.getData();
681 assertEquals(0, data.size());
685 public void testFaultCurrent() {
686 System.out.println("Starting faultCurrent test...");
688 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
689 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
690 SeverityType.NonAlarmed);
691 assertEquals("1", dbId);
693 // ==READ===========================
694 System.out.println("Trying to read...");
697 ReadFaultcurrentListInput readinput = new ReadFaultcurrentListInputBuilder()
698 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
699 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
700 .setPagination(getPagination(20, 1)).build();
702 ReadFaultcurrentListOutputBuilder readResult = null;
704 readResult = dbProvider.readFaultCurrentList(readinput);
706 } catch (Exception e) {
707 fail("Fault log not read: " + e.getMessage());
710 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> data =
711 readResult.getData();
715 assertEquals(1, data.size());
716 assertEquals("signalIsLost", data.get(0).getProblem());
717 assertEquals("NonAlarmed", data.get(0).getSeverity().toString());
718 assertEquals("s1", data.get(0).getNodeId());
719 assertEquals(4340, data.get(0).getCounter().intValue());
720 assertEquals(new DateAndTime("2019-10-28T11:55:58.3Z"), data.get(0).getTimestamp());
721 assertEquals(4340, data.get(0).getCounter().intValue());
722 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
725 // ==UPDATE============================
726 System.out.println("Trying to update...");
728 String json = "{\n" + "\"timestamp\": \"2019-12-28T11:55:58.3Z\",\n" + "\"node-id\": \"SDN-Controller-0\",\n"
729 + "\"counter\": 75,\n" + "\"problem\": \"connectionLossNeOAM\",\n" + "}";
731 String updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Faultcurrent.getName(), dbId, json);
732 assertEquals(dbId, updatedDbId);
734 // ==READ============================
737 readResult = dbProvider.readFaultCurrentList(readinput);
739 } catch (Exception e) {
740 fail("Fault log not read: " + e.getMessage());
743 data = readResult.getData();
746 assertEquals(1, data.size());
747 assertEquals("connectionLossNeOAM", data.get(0).getProblem());
748 assertEquals("SDN-Controller-0", data.get(0).getNodeId());
749 assertEquals(75, data.get(0).getCounter().intValue());
750 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
752 // ==DELETE============================
754 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
755 } catch (Exception e) {
756 fail("problem deleting: " + e.getMessage());
759 // ==READ/VERIFY DELETE============================
762 readResult = dbProvider.readFaultCurrentList(readinput);
764 } catch (Exception e) {
765 fail("Fault log not read: " + e.getMessage());
768 data = readResult.getData();
771 assertEquals(0, data.size());
775 public void testConnectionLog() {
777 // ==CLEAR================================
778 System.out.println("Clear before test");
780 dbRawProvider.doRemove(Entity.Connectionlog.getName(), QueryBuilders.matchAllQuery());
781 } catch (Exception e) {
782 fail("problem deleting: " + e.getMessage());
785 // ==CREATE================================
787 System.out.println("Try create entry");
788 final String initialDbId = "1";
790 String json = "{\n" + "\"timestamp\": \"2019-11-01T11:28:34.7Z\",\n" + "\"status\": \"Connecting\",\n"
791 + "\"node-id\": \"sim2230\",\n"
792 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateConnectionlogInput\"\n"
795 dbId = dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), initialDbId, json);
797 assertEquals(initialDbId, dbId);
799 // ==READ================================
800 System.out.println("Try read entry");
802 ReadConnectionlogListInput readinput = new ReadConnectionlogListInputBuilder()
803 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
804 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
805 .setPagination(getPagination(20, 1)).build();
807 ReadConnectionlogListOutputBuilder readResult = null;
809 readResult = dbProvider.readConnectionlogList(readinput);
811 } catch (Exception e) {
812 fail("Connection log not read: " + e.getMessage());
815 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> data =
816 readResult.getData();
819 assertEquals(1, data.size());
820 assertEquals("Connecting", data.get(0).getStatus().toString());
821 assertEquals("sim2230", data.get(0).getNodeId());
824 // ==UPDATE================================
825 System.out.println("Try update entry");
827 dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), dbId, "{'status' : 'Connected'}");
829 // ==READ 2================================
830 System.out.println("Try read updated entry");
832 readinput = new ReadConnectionlogListInputBuilder()
833 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
834 new FilterBuilder().setProperty("status").setFiltervalue("Connected").build()))
835 .setPagination(getPagination(20, 1)).build();
838 readResult = dbProvider.readConnectionlogList(readinput);
840 } catch (Exception e) {
841 fail("Connection log not read: " + e.getMessage());
844 data = readResult.getData();
847 assertEquals(1, data.size());
848 assertEquals("Connected", data.get(0).getStatus().toString());
849 assertEquals("sim2230", data.get(0).getNodeId());
851 //== DELETE ================================
853 System.out.println("try to clear entry");
855 dbRawProvider.doRemove(Entity.Connectionlog.getName(), dbId);
856 } catch (Exception e) {
857 fail("problem deleting entry: " + e.getMessage());
860 //== VERIFY DELETE ===========================
861 System.out.println("verify entries deleted");
862 readResult = dbProvider.readConnectionlogList(
863 new ReadConnectionlogListInputBuilder().setPagination(getPagination(20, 1)).build());
864 data = readResult.getData();
865 assertEquals(0, data.size());
870 public void testEventLog() {
871 System.out.println("Test event log starting...");
873 // ==CLEAR================================
874 System.out.println("Clear before test");
876 dbRawProvider.doRemove(Entity.Eventlog.getName(), QueryBuilders.matchAllQuery());
877 } catch (Exception e) {
878 fail("problem deleting: " + e.getMessage());
880 // ==CREATE============================
883 String json = " {\n" + "\"timestamp\": \"2019-11-08T16:39:23.0Z\",\n" + "\"new-value\": \"done\",\n"
884 + "\"object-id\": \"SDN-Controller-0\",\n" + "\"attribute-name\": \"startup\",\n" + "\"counter\": 0,\n"
885 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Eventlog\",\n"
886 + "\"node-id\": \"SDN-Controller-0\"\n" + "}";
888 dbId = dbRawProvider.doUpdateOrCreate(Entity.Eventlog.getName(), "1", json);
891 // ==READ===========================
893 ReadEventlogListInput readinput = new ReadEventlogListInputBuilder()
894 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
895 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
896 .setPagination(getPagination(20, 1)).build();
897 ReadEventlogListOutputBuilder readResult = null;
899 readResult = dbProvider.readEventlogList(readinput);
901 } catch (Exception e) {
902 fail("problem reading eventlog");
905 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> data =
906 readResult.getData();
907 assertEquals(1, data.size());
909 //== DELETE ================================
911 System.out.println("try to clear entry");
913 dbRawProvider.doRemove(Entity.Eventlog.getName(), dbId);
914 } catch (Exception e) {
915 fail("problem deleting entry: " + e.getMessage());
918 //== VERIFY DELETE ===========================
919 System.out.println("verify entries deleted");
921 readResult = dbProvider
922 .readEventlogList(new ReadEventlogListInputBuilder().setPagination(getPagination(20, 1)).build());
923 } catch (IOException e) {
924 fail("problem reading eventlog");
926 data = readResult.getData();
927 assertEquals(0, data.size());
932 public void testInventory() {
934 System.out.println("Test inventory starting...");
936 // ==CLEAR================================
937 System.out.println("Clear before test");
939 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
940 } catch (Exception e) {
941 fail("problem deleting: " + e.getMessage());
945 // ==CREATE============================
948 String json = " {\"tree-level\": 1,\n" + " \"parent-uuid\": \"SHELF-1.1.0.0\",\n"
949 + " \"node-id\": \"sim2\",\n" + " \"uuid\": \"CARD-1.1.8.0\",\n"
950 + " \"contained-holder\": [ ],\n" + " \"manufacturer-name\": \"Lorem Ipsum\",\n"
951 + " \"manufacturer-identifier\": \"ONF-Wireless-Transport\",\n" + " \"serial\": \"sd-dsa-eqw\",\n"
952 + " \"date\": \"2008-10-21T00:00:00.0Z\",\n"
953 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory\",\n"
954 + " \"version\": \"unknown\",\n" + " \"description\": \"WS/DS3\",\n"
955 + " \"part-type-id\": \"unknown\",\n" + " \"model-identifier\": \"model-id-s3s\",\n"
956 + " \"type-name\": \"p4.module\"}";
958 dbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), "1 1", json);
961 // ==READ===========================
962 ReadInventoryListInput readinput = new ReadInventoryListInputBuilder()
963 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
964 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
965 .setPagination(getPagination(20, 1)).build();
966 ReadInventoryListOutputBuilder readResult = null;
968 readResult = dbProvider.readInventoryList(readinput);
970 } catch (Exception e) {
971 fail("Problem reading inventory list" + e.getMessage());
974 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> data =
975 readResult.getData();
976 assertEquals(1, data.size());
977 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
978 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
979 assertEquals("sim2", data.get(0).getNodeId());
980 assertEquals("unknown", data.get(0).getVersion());
981 assertEquals("WS/DS3", data.get(0).getDescription());
982 assertEquals("2008-10-21T00:00:00.0Z", data.get(0).getDate());
983 assertEquals("sd-dsa-eqw", data.get(0).getSerial());
984 System.out.println(data.get(0).getDate());
986 // ==UPDATE============================
987 String updatedDbId = null;
988 final String[] holderArray = {"Lorem Ipsum 1", "Lorem Ipsum 2", "Lorem Ipsum &%/$_2"};
989 String updatejson = " {" + " \"node-id\": \"sim5\",\n"
990 + " \"contained-holder\": [ \"Lorem Ipsum 1\", \"Lorem Ipsum 2\", \"Lorem Ipsum &%/$_2\" ],\n"
991 + " \"serial\": \"sd-dsa-eww\",\n" + " \"date\": \"2008-11-21T00:00:00.0Z\",\n"
992 + " \"part-type-id\": \"not unknown\",\n" + "}";
994 updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), dbId, updatejson);
995 assertEquals(dbId, updatedDbId);
998 readResult = dbProvider.readInventoryList(readinput);
1000 } catch (Exception e) {
1001 fail("Problem reading inventory list" + e.getMessage());
1004 data = readResult.getData();
1006 assertEquals(1, data.size());
1007 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
1008 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
1009 assertEquals("sim5", data.get(0).getNodeId());
1010 assertEquals("not unknown", data.get(0).getPartTypeId());
1011 assertEquals("WS/DS3", data.get(0).getDescription());
1012 assertEquals("2008-11-21T00:00:00.0Z", data.get(0).getDate());
1013 assertEquals("sd-dsa-eww", data.get(0).getSerial());
1014 assertEquals(holderArray.length, data.get(0).getContainedHolder().size());
1015 assertEquals(holderArray[0], data.get(0).getContainedHolder().get(0));
1016 assertEquals(holderArray[1], data.get(0).getContainedHolder().get(1));
1017 assertEquals(holderArray[2], data.get(0).getContainedHolder().get(2));
1019 // ==DELETE============================
1021 System.out.println("delete after test");
1023 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
1024 } catch (Exception e) {
1025 fail("problem deleting: " + e.getMessage());
1028 // ==VERIFY DELETE ============================
1031 readResult = dbProvider.readInventoryList(readinput);
1033 } catch (Exception e) {
1034 fail("Problem reading inventory list" + e.getMessage());
1037 data = readResult.getData();
1038 assertEquals(0, data.size());
1043 public void test15MinPerformanceReadLtpListWithoutNodeIdSetThrowsException() {
1045 System.out.println("Reading 15m ltp list without node id filter set throws an exception test start...");
1048 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1049 } catch (Exception e) {
1050 fail("problem deleting: " + e.getMessage());
1053 System.out.println("create entries...");
1055 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1056 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1058 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1059 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1060 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1061 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1063 System.out.println("trying to read, should throw exception...");
1066 ReadPmdata15mLtpListInput readLtp =
1067 new ReadPmdata15mLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1069 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1072 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1073 fail("No exception thrown!");
1074 } catch (Exception e) {
1075 System.out.println(e);
1076 assertTrue(e instanceof IllegalArgumentException);
1077 assertEquals("no nodename in filter found ", e.getMessage());
1080 assertNull(readltpResult);
1082 //== DELETE ================================
1084 System.out.println("try to clear entry");
1086 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1087 } catch (Exception e) {
1088 fail("problem deleting entry: " + e.getMessage());
1091 //== VERIFY DELETE ===========================
1092 System.out.println("verify entries deleted");
1093 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1096 new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build())
1099 assertEquals(0, data.size());
1103 public void test15MinPerformanceData() {
1104 // == CLEAR BEFORE TESTS ============================
1105 System.out.println("Test 15 min performance...");
1108 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1109 } catch (Exception e) {
1110 fail("problem deleting: " + e.getMessage());
1113 // == CREATE ============================
1115 System.out.println("create entries...");
1117 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1118 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1120 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1121 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1122 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1123 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1125 // == READ ============================
1126 System.out.println("read list entries...");
1128 ReadPmdata15mListInput read = new ReadPmdata15mListInputBuilder()
1129 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1130 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1131 .setPagination(getPagination(20, 1)).build();
1133 ReadPmdata15mListOutputBuilder readResult = null;
1136 readResult = dbProvider.readPmdata15mList(read);
1137 } catch (Exception e) {
1138 fail("Problem reading 15m data");
1141 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1142 readResult.getData();
1144 assertNotNull(data);
1145 assertEquals(2, data.size());
1147 System.out.println("read ltp entries with node name set...");
1149 ReadPmdata15mLtpListInput readLtp = new ReadPmdata15mLtpListInputBuilder()
1150 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1151 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1152 .setPagination(getPagination(20, 1)).build();
1154 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1157 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1158 } catch (Exception e) {
1159 fail("Problem reading 15m ltp data");
1162 List<String> dataLtp = readltpResult.getData();
1164 assertNotNull(dataLtp);
1165 assertEquals(2, dataLtp.size());
1166 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1167 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1169 System.out.println("read device entries...");
1171 ReadPmdata15mDeviceListInput readDevices =
1172 new ReadPmdata15mDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1174 ReadPmdata15mDeviceListOutputBuilder readDeviceResult = null;
1177 readDeviceResult = dbProvider.readPmdata15mDeviceList(readDevices);
1178 } catch (Exception e) {
1179 fail("Problem reading 15m device data");
1182 List<String> dataDevice = readDeviceResult.getData();
1184 assertNotNull(dataDevice);
1185 assertEquals(2, dataDevice.size());
1186 assertTrue(dataDevice.contains("a2"));
1187 assertTrue(dataDevice.contains("a3"));
1189 //== DELETE ================================
1191 System.out.println("try to clear entry");
1193 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1194 } catch (Exception e) {
1195 fail("problem deleting entry: " + e.getMessage());
1198 //== VERIFY DELETE ===========================
1199 System.out.println("verify entries deleted");
1200 readResult = dbProvider
1201 .readPmdata15mList(new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build());
1202 data = readResult.getData();
1203 assertEquals(0, data.size());
1208 public void test24hPerformanceData() {
1209 System.out.println("Test 24h performance...");
1212 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1213 } catch (Exception e) {
1214 fail("problem deleting: " + e.getMessage());
1217 System.out.println("create entries...");
1218 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1219 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1220 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1221 String aDbId = createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-06", "a2");
1223 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1224 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1225 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1227 System.out.println("read all list entries...");
1229 ReadPmdata24hListInput read = new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build();
1231 ReadPmdata24hListOutputBuilder readResult = null;
1234 readResult = dbProvider.readPmdata24hList(read);
1235 } catch (Exception e) {
1236 fail("Problem reading 24h data");
1239 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> data =
1240 readResult.getData();
1242 assertNotNull(data);
1243 assertEquals(6, data.size());
1246 System.out.println("filter list entries...");
1248 read = new ReadPmdata24hListInputBuilder()
1249 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1250 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1251 .setPagination(getPagination(20, 1)).build();
1256 readResult = dbProvider.readPmdata24hList(read);
1257 } catch (Exception e) {
1258 fail("Problem reading 24h data");
1261 data = readResult.getData();
1263 assertNotNull(data);
1264 assertEquals(3, data.size());
1266 System.out.println("read ltp entries with node name set...");
1268 ReadPmdata24hLtpListInput readLtp = new ReadPmdata24hLtpListInputBuilder()
1269 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1270 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1271 .setPagination(getPagination(20, 1)).build();
1273 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1276 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1277 } catch (Exception e) {
1278 fail("Problem reading 24h ltp data");
1281 List<String> dataLtp = readltpResult.getData();
1283 assertNotNull(dataLtp);
1284 assertEquals(3, dataLtp.size());
1285 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1286 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1287 assertTrue(dataLtp.contains("LP-MWPS-TTP-06"));
1290 System.out.println("read device entries...");
1292 ReadPmdata24hDeviceListInput readDevices =
1293 new ReadPmdata24hDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1295 ReadPmdata24hDeviceListOutputBuilder readDeviceResult = null;
1298 readDeviceResult = dbProvider.readPmdata24hDeviceList(readDevices);
1299 } catch (Exception e) {
1300 fail("Problem reading 24h device data");
1303 List<String> dataDevice = readDeviceResult.getData();
1305 assertNotNull(dataDevice);
1306 assertEquals(2, dataDevice.size());
1307 assertTrue(dataDevice.contains("a2"));
1308 assertTrue(dataDevice.contains("a3"));
1310 // == UPDATE ==============================
1312 boolean success = dbRawProvider.doUpdate(Entity.Historicalperformance24h.getName(),
1313 "{'uuid-interface':'LTP-TEST-MWP-097'}", QueryBuilders.termQuery("_id", aDbId));
1314 assertTrue("update dbentry not succeeded", success);
1316 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1317 } catch (Exception e) {
1318 fail("Problem reading 24h ltp data");
1321 // == VERIFY UPDATE ==============================
1323 dataLtp = readltpResult.getData();
1325 assertNotNull(dataLtp);
1326 assertEquals(3, dataLtp.size());
1327 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1328 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1329 assertTrue(dataLtp.contains("LTP-TEST-MWP-097"));
1333 //== DELETE ===========================
1335 System.out.println("try to clear entries");
1337 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1338 } catch (Exception e) {
1339 fail("problem deleting entry: " + e.getMessage());
1342 //== VERIFY DELETE ===========================
1343 System.out.println("verify entries deleted");
1344 readResult = dbProvider
1345 .readPmdata24hList(new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build());
1346 data = readResult.getData();
1347 assertEquals(0, data.size());
1351 public void test24hPerformanceDataReadLtpListWithoutNodeIdSetThrowsException() {
1352 System.out.println("Test 24 hour tp list without node id filter set throws an exception test start...\"...");
1355 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1356 } catch (Exception e) {
1357 fail("problem deleting: " + e.getMessage());
1360 System.out.println("create entries...");
1362 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1363 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1364 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1366 createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1367 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1368 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1369 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1371 System.out.println("trying to read, should throw exception...");
1374 ReadPmdata24hLtpListInput readLtp =
1375 new ReadPmdata24hLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1377 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1380 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1381 fail("No exception thrown!");
1382 } catch (Exception e) {
1383 System.out.println(e);
1384 assertTrue(e instanceof IllegalArgumentException);
1385 assertEquals("no nodename in filter found ", e.getMessage());
1388 assertNull(readltpResult);
1391 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1392 } catch (Exception e) {
1393 fail("problem deleting: " + e.getMessage());
1398 public void testUrlEncoding() {
1399 System.out.println("Testing url encding");
1401 final String test = "Lorem Ipsum";
1402 final String test1 = "Lorem/Ipsum";
1403 final String test2 = "Lorem_Ipsum";
1404 final String test3 = "Lorem%Ipsum";
1406 assertEquals("Lorem%20Ipsum", BaseRequest.urlEncodeValue(test));
1407 assertEquals("Lorem%2FIpsum", BaseRequest.urlEncodeValue(test1));
1408 assertEquals("Lorem_Ipsum", BaseRequest.urlEncodeValue(test2));
1409 assertEquals("Lorem%25Ipsum", BaseRequest.urlEncodeValue(test3));
1413 public void testDoUpdateOrCreateWithNullId() {
1414 System.out.println("Test DoUpdateOrCreate doesn't create new database entry if null is passed");
1416 String dbId = clearAndCreatefaultEntity(null, Entity.Faultlog.getName(),
1417 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
1418 SeverityType.Critical);
1423 public void readTestFaultCurrentViaRawDbProvider() {
1424 System.out.println("Starting faultCurrent test...");
1426 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
1427 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
1428 SeverityType.Critical);
1429 assertEquals("1", dbId);
1431 // ==READ===========================
1432 System.out.println("Trying to read...");
1434 String readResult = null;
1436 readResult = dbRawProvider.doReadJsonData(Entity.Faultcurrent.getName(), dbId);
1438 } catch (Exception e) {
1439 fail("Fault log not read: " + e.getMessage());
1443 String expectedDbResult =
1444 "{\"severity\":\"Critical\",\"node-id\":\"s1\",\"problem\":\"signalIsLost\",\"counter\":4340,\"object-id\":\"LP-MWPS-RADIO\",\"implemented-interface\":\"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput\",\"type\":\"ProblemNotificationXml\",\"timestamp\":\"2019-10-28T11:55:58.3Z\"}";
1446 System.out.println(readResult);
1447 assertNotNull(readResult);
1448 assertEquals(expectedDbResult, readResult);
1450 SearchResult<SearchHit> searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1451 assertNotNull(searchResult);
1453 List<SearchHit> hits = searchResult.getHits();
1455 assertNotNull(hits);
1456 assertEquals(1, searchResult.getTotal());
1457 assertEquals(expectedDbResult, hits.get(0).getSourceAsString());
1459 //== DELETE ==============================
1461 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
1462 } catch (Exception e) {
1463 fail("problem deleting: " + e.getMessage());
1465 //== VERIFY DELETE ========================
1466 searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1467 hits = searchResult.getHits();
1468 assertNotNull(hits);
1469 assertEquals(0, searchResult.getTotal());
1474 public void testOutputCamelCase() throws ClassNotFoundException {
1476 String jsonString = "{\n" + "\"timestamp\": \"2020-02-20T09:31:22.3Z\",\n"
1477 + "\"object-id\": \"LP-MWPS-RADIO\",\n" + "\"severity\": \"Critical\",\n" + "\"counter\": 10,\n"
1478 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog\",\n"
1479 + "\"source-type\": \"Netconf\",\n" + "\"node-id\": \"sim4\",\n" + "\"problem\": \"signalIsLost\"\n"
1481 DataProviderYangToolsMapper yangtoolsMapper = new DataProviderYangToolsMapper();
1482 Faultlog log = yangtoolsMapper.readValue(jsonString, Faultlog.class);
1483 System.out.println(yangtoolsMapper.writeValueAsString((new FaultlogBuilder(log).build())));
1484 System.out.println("Check3");
1485 } catch (IOException e) {
1486 e.printStackTrace();
1493 public void testUserdata() {
1494 final String USERNAME = "admin";
1495 final String DATA1 = "{\n" + " \"networkMap\":{\n"
1496 + " \"startupPosition\": {\"lat\": 52.5095, \"lon\":13.329, \"zoom\": 10},\n"
1497 + " \"tileOpacity\": 90,\n" + " \"styling\":{\n" + " \"theme\": \"light\"\n"
1498 + " }\n" + " },\n" + " \"dashboard\":{\n" + " \"color\":\"#F00\"\n" + " }\n"
1500 HtUserdataManagerImpl client = new HtUserdataManagerImpl(dbRawProvider);
1501 boolean success = client.setUserdata(USERNAME, DATA1);
1502 assertTrue(success);
1503 String data = client.getUserdata(USERNAME);
1504 //JSONAssert.assertEquals(DATA1,data,false);
1506 assertEquals("admin", UserdataHttpServlet.decodeJWTPayloadUsername(String.format("Bearer %s",
1507 "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBzZG4iLCJyb2xlcyI6WyJ1c2VyIiwiYWRtaW4iXSwiaXN"
1508 + "zIjoiT3BlbmRheWxpZ2h0IiwibmFtZSI6ImFkbWluQHNkbiIsImV4cCI6MTYxNTc5NTg1NywiZmFtaWx5X25hbWUiOiIifQ.wB"
1509 + "PdB45_bryU6_kSCu3be3dq3yth24niSXi6b2_1ufc"),
1513 private Pagination getPagination(long pageSize, int page) {
1514 return new PaginationBuilder().setPage(YangHelper2.getBigIntegerOrUint64(BigInteger.valueOf(page)))
1515 .setSize(YangHelper2.getLongOrUint32(pageSize)).build();
1519 private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1520 SeverityType severity) {
1521 // ==CLEAR BEFORE TEST============================
1522 System.out.println("try to clear entry");
1524 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1525 } catch (Exception e) {
1526 fail("problem deleting: " + e.getMessage());
1530 return createFaultEntity(initialDbId, entityType, implementedInterface, severity);
1533 private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1534 SeverityType severity) {
1535 // ==CREATE============================
1536 System.out.println("try to create entry");
1541 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1542 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\"object-id\": \"LP-MWPS-RADIO\",\n"
1543 + "\"severity\": \"" + severity.toString() + "\",\n" + "\"node-id\": \"s1\",\n"
1544 + "\"implemented-interface\": \"" + implementedInterface + "\",\n" + "\"counter\": 4340,\n"
1545 + "\"problem\": \"signalIsLost\",\n" + "\"type\": \"ProblemNotificationXml\"\n" + "}");
1549 } catch (Exception e) {
1550 fail("Problem creating fault log entry" + e.getMessage());
1556 private String clearAndCreateCMEntity(String initialDbId, String entityType, String implementedInterface) {
1557 // ==CLEAR BEFORE TEST============================
1558 System.out.println("try to clear entry");
1560 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1561 } catch (Exception e) {
1562 fail("problem deleting: " + e.getMessage());
1564 return createCMEntity(initialDbId, entityType, implementedInterface);
1567 private String createCMEntity(String initialDbId, String entityType, String implementedInterface) {
1568 // ==CREATE============================
1569 System.out.println("try to create entry");
1573 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1574 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n"
1575 + "\" object-id\": \"LP-MWPS-RADIO\",\n"
1576 + "\"node-id\": \"node-1\",\n"
1577 + "\"counter\": 1,\n"
1578 + "\"notification-type\": \"" + CmNotificationType.NotifyMOIChanges.toString() + "\",\n"
1579 + "\"notification-id\": 123,\n"
1580 + "\"source-indicator\": \"" + CmSourceIndicator.MANAGEMENTOPERATION.toString() + "\",\n"
1581 + "\" path\": \"https://samsung.com/3GPP/simulation/network-function/ves=1\",\n"
1582 + "\"operation\": \"" + CmOperation.REPLACE.toString() + "\",\n"
1583 + "\"value\": \"pnf-registration:true\",\n"
1584 + "\"implemented-interface\": \"" + implementedInterface + "\"\n"
1587 } catch (Exception e) {
1588 fail("Problem creating CM log entry" + e.getMessage());
1595 private String createPerformanceData(String initialDbId, GranularityPeriodType timeInterval, String scannerId,
1596 String uuidInterface, String nodename) {
1598 String json = "{\n" + "\"node-name\": \"" + nodename + "\",\n" + "\"uuid-interface\": \"" + uuidInterface
1599 + "\",\n" + "\"layer-protocol-name\": \"MWPS\",\n" + "\"radio-signal-id\": \"Test8\",\n"
1600 + "\"time-stamp\": \"2017-03-01T06:15:00.0Z\",\n" + "\"granularity-period\": \""
1601 + timeInterval.toString() + "\",\n" + "\"scanner-id\": \"" + scannerId + "\",\n"
1602 + "\"performance-data\": {\n" + "\"cses\": 0,\n" + "\"ses\": 0,\n" + "\"es\": 0,\n"
1603 + "\"tx-level-max\": 3,\n" + "\"tx-level-avg\": 3,\n" + "\"rx-level-min\": -44,\n"
1604 + "\"rx-level-max\": -45,\n" + "\"rx-level-avg\": -44,\n" + "\"time2-states\": 0,\n"
1605 + "\"time4-states-s\": 0,\n" + "\"time4-states\": 0,\n" + "\"time8-states\": -1,\n"
1606 + "\"time16-states-s\": -1,\n" + "\"time16-states\": 0,\n" + "\"time32-states\": -1,\n"
1607 + "\"time64-states\": 900,\n" + "\"time128-states\": -1,\n" + "\"time256-states\": -1,\n"
1608 + "\"time512-states\": -1,\n" + "\"time512-states-l\": -1,\n" + "\"unavailability\": 0,\n"
1609 + "\"tx-level-min\": 3,\n" + "\"time1024-states\": -1,\n" + "\"time1024-states-l\": -1,\n"
1610 + "\"time2048-states\": -1,\n" + "\"time2048-states-l\": -1,\n" + "\"time4096-states\": -1,\n"
1611 + "\"time4096-states-l\": -1,\n" + "\"time8192-states\": -1,\n" + "\"time8192-states-l\": -1,\n"
1612 + "\"snir-min\": -99,\n" + "\"snir-max\": -99,\n" + "\"snir-avg\": -99,\n" + "\"xpd-min\": -99,\n"
1613 + "\"xpd-max\": -99,\n" + "\"xpd-avg\": -99,\n" + "\"rf-temp-min\": -99,\n" + "\"rf-temp-max\": -99,\n"
1614 + "\"rf-temp-avg\": -99,\n" + "\"defect-blocks-sum\": -1,\n" + "\"time-period\": 900\n" + "},\n"
1615 + "\"suspect-interval-flag\": false\n" + "}";
1617 if (timeInterval.equals(GranularityPeriodType.Period15Min)) {
1618 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance15min.getName(), initialDbId, json);
1620 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance24h.getName(), initialDbId, json);