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.Arrays;
35 import java.util.List;
38 import java.util.concurrent.TimeUnit;
39 import org.junit.BeforeClass;
40 import org.junit.Test;
41 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
42 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
43 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
44 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
45 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
46 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.BaseRequest;
47 import org.onap.ccsdk.features.sdnr.wt.common.test.JSONAssert;
48 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.ElasticSearchDataProvider;
49 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.HtUserdataManagerImpl;
50 import org.onap.ccsdk.features.sdnr.wt.dataprovider.http.UserdataHttpServlet;
51 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DatabaseDataProvider;
52 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
53 import org.onap.ccsdk.features.sdnr.wt.dataprovider.test.util.HostInfoForTest;
54 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.DataProviderYangToolsMapper;
55 import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapperHelper;
56 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmNotificationType;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmOperation;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmSourceIndicator;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionLogStatus;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInput;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInputBuilder;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceOutputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInput;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInputBuilder;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerOutputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInput;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionOutputBuilder;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInput;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInputBuilder;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInput;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInputBuilder;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInput;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInputBuilder;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EntityInput;
78 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
80 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GranularityPeriodType;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionBuilder;
82 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInput;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInputBuilder;
84 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListOutputBuilder;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInput;
86 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInputBuilder;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListOutputBuilder;
88 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInput;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInputBuilder;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListOutputBuilder;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInput;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInputBuilder;
93 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListOutputBuilder;
94 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInput;
95 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInputBuilder;
96 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListOutputBuilder;
97 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInput;
98 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInputBuilder;
99 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListOutputBuilder;
100 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInput;
101 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInputBuilder;
102 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListOutputBuilder;
103 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInput;
104 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInputBuilder;
105 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListOutputBuilder;
106 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInput;
107 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInputBuilder;
108 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListOutputBuilder;
109 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInput;
110 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInputBuilder;
111 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListOutputBuilder;
112 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInput;
113 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInputBuilder;
114 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
115 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInput;
116 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInputBuilder;
117 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListOutputBuilder;
118 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInput;
119 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInputBuilder;
120 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListOutputBuilder;
121 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInput;
122 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInputBuilder;
123 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListOutputBuilder;
124 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInput;
125 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInputBuilder;
126 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListOutputBuilder;
127 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadStatusInputBuilder;
128 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
129 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInput;
130 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInputBuilder;
131 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceOutputBuilder;
132 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInput;
133 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInputBuilder;
134 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerOutputBuilder;
135 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
136 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInputBuilder;
137 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
138 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Filter;
139 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterBuilder;
140 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterKey;
141 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Pagination;
142 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.PaginationBuilder;
143 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data;
144 import org.opendaylight.yangtools.yang.common.Uint32;
146 public class TestCRUDforDatabase {
148 private static DatabaseDataProvider dbProvider;
149 private static HtDatabaseClient dbRawProvider;
152 public static void init() throws Exception {
154 HostInfo[] hosts = HostInfoForTest.get();
155 dbProvider = new ElasticSearchDataProvider(hosts);
156 dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
157 dbRawProvider = HtDatabaseClient.getClient(hosts);
160 public static void trySleep(long ms) {
163 } catch (Exception e) {
164 Thread.currentThread().interrupt();
168 public static void trySleep() {
173 public void testStatus() throws IOException {
175 //== CLEAR AND CREATE ================================
176 clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
177 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
178 SeverityType.Critical, "nodeA");
179 createFaultEntity("Lorem Ipsum", Entity.Faultcurrent.getName(),
180 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
181 SeverityType.Major, "nodeB");
182 createFaultEntity("3", Entity.Faultcurrent.getName(),
183 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
184 SeverityType.Minor, "nodeC");
185 createFaultEntity("4", Entity.Faultcurrent.getName(),
186 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
187 SeverityType.Warning, "nodeA");
189 createNeConnection("nodeA", "10.20.30.40", 30000, ConnectionLogStatus.Connected);
190 createNeConnection("nodeB", "10.20.30.40", 31000, ConnectionLogStatus.Connected);
191 createNeConnection("nodeC", "10.20.30.40", 32000, ConnectionLogStatus.Connected);
192 createNeConnection("nodeAD", "10.20.30.40", 33000, ConnectionLogStatus.Connected);
193 createNeConnection("nodeE", "10.20.30.40", 34000, ConnectionLogStatus.Connected);
194 createNeConnection("nodeF", "10.20.30.40", 35000, ConnectionLogStatus.Connected);
195 //== READ ================================
197 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.status.output.Data> readOutput =
198 dbProvider.readStatus(null).getData();
199 System.out.println(readOutput);
203 assertEquals(1, readOutput.get(0).getFaults().getMajors().intValue());
204 assertEquals(1, readOutput.get(0).getFaults().getMinors().intValue());
205 assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
206 assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
207 Map<FilterKey, Filter> filter = YangToolsMapperHelper
208 .toMap(Arrays.asList(new FilterBuilder().setProperty("node-id").setFiltervalue("nodeA").build()));
209 EntityInput input = new ReadStatusInputBuilder().setFilter(filter).build();
210 readOutput = dbProvider.readStatus(input).getData();
211 System.out.println(readOutput);
212 assertEquals(1, readOutput.get(0).getNetworkElementConnections().getConnected().intValue());
213 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getConnecting().intValue());
214 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getDisconnected().intValue());
215 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getMounted().intValue());
216 assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
217 assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
218 assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
219 assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
222 //== DELETE ================================
224 System.out.println("try to delete entries");
226 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
227 } catch (Exception e) {
228 fail("problem deleting entry: " + e.getMessage());
231 //== VERIFY DELETE ===========================
232 System.out.println("verify entries were deleted");
233 readOutput = dbProvider.readStatus(null).getData();
234 assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
235 assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
236 assertEquals(0, readOutput.get(0).getFaults().getWarnings().intValue());
237 assertEquals(0, readOutput.get(0).getFaults().getCriticals().intValue());
243 public void testMediatorServer() {
244 final String NAME = "ms1";
245 final String URL = "http://11.23.45.55:4599";
246 final String NAME2 = "ms1-nu";
247 final String URL2 = "http://11.23.45.56:4599";
249 // ==CLEAR BEFORE TEST============================
250 System.out.println("try to clear entry");
252 dbRawProvider.doRemove(Entity.MediatorServer.getName(), QueryBuilders.matchAllQuery());
253 } catch (Exception e) {
254 fail("problem deleting entry: " + e.getMessage());
257 // ==CREATE============================
258 System.out.println("try to create entry");
259 CreateMediatorServerOutputBuilder createOutput = null;
260 CreateMediatorServerInput input = new CreateMediatorServerInputBuilder().setName(NAME).setUrl(URL).build();
264 createOutput = dbProvider.createMediatorServer(input);
265 dbId = createOutput.getId();
266 System.out.println(createOutput);
267 } catch (Exception e) {
268 fail("failed to create " + input.toString() + ":" + e.getMessage());
270 assertNotNull(createOutput);
273 // ==READ===========================
274 System.out.println("try to read entry");
275 ReadMediatorServerListInput readinput = new ReadMediatorServerListInputBuilder()
276 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
277 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
278 .setPagination(getPagination(20, 1)).build();
279 ReadMediatorServerListOutputBuilder readoutput = dbProvider.readMediatorServerList(readinput);
280 List<Data> data = readoutput.getData();
282 assertEquals("no entry found", 1, data.size());
283 assertEquals(NAME, data.get(0).getName());
284 assertEquals(URL, data.get(0).getUrl());
285 String dbId2 = data.get(0).getId();
286 assertEquals(dbId, dbId2);
287 System.out.println(data);
288 // ==UPDATE============================
289 System.out.println("try to update entry");
290 UpdateMediatorServerInput updateInput =
291 new UpdateMediatorServerInputBuilder().setId(dbId2).setName(NAME2).setUrl(URL2).build();
292 UpdateMediatorServerOutputBuilder updateOutput = null;
294 updateOutput = dbProvider.updateMediatorServer(updateInput);
295 System.out.println(updateOutput);
296 } catch (Exception e) {
297 fail("problem updating entry:" + e.getMessage());
299 assertNotNull(updateOutput);
301 // ==READ============================
302 System.out.println("try to read entry");
303 readinput = new ReadMediatorServerListInputBuilder()
304 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
305 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
306 .setPagination(getPagination(20, 1)).build();
307 readoutput = dbProvider.readMediatorServerList(readinput);
308 data = readoutput.getData();
309 System.out.println(data);
310 assertNotNull("no update response", data);
311 assertEquals("update not verifiied", 1, data.size());
312 assertEquals("update not verifiied", NAME2, data.get(0).getName());
313 assertEquals("update not verifiied", URL2, data.get(0).getUrl());
314 assertEquals("update not verifiied", dbId, data.get(0).getId());
315 // ==DELETE============================
316 System.out.println("try to delete entry");
317 DeleteMediatorServerInput deleteInput = new DeleteMediatorServerInputBuilder().setId(dbId).build();
319 dbProvider.deleteMediatorServer(deleteInput);
320 } catch (Exception e) {
321 fail("problem deleting entry: " + e.getMessage());
325 // ==READ/VERIFY DELETE============================
326 System.out.println("try to read entry");
327 readinput = new ReadMediatorServerListInputBuilder()
328 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
329 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
330 .setPagination(getPagination(20, 1)).build();
331 readoutput = dbProvider.readMediatorServerList(readinput);
332 data = readoutput.getData();
333 assertNotNull("delete not verifiied", data);
334 assertEquals("delete not verifiied", 0, data.size());
338 public void testNetworkElementConnectionCurrent() {
340 System.out.println("networkElementConnection test start");
342 // ==CLEAR BEFORE TEST============================
343 System.out.println("try to clear entry");
345 dbRawProvider.doRemove(Entity.NetworkelementConnection.getName(), QueryBuilders.matchAllQuery());
346 } catch (Exception e) {
347 fail("problem deleting entry: " + e.getMessage());
350 // ==CREATE============================
351 System.out.println("try to create");
352 final String name = "sim87";
353 final String url = "10.5.10.1";
354 final long port = 5959;
356 CreateNetworkElementConnectionOutputBuilder create = null;
357 CreateNetworkElementConnectionInput input = new CreateNetworkElementConnectionInputBuilder().setNodeId(name)
358 .setIsRequired(true).setHost(url).setPort(YangHelper2.getLongOrUint32(port)).build();
362 create = dbProvider.createNetworkElementConnection(input);
363 dbId = create.getId();
364 } catch (Exception e) {
365 fail("networkElementConnection create failed" + e.getMessage());
369 assertNotNull(create);
371 // ==READ===========================
373 ReadNetworkElementConnectionListInput readInput = new ReadNetworkElementConnectionListInputBuilder()
374 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
375 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
376 .setPagination(getPagination(20, 1)).build();
378 ReadNetworkElementConnectionListOutputBuilder readOperation =
379 dbProvider.readNetworkElementConnectionList(readInput);
380 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> data =
381 readOperation.getData();
384 assertEquals(dbId, data.get(0).getId());
385 assertEquals(name, data.get(0).getNodeId());
386 assertEquals(url, data.get(0).getHost());
387 assertEquals(port, data.get(0).getPort().longValue());
389 // ==UPDATE============================
390 System.out.println("Trying to update...");
391 final String url2 = "10.5.10.2";
392 final long port2 = 5960;
394 UpdateNetworkElementConnectionInput updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId)
395 .setHost(url2).setPort(YangHelper2.getLongOrUint32(port2)).setIsRequired(false).build();
396 UpdateNetworkElementConnectionOutputBuilder updateOutput = null;
398 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
399 } catch (Exception e) {
400 fail("update failed: " + e.getMessage());
403 assertNotNull(updateOutput);
405 // == Verify UPDATE============================
406 System.out.println("Verfiying update...");
408 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
409 data = readOperation.getData();
412 assertEquals(url2, data.get(0).getHost());
413 assertEquals(port2, data.get(0).getPort().longValue());
415 // ==PARTIAL UPDATE============================
416 System.out.println("Try partial update...");
417 assertEquals(false, data.get(0).requireIsRequired());
418 updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId).setIsRequired(true).build();
420 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
421 } catch (Exception e) {
422 fail("update failed: " + e.getMessage());
425 assertNotNull(updateOutput);
427 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
428 data = readOperation.getData();
430 assertEquals(true, data.get(0).requireIsRequired());
431 assertEquals(url2, data.get(0).getHost());
432 assertEquals(port2, data.get(0).getPort().longValue());
434 // ==DELETE============================
435 System.out.println("Try delete...");
437 DeleteNetworkElementConnectionInput deleteInput =
438 new DeleteNetworkElementConnectionInputBuilder().setId(dbId).build();
440 dbProvider.deleteNetworkElementConnection(deleteInput);
441 } catch (Exception e) {
442 fail("problem deleting " + e.getMessage());
445 readInput = new ReadNetworkElementConnectionListInputBuilder()
446 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
447 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
448 .setPagination(getPagination(20, 1)).build();
449 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
450 data = readOperation.getData();
451 assertEquals(0, data.size());
456 public void testMaintenance() {
457 System.out.println("Starting Maintenance tests...");
459 // ==CLEAR BEFORE TEST============================
460 System.out.println("try to clear entry");
462 dbRawProvider.doRemove(Entity.Maintenancemode.getName(), QueryBuilders.matchAllQuery());
463 } catch (Exception e) {
464 fail("problem deleting entry: " + e.getMessage());
467 // ==CREATE============================
469 final String nodeId = "Lorem Ipsum";
470 final boolean isActive = true;
472 CreateMaintenanceOutputBuilder create = null;
473 CreateMaintenanceInput input =
474 new CreateMaintenanceInputBuilder().setNodeId(nodeId).setActive(isActive).build();
477 create = dbProvider.createMaintenance(input);
478 dbId = create.getId();
479 } catch (Exception e) {
480 fail("Failed to create:" + e.getMessage());
483 System.out.println(dbId);
484 assertNotNull(create);
487 // ==READ===========================
488 System.out.println("Try read...");
490 ReadMaintenanceListInput readinput = new ReadMaintenanceListInputBuilder()
491 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
492 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
493 .setPagination(getPagination(20, 1)).build();
494 ReadMaintenanceListOutputBuilder readResult = dbProvider.readMaintenanceList(readinput);
495 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> data =
496 readResult.getData();
498 assertNotEquals(0, data.size());
500 assertEquals(nodeId, data.get(0).getNodeId());
501 assertEquals(isActive, data.get(0).requireActive());
503 // ==UPDATE============================
505 System.out.println("Trying to update...");
506 final String nodeId2 = "Name2";
507 final boolean isActive2 = false;
509 UpdateMaintenanceInput updateInput =
510 new UpdateMaintenanceInputBuilder().setId(dbId).setNodeId(nodeId2).setActive(isActive2).build();
511 UpdateMaintenanceOutputBuilder updateResult = null;
513 updateResult = dbProvider.updateMaintenance(updateInput);
514 } catch (Exception e) {
515 fail("maintenance update failed..." + e.getMessage());
518 assertNotNull(updateResult);
520 // == VERIFY UPDATE============================
521 System.out.println("Verfify update...");
522 readResult = dbProvider.readMaintenanceList(readinput);
523 data = readResult.getData();
526 assertEquals(nodeId2, data.get(0).getNodeId());
527 assertEquals(isActive2, data.get(0).getActive());
529 // ==DELETE================================
530 System.out.println("Trying to delete...");
532 DeleteMaintenanceInput deleteInput = new DeleteMaintenanceInputBuilder().setId(dbId).build();
534 dbProvider.deleteMaintenance(deleteInput);
535 } catch (Exception e) {
536 fail("Maintenance entry couldn't be deleted" + e.getMessage());
539 readResult = dbProvider.readMaintenanceList(readinput);
540 data = readResult.getData();
542 assertEquals(0, data.size());
546 public void testFaultLog() {
548 System.out.println("Starting fault log tests...");
549 String dbId = clearAndCreatefaultEntity("1", Entity.Faultlog.getName(),
550 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
551 SeverityType.Critical);
553 // ==READ===========================
554 System.out.println("try to read entry");
556 ReadFaultlogListInput readinput = new ReadFaultlogListInputBuilder()
557 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
558 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
559 .setPagination(getPagination(20, 1)).build();
561 ReadFaultlogListOutputBuilder readResult = null;
563 readResult = dbProvider.readFaultLogList(readinput);
565 } catch (Exception e) {
566 fail("Fault log not read: " + e.getMessage());
569 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> data =
570 readResult.getData();
573 assertEquals(1, data.size());
574 assertEquals("signalIsLost", data.get(0).getProblem());
575 assertEquals("Critical", data.get(0).getSeverity().toString());
576 assertEquals("s1", data.get(0).getNodeId());
578 //== UPDATE ================================
579 System.out.println("try to update entry");
581 dbRawProvider.doUpdateOrCreate(Entity.Faultlog.getName(), "1",
582 "{'problem': 'CableLOS', 'severity': 'Major', 'node-id': 'test4657-78'}");
584 System.out.println("try to search entry 1");
585 readinput = new ReadFaultlogListInputBuilder()
586 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
587 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
588 .setPagination(getPagination(20, 1)).build();
590 //== VERIFY UPDATE ================================
591 readResult = dbProvider.readFaultLogList(readinput);
592 data = readResult.getData();
596 System.out.println(data);
597 assertEquals(0, data.size());
599 System.out.println("try to search entry 2");
601 readinput = new ReadFaultlogListInputBuilder()
602 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
603 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
604 .setPagination(getPagination(20, 1)).build();
606 readResult = dbProvider.readFaultLogList(readinput);
607 data = readResult.getData();
611 assertEquals(1, data.size());
612 assertEquals("CableLOS", data.get(0).getProblem());
613 assertEquals("Major", data.get(0).getSeverity().toString());
614 assertEquals("test4657-78", data.get(0).getNodeId());
616 //== DELETE ================================
618 System.out.println("try to clear entry");
620 dbRawProvider.doRemove(Entity.Faultlog.getName(), dbId);
621 } catch (Exception e) {
622 fail("problem deleting entry: " + e.getMessage());
625 //== VERIFY DELETE ===========================
626 System.out.println("verify entries deleted");
627 readResult = dbProvider
628 .readFaultLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
629 data = readResult.getData();
630 assertEquals(0, data.size());
634 public void testCMLog() {
635 System.out.println("Starting CM log test...");
636 String dbId = clearAndCreateCMEntity("1", Entity.Cmlog.getName(),
637 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateCmlogInput");
638 // ==READ===========================
639 System.out.println("try to read entry");
641 ReadCmlogListInput readinput = new ReadCmlogListInputBuilder()
642 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
643 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
644 .setPagination(getPagination(20, 1)).build();
646 ReadCmlogListOutputBuilder readResult = null;
648 readResult = dbProvider.readCMLogList(readinput);
650 } catch (Exception e) {
651 fail("CM log not read: " + e.getMessage());
654 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.cmlog.list.output.Data> data =
655 readResult.getData();
658 assertEquals("1", dbId);
659 assertEquals(1, data.size());
660 assertEquals("node-1", data.get(0).getNodeId());
661 assertEquals(1, data.get(0).getCounter().intValue());
662 assertEquals(CmNotificationType.NotifyMOIChanges, data.get(0).getNotificationType());
663 assertEquals("123", data.get(0).getNotificationId());
664 assertEquals(CmSourceIndicator.MANAGEMENTOPERATION, data.get(0).getSourceIndicator());
665 assertEquals(CmOperation.REPLACE, data.get(0).getOperation());
666 assertEquals("pnf-registration:true", data.get(0).getValue());
668 //== UPDATE ================================
669 System.out.println("try to update entry");
671 dbRawProvider.doUpdateOrCreate(Entity.Cmlog.getName(), "1",
672 "{'node-id': 'test4657-78','operation': 'CREATE', 'notification-id': '1'}");
674 System.out.println("try to search entry 1");
675 readinput = new ReadCmlogListInputBuilder()
676 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
677 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
678 .setPagination(getPagination(20, 1)).build();
680 //== VERIFY UPDATE ================================
681 readResult = dbProvider.readCMLogList(readinput);
682 data = readResult.getData();
685 System.out.println(data);
686 assertEquals(0, data.size());
688 System.out.println("try to search entry 2");
689 readinput = new ReadCmlogListInputBuilder()
690 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
691 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
692 .setPagination(getPagination(20, 1)).build();
694 readResult = dbProvider.readCMLogList(readinput);
695 data = readResult.getData();
697 assertEquals(1, data.size());
698 assertEquals("test4657-78", data.get(0).getNodeId());
699 assertEquals("CREATE", data.get(0).getOperation().toString());
700 assertEquals("1", data.get(0).getNotificationId());
702 //== DELETE ================================
704 System.out.println("try to clear entry");
706 dbRawProvider.doRemove(Entity.Cmlog.getName(), dbId);
707 } catch (Exception e) {
708 fail("problem deleting entry: " + e.getMessage());
711 //== VERIFY DELETE ===========================
712 System.out.println("verify entries deleted");
713 readResult = dbProvider
714 .readCMLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
715 data = readResult.getData();
716 assertEquals(0, data.size());
720 public void testFaultCurrent() {
721 System.out.println("Starting faultCurrent test...");
723 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
724 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
725 SeverityType.NonAlarmed);
726 assertEquals("1", dbId);
728 // ==READ===========================
729 System.out.println("Trying to read...");
732 ReadFaultcurrentListInput readinput = new ReadFaultcurrentListInputBuilder()
733 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
734 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
735 .setPagination(getPagination(20, 1)).build();
737 ReadFaultcurrentListOutputBuilder readResult = null;
739 readResult = dbProvider.readFaultCurrentList(readinput);
741 } catch (Exception e) {
742 fail("Fault log not read: " + e.getMessage());
745 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> data =
746 readResult.getData();
750 assertEquals(1, data.size());
751 assertEquals("signalIsLost", data.get(0).getProblem());
752 assertEquals("NonAlarmed", data.get(0).getSeverity().toString());
753 assertEquals("s1", data.get(0).getNodeId());
754 assertEquals(4340, data.get(0).getCounter().intValue());
755 assertEquals(new DateAndTime("2019-10-28T11:55:58.3Z"), data.get(0).getTimestamp());
756 assertEquals(4340, data.get(0).getCounter().intValue());
757 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
760 // ==UPDATE============================
761 System.out.println("Trying to update...");
763 String json = "{\n" + "\"timestamp\": \"2019-12-28T11:55:58.3Z\",\n" + "\"node-id\": \"SDN-Controller-0\",\n"
764 + "\"counter\": 75,\n" + "\"problem\": \"connectionLossNeOAM\",\n" + "}";
766 String updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Faultcurrent.getName(), dbId, json);
767 assertEquals(dbId, updatedDbId);
769 // ==READ============================
772 readResult = dbProvider.readFaultCurrentList(readinput);
774 } catch (Exception e) {
775 fail("Fault log not read: " + e.getMessage());
778 data = readResult.getData();
781 assertEquals(1, data.size());
782 assertEquals("connectionLossNeOAM", data.get(0).getProblem());
783 assertEquals("SDN-Controller-0", data.get(0).getNodeId());
784 assertEquals(75, data.get(0).getCounter().intValue());
785 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
787 // ==DELETE============================
789 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
790 } catch (Exception e) {
791 fail("problem deleting: " + e.getMessage());
794 // ==READ/VERIFY DELETE============================
797 readResult = dbProvider.readFaultCurrentList(readinput);
799 } catch (Exception e) {
800 fail("Fault log not read: " + e.getMessage());
803 data = readResult.getData();
806 assertEquals(0, data.size());
810 public void testConnectionLog() {
812 // ==CLEAR================================
813 System.out.println("Clear before test");
815 dbRawProvider.doRemove(Entity.Connectionlog.getName(), QueryBuilders.matchAllQuery());
816 } catch (Exception e) {
817 fail("problem deleting: " + e.getMessage());
820 // ==CREATE================================
822 System.out.println("Try create entry");
823 final String initialDbId = "1";
825 String json = "{\n" + "\"timestamp\": \"2019-11-01T11:28:34.7Z\",\n" + "\"status\": \"Connecting\",\n"
826 + "\"node-id\": \"sim2230\",\n"
827 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateConnectionlogInput\"\n"
830 dbId = dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), initialDbId, json);
832 assertEquals(initialDbId, dbId);
834 // ==READ================================
835 System.out.println("Try read entry");
837 ReadConnectionlogListInput readinput = new ReadConnectionlogListInputBuilder()
838 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
839 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
840 .setPagination(getPagination(20, 1)).build();
842 ReadConnectionlogListOutputBuilder readResult = null;
844 readResult = dbProvider.readConnectionlogList(readinput);
846 } catch (Exception e) {
847 fail("Connection log not read: " + e.getMessage());
850 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> data =
851 readResult.getData();
854 assertEquals(1, data.size());
855 assertEquals("Connecting", data.get(0).getStatus().toString());
856 assertEquals("sim2230", data.get(0).getNodeId());
859 // ==UPDATE================================
860 System.out.println("Try update entry");
862 dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), dbId, "{'status' : 'Connected'}");
864 // ==READ 2================================
865 System.out.println("Try read updated entry");
867 readinput = new ReadConnectionlogListInputBuilder()
868 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
869 new FilterBuilder().setProperty("status").setFiltervalue("Connected").build()))
870 .setPagination(getPagination(20, 1)).build();
873 readResult = dbProvider.readConnectionlogList(readinput);
875 } catch (Exception e) {
876 fail("Connection log not read: " + e.getMessage());
879 data = readResult.getData();
882 assertEquals(1, data.size());
883 assertEquals("Connected", data.get(0).getStatus().toString());
884 assertEquals("sim2230", data.get(0).getNodeId());
886 //== DELETE ================================
888 System.out.println("try to clear entry");
890 dbRawProvider.doRemove(Entity.Connectionlog.getName(), dbId);
891 } catch (Exception e) {
892 fail("problem deleting entry: " + e.getMessage());
895 //== VERIFY DELETE ===========================
896 System.out.println("verify entries deleted");
897 readResult = dbProvider.readConnectionlogList(
898 new ReadConnectionlogListInputBuilder().setPagination(getPagination(20, 1)).build());
899 data = readResult.getData();
900 assertEquals(0, data.size());
905 public void testEventLog() {
906 System.out.println("Test event log starting...");
908 // ==CLEAR================================
909 System.out.println("Clear before test");
911 dbRawProvider.doRemove(Entity.Eventlog.getName(), QueryBuilders.matchAllQuery());
912 } catch (Exception e) {
913 fail("problem deleting: " + e.getMessage());
915 // ==CREATE============================
918 String json = " {\n" + "\"timestamp\": \"2019-11-08T16:39:23.0Z\",\n" + "\"new-value\": \"done\",\n"
919 + "\"object-id\": \"SDN-Controller-0\",\n" + "\"attribute-name\": \"startup\",\n" + "\"counter\": 0,\n"
920 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Eventlog\",\n"
921 + "\"node-id\": \"SDN-Controller-0\"\n" + "}";
923 dbId = dbRawProvider.doUpdateOrCreate(Entity.Eventlog.getName(), "1", json);
926 // ==READ===========================
928 ReadEventlogListInput readinput = new ReadEventlogListInputBuilder()
929 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
930 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
931 .setPagination(getPagination(20, 1)).build();
932 ReadEventlogListOutputBuilder readResult = null;
934 readResult = dbProvider.readEventlogList(readinput);
936 } catch (Exception e) {
937 fail("problem reading eventlog");
940 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> data =
941 readResult.getData();
942 assertEquals(1, data.size());
944 //== DELETE ================================
946 System.out.println("try to clear entry");
948 dbRawProvider.doRemove(Entity.Eventlog.getName(), dbId);
949 } catch (Exception e) {
950 fail("problem deleting entry: " + e.getMessage());
953 //== VERIFY DELETE ===========================
954 System.out.println("verify entries deleted");
956 readResult = dbProvider
957 .readEventlogList(new ReadEventlogListInputBuilder().setPagination(getPagination(20, 1)).build());
958 } catch (IOException e) {
959 fail("problem reading eventlog");
961 data = readResult.getData();
962 assertEquals(0, data.size());
967 public void testInventory() {
969 System.out.println("Test inventory starting...");
971 // ==CLEAR================================
972 System.out.println("Clear before test");
974 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
975 } catch (Exception e) {
976 fail("problem deleting: " + e.getMessage());
980 // ==CREATE============================
983 String json = " {\"tree-level\": 1,\n" + " \"parent-uuid\": \"SHELF-1.1.0.0\",\n"
984 + " \"node-id\": \"sim2\",\n" + " \"uuid\": \"CARD-1.1.8.0\",\n"
985 + " \"contained-holder\": [ ],\n" + " \"manufacturer-name\": \"Lorem Ipsum\",\n"
986 + " \"manufacturer-identifier\": \"ONF-Wireless-Transport\",\n" + " \"serial\": \"sd-dsa-eqw\",\n"
987 + " \"date\": \"2008-10-21T00:00:00.0Z\",\n"
988 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory\",\n"
989 + " \"version\": \"unknown\",\n" + " \"description\": \"WS/DS3\",\n"
990 + " \"part-type-id\": \"unknown\",\n" + " \"model-identifier\": \"model-id-s3s\",\n"
991 + " \"type-name\": \"p4.module\"}";
993 dbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), "1 1", json);
996 // ==READ===========================
997 ReadInventoryListInput readinput = new ReadInventoryListInputBuilder()
998 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
999 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
1000 .setPagination(getPagination(20, 1)).build();
1001 ReadInventoryListOutputBuilder readResult = null;
1003 readResult = dbProvider.readInventoryList(readinput);
1005 } catch (Exception e) {
1006 fail("Problem reading inventory list" + e.getMessage());
1009 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> data =
1010 readResult.getData();
1011 assertEquals(1, data.size());
1012 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
1013 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
1014 assertEquals("sim2", data.get(0).getNodeId());
1015 assertEquals("unknown", data.get(0).getVersion());
1016 assertEquals("WS/DS3", data.get(0).getDescription());
1017 assertEquals("2008-10-21T00:00:00.0Z", data.get(0).getDate());
1018 assertEquals("sd-dsa-eqw", data.get(0).getSerial());
1019 System.out.println(data.get(0).getDate());
1021 // ==UPDATE============================
1022 String updatedDbId = null;
1023 final String[] holderArray = {"Lorem Ipsum 1", "Lorem Ipsum 2", "Lorem Ipsum &%/$_2"};
1024 String updatejson = " {" + " \"node-id\": \"sim5\",\n"
1025 + " \"contained-holder\": [ \"Lorem Ipsum 1\", \"Lorem Ipsum 2\", \"Lorem Ipsum &%/$_2\" ],\n"
1026 + " \"serial\": \"sd-dsa-eww\",\n" + " \"date\": \"2008-11-21T00:00:00.0Z\",\n"
1027 + " \"part-type-id\": \"not unknown\",\n" + "}";
1029 updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), dbId, updatejson);
1030 assertEquals(dbId, updatedDbId);
1033 readResult = dbProvider.readInventoryList(readinput);
1035 } catch (Exception e) {
1036 fail("Problem reading inventory list" + e.getMessage());
1039 data = readResult.getData();
1041 assertEquals(1, data.size());
1042 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
1043 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
1044 assertEquals("sim5", data.get(0).getNodeId());
1045 assertEquals("not unknown", data.get(0).getPartTypeId());
1046 assertEquals("WS/DS3", data.get(0).getDescription());
1047 assertEquals("2008-11-21T00:00:00.0Z", data.get(0).getDate());
1048 assertEquals("sd-dsa-eww", data.get(0).getSerial());
1049 assertEquals(holderArray.length, data.get(0).getContainedHolder().size());
1050 Set<String> holder = data.get(0).getContainedHolder();
1051 assertTrue(holder.contains(holderArray[0]));
1052 assertTrue(holder.contains(holderArray[1]));
1053 assertTrue(holder.contains(holderArray[2]));
1055 // ==DELETE============================
1057 System.out.println("delete after test");
1059 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
1060 } catch (Exception e) {
1061 fail("problem deleting: " + e.getMessage());
1064 // ==VERIFY DELETE ============================
1067 readResult = dbProvider.readInventoryList(readinput);
1069 } catch (Exception e) {
1070 fail("Problem reading inventory list" + e.getMessage());
1073 data = readResult.getData();
1074 assertEquals(0, data.size());
1079 public void test15MinPerformanceReadLtpListWithoutNodeIdSetThrowsException() {
1081 System.out.println("Reading 15m ltp list without node id filter set throws an exception test start...");
1084 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1085 } catch (Exception e) {
1086 fail("problem deleting: " + e.getMessage());
1089 System.out.println("create entries...");
1091 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1092 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1094 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1095 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1096 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1097 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1099 System.out.println("trying to read, should throw exception...");
1102 ReadPmdata15mLtpListInput readLtp =
1103 new ReadPmdata15mLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1105 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1108 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1109 fail("No exception thrown!");
1110 } catch (Exception e) {
1111 System.out.println(e);
1112 assertTrue(e instanceof IllegalArgumentException);
1113 assertEquals("no nodename in filter found ", e.getMessage());
1116 assertNull(readltpResult);
1118 //== DELETE ================================
1120 System.out.println("try to clear entry");
1122 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1123 } catch (Exception e) {
1124 fail("problem deleting entry: " + e.getMessage());
1127 //== VERIFY DELETE ===========================
1128 System.out.println("verify entries deleted");
1129 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1132 new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build())
1135 assertEquals(0, data.size());
1139 public void test15MinPerformanceData() {
1140 // == CLEAR BEFORE TESTS ============================
1141 System.out.println("Test 15 min performance...");
1144 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1145 } catch (Exception e) {
1146 fail("problem deleting: " + e.getMessage());
1149 // == CREATE ============================
1151 System.out.println("create entries...");
1153 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1154 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1156 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1157 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1158 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1159 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1161 // == READ ============================
1162 System.out.println("read list entries...");
1164 ReadPmdata15mListInput read = new ReadPmdata15mListInputBuilder()
1165 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1166 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1167 .setPagination(getPagination(20, 1)).build();
1169 ReadPmdata15mListOutputBuilder readResult = null;
1172 readResult = dbProvider.readPmdata15mList(read);
1173 } catch (Exception e) {
1174 fail("Problem reading 15m data");
1177 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1178 readResult.getData();
1180 assertNotNull(data);
1181 assertEquals(2, data.size());
1183 System.out.println("read ltp entries with node name set...");
1185 ReadPmdata15mLtpListInput readLtp = new ReadPmdata15mLtpListInputBuilder()
1186 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1187 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1188 .setPagination(getPagination(20, 1)).build();
1190 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1193 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1194 } catch (Exception e) {
1195 fail("Problem reading 15m ltp data");
1198 Set<String> dataLtp = readltpResult.getData();
1200 assertNotNull(dataLtp);
1201 assertEquals(2, dataLtp.size());
1202 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1203 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1205 System.out.println("read device entries...");
1207 ReadPmdata15mDeviceListInput readDevices =
1208 new ReadPmdata15mDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1210 ReadPmdata15mDeviceListOutputBuilder readDeviceResult = null;
1213 readDeviceResult = dbProvider.readPmdata15mDeviceList(readDevices);
1214 } catch (Exception e) {
1215 fail("Problem reading 15m device data");
1218 Set<String> dataDevice = readDeviceResult.getData();
1220 assertNotNull(dataDevice);
1221 assertEquals(2, dataDevice.size());
1222 assertTrue(dataDevice.contains("a2"));
1223 assertTrue(dataDevice.contains("a3"));
1225 //== DELETE ================================
1227 System.out.println("try to clear entry");
1229 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1230 } catch (Exception e) {
1231 fail("problem deleting entry: " + e.getMessage());
1234 //== VERIFY DELETE ===========================
1235 System.out.println("verify entries deleted");
1236 readResult = dbProvider
1237 .readPmdata15mList(new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build());
1238 data = readResult.getData();
1239 assertEquals(0, data.size());
1244 public void test24hPerformanceData() {
1245 System.out.println("Test 24h performance...");
1248 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1249 } catch (Exception e) {
1250 fail("problem deleting: " + e.getMessage());
1253 System.out.println("create entries...");
1254 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1255 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1256 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1257 String aDbId = createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-06", "a2");
1259 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1260 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1261 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1263 System.out.println("read all list entries...");
1265 ReadPmdata24hListInput read = new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build();
1267 ReadPmdata24hListOutputBuilder readResult = null;
1270 readResult = dbProvider.readPmdata24hList(read);
1271 } catch (Exception e) {
1272 fail("Problem reading 24h data");
1275 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> data =
1276 readResult.getData();
1278 assertNotNull(data);
1279 assertEquals(6, data.size());
1282 System.out.println("filter list entries...");
1284 read = new ReadPmdata24hListInputBuilder()
1285 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1286 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1287 .setPagination(getPagination(20, 1)).build();
1292 readResult = dbProvider.readPmdata24hList(read);
1293 } catch (Exception e) {
1294 fail("Problem reading 24h data");
1297 data = readResult.getData();
1299 assertNotNull(data);
1300 assertEquals(3, data.size());
1302 System.out.println("read ltp entries with node name set...");
1304 ReadPmdata24hLtpListInput readLtp = new ReadPmdata24hLtpListInputBuilder()
1305 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1306 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1307 .setPagination(getPagination(20, 1)).build();
1309 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1312 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1313 } catch (Exception e) {
1314 fail("Problem reading 24h ltp data");
1317 Set<String> dataLtp = readltpResult.getData();
1319 assertNotNull(dataLtp);
1320 assertEquals(3, dataLtp.size());
1321 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1322 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1323 assertTrue(dataLtp.contains("LP-MWPS-TTP-06"));
1326 System.out.println("read device entries...");
1328 ReadPmdata24hDeviceListInput readDevices =
1329 new ReadPmdata24hDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1331 ReadPmdata24hDeviceListOutputBuilder readDeviceResult = null;
1334 readDeviceResult = dbProvider.readPmdata24hDeviceList(readDevices);
1335 } catch (Exception e) {
1336 fail("Problem reading 24h device data");
1339 Set<String> dataDevice = readDeviceResult.getData();
1341 assertNotNull(dataDevice);
1342 assertEquals(2, dataDevice.size());
1343 assertTrue(dataDevice.contains("a2"));
1344 assertTrue(dataDevice.contains("a3"));
1346 // == UPDATE ==============================
1348 boolean success = dbRawProvider.doUpdate(Entity.Historicalperformance24h.getName(),
1349 "{'uuid-interface':'LTP-TEST-MWP-097'}", QueryBuilders.termQuery("_id", aDbId));
1350 assertTrue("update dbentry not succeeded", success);
1352 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1353 } catch (Exception e) {
1354 fail("Problem reading 24h ltp data");
1357 // == VERIFY UPDATE ==============================
1359 dataLtp = readltpResult.getData();
1361 assertNotNull(dataLtp);
1362 assertEquals(3, dataLtp.size());
1363 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1364 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1365 assertTrue(dataLtp.contains("LTP-TEST-MWP-097"));
1369 //== DELETE ===========================
1371 System.out.println("try to clear entries");
1373 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1374 } catch (Exception e) {
1375 fail("problem deleting entry: " + e.getMessage());
1378 //== VERIFY DELETE ===========================
1379 System.out.println("verify entries deleted");
1380 readResult = dbProvider
1381 .readPmdata24hList(new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build());
1382 data = readResult.getData();
1383 assertEquals(0, data.size());
1387 public void test24hPerformanceDataReadLtpListWithoutNodeIdSetThrowsException() {
1388 System.out.println("Test 24 hour tp list without node id filter set throws an exception test start...\"...");
1391 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1392 } catch (Exception e) {
1393 fail("problem deleting: " + e.getMessage());
1396 System.out.println("create entries...");
1398 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1399 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1400 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1402 createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1403 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1404 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1405 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1407 System.out.println("trying to read, should throw exception...");
1410 ReadPmdata24hLtpListInput readLtp =
1411 new ReadPmdata24hLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1413 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1416 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1417 fail("No exception thrown!");
1418 } catch (Exception e) {
1419 System.out.println(e);
1420 assertTrue(e instanceof IllegalArgumentException);
1421 assertEquals("no nodename in filter found ", e.getMessage());
1424 assertNull(readltpResult);
1427 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1428 } catch (Exception e) {
1429 fail("problem deleting: " + e.getMessage());
1434 public void testUrlEncoding() {
1435 System.out.println("Testing url encding");
1437 final String test = "Lorem Ipsum";
1438 final String test1 = "Lorem/Ipsum";
1439 final String test2 = "Lorem_Ipsum";
1440 final String test3 = "Lorem%Ipsum";
1442 assertEquals("Lorem%20Ipsum", BaseRequest.urlEncodeValue(test));
1443 assertEquals("Lorem%2FIpsum", BaseRequest.urlEncodeValue(test1));
1444 assertEquals("Lorem_Ipsum", BaseRequest.urlEncodeValue(test2));
1445 assertEquals("Lorem%25Ipsum", BaseRequest.urlEncodeValue(test3));
1449 public void testDoUpdateOrCreateWithNullId() {
1450 System.out.println("Test DoUpdateOrCreate doesn't create new database entry if null is passed");
1452 String dbId = clearAndCreatefaultEntity(null, Entity.Faultlog.getName(),
1453 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
1454 SeverityType.Critical);
1459 public void readTestFaultCurrentViaRawDbProvider() {
1460 System.out.println("Starting faultCurrent test...");
1462 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
1463 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
1464 SeverityType.Critical);
1465 assertEquals("1", dbId);
1467 // ==READ===========================
1468 System.out.println("Trying to read...");
1470 String readResult = null;
1472 readResult = dbRawProvider.doReadJsonData(Entity.Faultcurrent.getName(), dbId);
1474 } catch (Exception e) {
1475 fail("Fault log not read: " + e.getMessage());
1479 String expectedDbResult =
1480 "{\"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\"}";
1482 System.out.println(readResult);
1483 assertNotNull(readResult);
1484 assertEquals(expectedDbResult, readResult);
1486 SearchResult<SearchHit> searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1487 assertNotNull(searchResult);
1489 List<SearchHit> hits = searchResult.getHits();
1491 assertNotNull(hits);
1492 assertEquals(1, searchResult.getTotal());
1493 assertEquals(expectedDbResult, hits.get(0).getSourceAsString());
1495 //== DELETE ==============================
1497 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
1498 } catch (Exception e) {
1499 fail("problem deleting: " + e.getMessage());
1501 //== VERIFY DELETE ========================
1502 searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1503 hits = searchResult.getHits();
1504 assertNotNull(hits);
1505 assertEquals(0, searchResult.getTotal());
1510 public void testOutputCamelCase() throws ClassNotFoundException {
1512 String jsonString = "{\n" + "\"timestamp\": \"2020-02-20T09:31:22.3Z\",\n"
1513 + "\"object-id\": \"LP-MWPS-RADIO\",\n" + "\"severity\": \"Critical\",\n" + "\"counter\": 10,\n"
1514 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog\",\n"
1515 + "\"source-type\": \"Netconf\",\n" + "\"node-id\": \"sim4\",\n" + "\"problem\": \"signalIsLost\"\n"
1517 DataProviderYangToolsMapper yangtoolsMapper = new DataProviderYangToolsMapper();
1518 Faultlog log = yangtoolsMapper.readValue(jsonString, Faultlog.class);
1519 System.out.println(yangtoolsMapper.writeValueAsString((new FaultlogBuilder(log).build())));
1520 System.out.println("Check3");
1521 } catch (IOException e) {
1522 e.printStackTrace();
1529 public void testUserdata() {
1530 final String USERNAME = "admin";
1531 final String DATA1 = "{\n" + " \"networkMap\":{\n"
1532 + " \"startupPosition\": {\"lat\": 52.5095, \"lon\":13.329, \"zoom\": 10},\n"
1533 + " \"tileOpacity\": 90,\n" + " \"styling\":{\n" + " \"theme\": \"light\"\n"
1534 + " }\n" + " },\n" + " \"dashboard\":{\n" + " \"color\":\"#F00\"\n" + " }\n"
1536 HtUserdataManagerImpl client = new HtUserdataManagerImpl(dbRawProvider);
1537 boolean success = client.setUserdata(USERNAME, DATA1);
1538 assertTrue(success);
1539 String data = client.getUserdata(USERNAME);
1540 JSONAssert.assertEquals(DATA1,data,false);
1542 assertEquals("admin", UserdataHttpServlet.decodeJWTPayloadUsername(String.format("Bearer %s",
1543 "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBzZG4iLCJyb2xlcyI6WyJ1c2VyIiwiYWRtaW4iXSwiaXN"
1544 + "zIjoiT3BlbmRheWxpZ2h0IiwibmFtZSI6ImFkbWluQHNkbiIsImV4cCI6MTYxNTc5NTg1NywiZmFtaWx5X25hbWUiOiIifQ.wB"
1545 + "PdB45_bryU6_kSCu3be3dq3yth24niSXi6b2_1ufc"),
1549 private Pagination getPagination(long pageSize, int page) {
1550 return new PaginationBuilder().setPage(YangHelper2.getBigIntegerOrUint64(BigInteger.valueOf(page)))
1551 .setSize(YangHelper2.getLongOrUint32(pageSize)).build();
1554 private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1555 SeverityType severity) {
1556 return clearAndCreatefaultEntity(initialDbId, entityType, implementedInterface, severity, "s1");
1559 private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1560 SeverityType severity, String nodeId) {
1561 // ==CLEAR BEFORE TEST============================
1562 System.out.println("try to clear entry");
1564 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1565 } catch (Exception e) {
1566 fail("problem deleting: " + e.getMessage());
1570 return createFaultEntity(initialDbId, entityType, implementedInterface, severity, nodeId);
1573 private void createNeConnection(String nodeId, String host, int port, ConnectionLogStatus connectionStatus)
1574 throws IOException {
1575 dbProvider.createNetworkElementConnection(new NetworkElementConnectionBuilder().setId(nodeId).setNodeId(nodeId)
1576 .setStatus(connectionStatus).setHost(host).setPort(Uint32.valueOf(port)).build());
1579 private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1580 SeverityType severity, String nodeId) {
1581 // ==CREATE============================
1582 System.out.println("try to create entry");
1587 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1588 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\"object-id\": \"LP-MWPS-RADIO\",\n"
1589 + "\"severity\": \"" + severity.toString() + "\",\n" + "\"node-id\": \"" + nodeId + "\",\n"
1590 + "\"implemented-interface\": \"" + implementedInterface + "\",\n" + "\"counter\": 4340,\n"
1591 + "\"problem\": \"signalIsLost\",\n" + "\"type\": \"ProblemNotificationXml\"\n" + "}");
1595 } catch (Exception e) {
1596 fail("Problem creating fault log entry" + e.getMessage());
1602 private String clearAndCreateCMEntity(String initialDbId, String entityType, String implementedInterface) {
1603 // ==CLEAR BEFORE TEST============================
1604 System.out.println("try to clear entry");
1606 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1607 } catch (Exception e) {
1608 fail("problem deleting: " + e.getMessage());
1610 return createCMEntity(initialDbId, entityType, implementedInterface);
1613 private String createCMEntity(String initialDbId, String entityType, String implementedInterface) {
1614 // ==CREATE============================
1615 System.out.println("try to create entry");
1619 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1620 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\" object-id\": \"LP-MWPS-RADIO\",\n"
1621 + "\"node-id\": \"node-1\",\n" + "\"counter\": 1,\n" + "\"notification-type\": \""
1622 + CmNotificationType.NotifyMOIChanges.toString() + "\",\n" + "\"notification-id\": 123,\n"
1623 + "\"source-indicator\": \"" + CmSourceIndicator.MANAGEMENTOPERATION.toString() + "\",\n"
1624 + "\" path\": \"https://samsung.com/3GPP/simulation/network-function/ves=1\",\n"
1625 + "\"operation\": \"" + CmOperation.REPLACE.toString() + "\",\n"
1626 + "\"value\": \"pnf-registration:true\",\n" + "\"implemented-interface\": \""
1627 + implementedInterface + "\"\n" + "}");
1629 } catch (Exception e) {
1630 fail("Problem creating CM log entry" + e.getMessage());
1637 private String createPerformanceData(String initialDbId, GranularityPeriodType timeInterval, String scannerId,
1638 String uuidInterface, String nodename) {
1640 String json = "{\n" + "\"node-name\": \"" + nodename + "\",\n" + "\"uuid-interface\": \"" + uuidInterface
1641 + "\",\n" + "\"layer-protocol-name\": \"MWPS\",\n" + "\"radio-signal-id\": \"Test8\",\n"
1642 + "\"time-stamp\": \"2017-03-01T06:15:00.0Z\",\n" + "\"granularity-period\": \""
1643 + timeInterval.toString() + "\",\n" + "\"scanner-id\": \"" + scannerId + "\",\n"
1644 + "\"performance-data\": {\n" + "\"cses\": 0,\n" + "\"ses\": 0,\n" + "\"es\": 0,\n"
1645 + "\"tx-level-max\": 3,\n" + "\"tx-level-avg\": 3,\n" + "\"rx-level-min\": -44,\n"
1646 + "\"rx-level-max\": -45,\n" + "\"rx-level-avg\": -44,\n" + "\"time2-states\": 0,\n"
1647 + "\"time4-states-s\": 0,\n" + "\"time4-states\": 0,\n" + "\"time8-states\": -1,\n"
1648 + "\"time16-states-s\": -1,\n" + "\"time16-states\": 0,\n" + "\"time32-states\": -1,\n"
1649 + "\"time64-states\": 900,\n" + "\"time128-states\": -1,\n" + "\"time256-states\": -1,\n"
1650 + "\"time512-states\": -1,\n" + "\"time512-states-l\": -1,\n" + "\"unavailability\": 0,\n"
1651 + "\"tx-level-min\": 3,\n" + "\"time1024-states\": -1,\n" + "\"time1024-states-l\": -1,\n"
1652 + "\"time2048-states\": -1,\n" + "\"time2048-states-l\": -1,\n" + "\"time4096-states\": -1,\n"
1653 + "\"time4096-states-l\": -1,\n" + "\"time8192-states\": -1,\n" + "\"time8192-states-l\": -1,\n"
1654 + "\"snir-min\": -99,\n" + "\"snir-max\": -99,\n" + "\"snir-avg\": -99,\n" + "\"xpd-min\": -99,\n"
1655 + "\"xpd-max\": -99,\n" + "\"xpd-avg\": -99,\n" + "\"rf-temp-min\": -99,\n" + "\"rf-temp-max\": -99,\n"
1656 + "\"rf-temp-avg\": -99,\n" + "\"defect-blocks-sum\": -1,\n" + "\"time-period\": 900\n" + "},\n"
1657 + "\"suspect-interval-flag\": false\n" + "}";
1659 if (timeInterval.equals(GranularityPeriodType.Period15Min)) {
1660 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance15min.getName(), initialDbId, json);
1662 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance24h.getName(), initialDbId, json);