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;
40 import org.eclipse.jdt.annotation.Nullable;
41 import org.junit.BeforeClass;
42 import org.junit.Test;
43 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
44 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
45 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
46 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
47 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
48 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.BaseRequest;
49 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.DatabaseDataProvider;
50 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.ElasticSearchDataProvider;
51 import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.elasticsearch.impl.HtUserdataManagerImpl;
52 import org.onap.ccsdk.features.sdnr.wt.dataprovider.http.UserdataHttpServlet;
53 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.YangHelper2;
54 import org.onap.ccsdk.features.sdnr.wt.dataprovider.test.util.HostInfoForTest;
55 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.DataProviderYangToolsMapper;
56 import org.onap.ccsdk.features.sdnr.wt.yang.mapper.YangToolsMapperHelper;
57 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmNotificationType;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmOperation;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CmSourceIndicator;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionLogStatus;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInput;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceInputBuilder;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMaintenanceOutputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInput;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerInputBuilder;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateMediatorServerOutputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInput;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionInputBuilder;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateNetworkElementConnectionOutputBuilder;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInput;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMaintenanceInputBuilder;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInput;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteMediatorServerInputBuilder;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInput;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.DeleteNetworkElementConnectionInputBuilder;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
78 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EntityInput;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog;
80 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GranularityPeriodType;
82 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionBuilder;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInput;
84 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListInputBuilder;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadCmlogListOutputBuilder;
86 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInput;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListInputBuilder;
88 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadConnectionlogListOutputBuilder;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInput;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListInputBuilder;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadEventlogListOutputBuilder;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInput;
93 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListInputBuilder;
94 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultcurrentListOutputBuilder;
95 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInput;
96 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListInputBuilder;
97 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadFaultlogListOutputBuilder;
98 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInput;
99 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListInputBuilder;
100 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadInventoryListOutputBuilder;
101 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInput;
102 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListInputBuilder;
103 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMaintenanceListOutputBuilder;
104 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInput;
105 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListInputBuilder;
106 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadMediatorServerListOutputBuilder;
107 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInput;
108 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListInputBuilder;
109 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadNetworkElementConnectionListOutputBuilder;
110 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInput;
111 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListInputBuilder;
112 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mDeviceListOutputBuilder;
113 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInput;
114 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListInputBuilder;
115 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mListOutputBuilder;
116 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInput;
117 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListInputBuilder;
118 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata15mLtpListOutputBuilder;
119 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInput;
120 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListInputBuilder;
121 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hDeviceListOutputBuilder;
122 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInput;
123 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListInputBuilder;
124 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hListOutputBuilder;
125 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInput;
126 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListInputBuilder;
127 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadPmdata24hLtpListOutputBuilder;
128 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ReadStatusInputBuilder;
129 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
130 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInput;
131 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceInputBuilder;
132 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMaintenanceOutputBuilder;
133 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInput;
134 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerInputBuilder;
135 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateMediatorServerOutputBuilder;
136 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInput;
137 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionInputBuilder;
138 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.UpdateNetworkElementConnectionOutputBuilder;
139 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Filter;
140 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterBuilder;
141 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.FilterKey;
142 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.Pagination;
143 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.entity.input.PaginationBuilder;
144 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.mediator.server.list.output.Data;
145 import org.opendaylight.yangtools.yang.common.Uint32;
147 public class TestCRUDforDatabase {
149 private static DatabaseDataProvider dbProvider;
150 private static HtDatabaseClient dbRawProvider;
153 public static void init() throws Exception {
155 HostInfo[] hosts = HostInfoForTest.get();
156 dbProvider = new ElasticSearchDataProvider(hosts);
157 dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
158 dbRawProvider = HtDatabaseClient.getClient(hosts);
161 public static void trySleep(long ms) {
164 } catch (Exception e) {
165 Thread.currentThread().interrupt();
169 public static void trySleep() {
174 public void testStatus() throws IOException {
176 //== CLEAR AND CREATE ================================
177 clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
178 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
179 SeverityType.Critical, "nodeA");
180 createFaultEntity("Lorem Ipsum", Entity.Faultcurrent.getName(),
181 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
182 SeverityType.Major, "nodeB");
183 createFaultEntity("3", Entity.Faultcurrent.getName(),
184 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
185 SeverityType.Minor, "nodeC");
186 createFaultEntity("4", Entity.Faultcurrent.getName(),
187 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
188 SeverityType.Warning, "nodeA");
190 createNeConnection("nodeA","10.20.30.40",30000, ConnectionLogStatus.Connected);
191 createNeConnection("nodeB","10.20.30.40",31000, ConnectionLogStatus.Connected);
192 createNeConnection("nodeC","10.20.30.40",32000, ConnectionLogStatus.Connected);
193 createNeConnection("nodeAD","10.20.30.40",33000, ConnectionLogStatus.Connected);
194 createNeConnection("nodeE","10.20.30.40",34000, ConnectionLogStatus.Connected);
195 createNeConnection("nodeF","10.20.30.40",35000, ConnectionLogStatus.Connected);
196 //== READ ================================
198 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.status.output.Data> readOutput =
199 dbProvider.readStatus(null).getData();
200 System.out.println(readOutput);
204 assertEquals(1, readOutput.get(0).getFaults().getMajors().intValue());
205 assertEquals(1, readOutput.get(0).getFaults().getMinors().intValue());
206 assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
207 assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
208 Map<FilterKey, Filter> filter = YangToolsMapperHelper
209 .toMap(Arrays.asList(new FilterBuilder().setProperty("node-id").setFiltervalue("nodeA").build()));
210 EntityInput input = new ReadStatusInputBuilder().setFilter(filter).build();
211 readOutput = dbProvider.readStatus(input).getData();
212 System.out.println(readOutput);
213 assertEquals(1, readOutput.get(0).getNetworkElementConnections().getConnected().intValue());
214 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getConnecting().intValue());
215 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getDisconnected().intValue());
216 assertEquals(0, readOutput.get(0).getNetworkElementConnections().getMounted().intValue());
217 assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
218 assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
219 assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
220 assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
223 //== DELETE ================================
225 System.out.println("try to delete entries");
227 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
228 } catch (Exception e) {
229 fail("problem deleting entry: " + e.getMessage());
232 //== VERIFY DELETE ===========================
233 System.out.println("verify entries were deleted");
234 readOutput = dbProvider.readStatus(null).getData();
235 assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
236 assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
237 assertEquals(0, readOutput.get(0).getFaults().getWarnings().intValue());
238 assertEquals(0, readOutput.get(0).getFaults().getCriticals().intValue());
244 public void testMediatorServer() {
245 final String NAME = "ms1";
246 final String URL = "http://11.23.45.55:4599";
247 final String NAME2 = "ms1-nu";
248 final String URL2 = "http://11.23.45.56:4599";
250 // ==CLEAR BEFORE TEST============================
251 System.out.println("try to clear entry");
253 dbRawProvider.doRemove(Entity.MediatorServer.getName(), QueryBuilders.matchAllQuery());
254 } catch (Exception e) {
255 fail("problem deleting entry: " + e.getMessage());
258 // ==CREATE============================
259 System.out.println("try to create entry");
260 CreateMediatorServerOutputBuilder createOutput = null;
261 CreateMediatorServerInput input = new CreateMediatorServerInputBuilder().setName(NAME).setUrl(URL).build();
265 createOutput = dbProvider.createMediatorServer(input);
266 dbId = createOutput.getId();
267 System.out.println(createOutput);
268 } catch (Exception e) {
269 fail("failed to create " + input.toString() + ":" + e.getMessage());
271 assertNotNull(createOutput);
274 // ==READ===========================
275 System.out.println("try to read entry");
276 ReadMediatorServerListInput readinput = new ReadMediatorServerListInputBuilder()
277 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
278 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
279 .setPagination(getPagination(20, 1)).build();
280 ReadMediatorServerListOutputBuilder readoutput = dbProvider.readMediatorServerList(readinput);
281 List<Data> data = readoutput.getData();
283 assertEquals("no entry found", 1, data.size());
284 assertEquals(NAME, data.get(0).getName());
285 assertEquals(URL, data.get(0).getUrl());
286 String dbId2 = data.get(0).getId();
287 assertEquals(dbId, dbId2);
288 System.out.println(data);
289 // ==UPDATE============================
290 System.out.println("try to update entry");
291 UpdateMediatorServerInput updateInput =
292 new UpdateMediatorServerInputBuilder().setId(dbId2).setName(NAME2).setUrl(URL2).build();
293 UpdateMediatorServerOutputBuilder updateOutput = null;
295 updateOutput = dbProvider.updateMediatorServer(updateInput);
296 System.out.println(updateOutput);
297 } catch (Exception e) {
298 fail("problem updating entry:" + e.getMessage());
300 assertNotNull(updateOutput);
302 // ==READ============================
303 System.out.println("try to read entry");
304 readinput = new ReadMediatorServerListInputBuilder()
305 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
306 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
307 .setPagination(getPagination(20, 1)).build();
308 readoutput = dbProvider.readMediatorServerList(readinput);
309 data = readoutput.getData();
310 System.out.println(data);
311 assertNotNull("no update response", data);
312 assertEquals("update not verifiied", 1, data.size());
313 assertEquals("update not verifiied", NAME2, data.get(0).getName());
314 assertEquals("update not verifiied", URL2, data.get(0).getUrl());
315 assertEquals("update not verifiied", dbId, data.get(0).getId());
316 // ==DELETE============================
317 System.out.println("try to delete entry");
318 DeleteMediatorServerInput deleteInput = new DeleteMediatorServerInputBuilder().setId(dbId).build();
320 dbProvider.deleteMediatorServer(deleteInput);
321 } catch (Exception e) {
322 fail("problem deleting entry: " + e.getMessage());
326 // ==READ/VERIFY DELETE============================
327 System.out.println("try to read entry");
328 readinput = new ReadMediatorServerListInputBuilder()
329 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
330 new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
331 .setPagination(getPagination(20, 1)).build();
332 readoutput = dbProvider.readMediatorServerList(readinput);
333 data = readoutput.getData();
334 assertNotNull("delete not verifiied", data);
335 assertEquals("delete not verifiied", 0, data.size());
339 public void testNetworkElementConnectionCurrent() {
341 System.out.println("networkElementConnection test start");
343 // ==CLEAR BEFORE TEST============================
344 System.out.println("try to clear entry");
346 dbRawProvider.doRemove(Entity.NetworkelementConnection.getName(), QueryBuilders.matchAllQuery());
347 } catch (Exception e) {
348 fail("problem deleting entry: " + e.getMessage());
351 // ==CREATE============================
352 System.out.println("try to create");
353 final String name = "sim87";
354 final String url = "10.5.10.1";
355 final long port = 5959;
357 CreateNetworkElementConnectionOutputBuilder create = null;
358 CreateNetworkElementConnectionInput input = new CreateNetworkElementConnectionInputBuilder().setNodeId(name)
359 .setIsRequired(true).setHost(url).setPort(YangHelper2.getLongOrUint32(port)).build();
363 create = dbProvider.createNetworkElementConnection(input);
364 dbId = create.getId();
365 } catch (Exception e) {
366 fail("networkElementConnection create failed" + e.getMessage());
370 assertNotNull(create);
372 // ==READ===========================
374 ReadNetworkElementConnectionListInput readInput = new ReadNetworkElementConnectionListInputBuilder()
375 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
376 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
377 .setPagination(getPagination(20, 1)).build();
379 ReadNetworkElementConnectionListOutputBuilder readOperation =
380 dbProvider.readNetworkElementConnectionList(readInput);
381 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.network.element.connection.list.output.Data> data =
382 readOperation.getData();
385 assertEquals(dbId, data.get(0).getId());
386 assertEquals(name, data.get(0).getNodeId());
387 assertEquals(url, data.get(0).getHost());
388 assertEquals(port, data.get(0).getPort().longValue());
390 // ==UPDATE============================
391 System.out.println("Trying to update...");
392 final String url2 = "10.5.10.2";
393 final long port2 = 5960;
395 UpdateNetworkElementConnectionInput updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId)
396 .setHost(url2).setPort(YangHelper2.getLongOrUint32(port2)).setIsRequired(false).build();
397 UpdateNetworkElementConnectionOutputBuilder updateOutput = null;
399 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
400 } catch (Exception e) {
401 fail("update failed: " + e.getMessage());
404 assertNotNull(updateOutput);
406 // == Verify UPDATE============================
407 System.out.println("Verfiying update...");
409 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
410 data = readOperation.getData();
413 assertEquals(url2, data.get(0).getHost());
414 assertEquals(port2, data.get(0).getPort().longValue());
416 // ==PARTIAL UPDATE============================
417 System.out.println("Try partial update...");
418 assertEquals(false, data.get(0).requireIsRequired());
419 updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId).setIsRequired(true).build();
421 updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
422 } catch (Exception e) {
423 fail("update failed: " + e.getMessage());
426 assertNotNull(updateOutput);
428 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
429 data = readOperation.getData();
431 assertEquals(true, data.get(0).requireIsRequired());
432 assertEquals(url2, data.get(0).getHost());
433 assertEquals(port2, data.get(0).getPort().longValue());
435 // ==DELETE============================
436 System.out.println("Try delete...");
438 DeleteNetworkElementConnectionInput deleteInput =
439 new DeleteNetworkElementConnectionInputBuilder().setId(dbId).build();
441 dbProvider.deleteNetworkElementConnection(deleteInput);
442 } catch (Exception e) {
443 fail("problem deleting " + e.getMessage());
446 readInput = new ReadNetworkElementConnectionListInputBuilder()
447 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
448 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
449 .setPagination(getPagination(20, 1)).build();
450 readOperation = dbProvider.readNetworkElementConnectionList(readInput);
451 data = readOperation.getData();
452 assertEquals(0, data.size());
457 public void testMaintenance() {
458 System.out.println("Starting Maintenance tests...");
460 // ==CLEAR BEFORE TEST============================
461 System.out.println("try to clear entry");
463 dbRawProvider.doRemove(Entity.Maintenancemode.getName(), QueryBuilders.matchAllQuery());
464 } catch (Exception e) {
465 fail("problem deleting entry: " + e.getMessage());
468 // ==CREATE============================
470 final String nodeId = "Lorem Ipsum";
471 final boolean isActive = true;
473 CreateMaintenanceOutputBuilder create = null;
474 CreateMaintenanceInput input =
475 new CreateMaintenanceInputBuilder().setNodeId(nodeId).setActive(isActive).build();
478 create = dbProvider.createMaintenance(input);
479 dbId = create.getId();
480 } catch (Exception e) {
481 fail("Failed to create:" + e.getMessage());
484 System.out.println(dbId);
485 assertNotNull(create);
488 // ==READ===========================
489 System.out.println("Try read...");
491 ReadMaintenanceListInput readinput = new ReadMaintenanceListInputBuilder()
492 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
493 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
494 .setPagination(getPagination(20, 1)).build();
495 ReadMaintenanceListOutputBuilder readResult = dbProvider.readMaintenanceList(readinput);
496 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.maintenance.list.output.Data> data =
497 readResult.getData();
499 assertNotEquals(0, data.size());
501 assertEquals(nodeId, data.get(0).getNodeId());
502 assertEquals(isActive, data.get(0).requireActive());
504 // ==UPDATE============================
506 System.out.println("Trying to update...");
507 final String nodeId2 = "Name2";
508 final boolean isActive2 = false;
510 UpdateMaintenanceInput updateInput =
511 new UpdateMaintenanceInputBuilder().setId(dbId).setNodeId(nodeId2).setActive(isActive2).build();
512 UpdateMaintenanceOutputBuilder updateResult = null;
514 updateResult = dbProvider.updateMaintenance(updateInput);
515 } catch (Exception e) {
516 fail("maintenance update failed..." + e.getMessage());
519 assertNotNull(updateResult);
521 // == VERIFY UPDATE============================
522 System.out.println("Verfify update...");
523 readResult = dbProvider.readMaintenanceList(readinput);
524 data = readResult.getData();
527 assertEquals(nodeId2, data.get(0).getNodeId());
528 assertEquals(isActive2, data.get(0).getActive());
530 // ==DELETE================================
531 System.out.println("Trying to delete...");
533 DeleteMaintenanceInput deleteInput = new DeleteMaintenanceInputBuilder().setId(dbId).build();
535 dbProvider.deleteMaintenance(deleteInput);
536 } catch (Exception e) {
537 fail("Maintenance entry couldn't be deleted" + e.getMessage());
540 readResult = dbProvider.readMaintenanceList(readinput);
541 data = readResult.getData();
543 assertEquals(0, data.size());
547 public void testFaultLog() {
549 System.out.println("Starting fault log tests...");
550 String dbId = clearAndCreatefaultEntity("1", Entity.Faultlog.getName(),
551 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
552 SeverityType.Critical);
554 // ==READ===========================
555 System.out.println("try to read entry");
557 ReadFaultlogListInput readinput = new ReadFaultlogListInputBuilder()
558 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
559 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
560 .setPagination(getPagination(20, 1)).build();
562 ReadFaultlogListOutputBuilder readResult = null;
564 readResult = dbProvider.readFaultLogList(readinput);
566 } catch (Exception e) {
567 fail("Fault log not read: " + e.getMessage());
570 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultlog.list.output.Data> data =
571 readResult.getData();
574 assertEquals(1, data.size());
575 assertEquals("signalIsLost", data.get(0).getProblem());
576 assertEquals("Critical", data.get(0).getSeverity().toString());
577 assertEquals("s1", data.get(0).getNodeId());
579 //== UPDATE ================================
580 System.out.println("try to update entry");
582 dbRawProvider.doUpdateOrCreate(Entity.Faultlog.getName(), "1",
583 "{'problem': 'CableLOS', 'severity': 'Major', 'node-id': 'test4657-78'}");
585 System.out.println("try to search entry 1");
586 readinput = new ReadFaultlogListInputBuilder()
587 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
588 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
589 .setPagination(getPagination(20, 1)).build();
591 //== VERIFY UPDATE ================================
592 readResult = dbProvider.readFaultLogList(readinput);
593 data = readResult.getData();
597 System.out.println(data);
598 assertEquals(0, data.size());
600 System.out.println("try to search entry 2");
602 readinput = new ReadFaultlogListInputBuilder()
603 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
604 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
605 .setPagination(getPagination(20, 1)).build();
607 readResult = dbProvider.readFaultLogList(readinput);
608 data = readResult.getData();
612 assertEquals(1, data.size());
613 assertEquals("CableLOS", data.get(0).getProblem());
614 assertEquals("Major", data.get(0).getSeverity().toString());
615 assertEquals("test4657-78", data.get(0).getNodeId());
617 //== DELETE ================================
619 System.out.println("try to clear entry");
621 dbRawProvider.doRemove(Entity.Faultlog.getName(), dbId);
622 } catch (Exception e) {
623 fail("problem deleting entry: " + e.getMessage());
626 //== VERIFY DELETE ===========================
627 System.out.println("verify entries deleted");
628 readResult = dbProvider
629 .readFaultLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
630 data = readResult.getData();
631 assertEquals(0, data.size());
635 public void testCMLog() {
636 System.out.println("Starting CM log test...");
637 String dbId = clearAndCreateCMEntity("1", Entity.Cmlog.getName(),
638 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateCmlogInput");
639 // ==READ===========================
640 System.out.println("try to read entry");
642 ReadCmlogListInput readinput = new ReadCmlogListInputBuilder()
643 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
644 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
645 .setPagination(getPagination(20, 1)).build();
647 ReadCmlogListOutputBuilder readResult = null;
649 readResult = dbProvider.readCMLogList(readinput);
651 } catch (Exception e) {
652 fail("CM log not read: " + e.getMessage());
655 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.cmlog.list.output.Data> data =
656 readResult.getData();
659 assertEquals("1", dbId);
660 assertEquals(1, data.size());
661 assertEquals("node-1", data.get(0).getNodeId());
662 assertEquals(1, data.get(0).getCounter().intValue());
663 assertEquals(CmNotificationType.NotifyMOIChanges, data.get(0).getNotificationType());
664 assertEquals("123", data.get(0).getNotificationId());
665 assertEquals(CmSourceIndicator.MANAGEMENTOPERATION, data.get(0).getSourceIndicator());
666 assertEquals(CmOperation.REPLACE, data.get(0).getOperation());
667 assertEquals("pnf-registration:true", data.get(0).getValue());
669 //== UPDATE ================================
670 System.out.println("try to update entry");
672 dbRawProvider.doUpdateOrCreate(Entity.Cmlog.getName(), "1",
673 "{'node-id': 'test4657-78','operation': 'CREATE', 'notification-id': '1'}");
675 System.out.println("try to search entry 1");
676 readinput = new ReadCmlogListInputBuilder()
677 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
678 new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
679 .setPagination(getPagination(20, 1)).build();
681 //== VERIFY UPDATE ================================
682 readResult = dbProvider.readCMLogList(readinput);
683 data = readResult.getData();
686 System.out.println(data);
687 assertEquals(0, data.size());
689 System.out.println("try to search entry 2");
690 readinput = new ReadCmlogListInputBuilder()
691 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
692 new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
693 .setPagination(getPagination(20, 1)).build();
695 readResult = dbProvider.readCMLogList(readinput);
696 data = readResult.getData();
698 assertEquals(1, data.size());
699 assertEquals("test4657-78", data.get(0).getNodeId());
700 assertEquals("CREATE", data.get(0).getOperation().toString());
701 assertEquals("1", data.get(0).getNotificationId());
703 //== DELETE ================================
705 System.out.println("try to clear entry");
707 dbRawProvider.doRemove(Entity.Cmlog.getName(), dbId);
708 } catch (Exception e) {
709 fail("problem deleting entry: " + e.getMessage());
712 //== VERIFY DELETE ===========================
713 System.out.println("verify entries deleted");
714 readResult = dbProvider
715 .readCMLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
716 data = readResult.getData();
717 assertEquals(0, data.size());
721 public void testFaultCurrent() {
722 System.out.println("Starting faultCurrent test...");
724 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
725 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
726 SeverityType.NonAlarmed);
727 assertEquals("1", dbId);
729 // ==READ===========================
730 System.out.println("Trying to read...");
733 ReadFaultcurrentListInput readinput = new ReadFaultcurrentListInputBuilder()
734 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
735 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
736 .setPagination(getPagination(20, 1)).build();
738 ReadFaultcurrentListOutputBuilder readResult = null;
740 readResult = dbProvider.readFaultCurrentList(readinput);
742 } catch (Exception e) {
743 fail("Fault log not read: " + e.getMessage());
746 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.faultcurrent.list.output.Data> data =
747 readResult.getData();
751 assertEquals(1, data.size());
752 assertEquals("signalIsLost", data.get(0).getProblem());
753 assertEquals("NonAlarmed", data.get(0).getSeverity().toString());
754 assertEquals("s1", data.get(0).getNodeId());
755 assertEquals(4340, data.get(0).getCounter().intValue());
756 assertEquals(new DateAndTime("2019-10-28T11:55:58.3Z"), data.get(0).getTimestamp());
757 assertEquals(4340, data.get(0).getCounter().intValue());
758 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
761 // ==UPDATE============================
762 System.out.println("Trying to update...");
764 String json = "{\n" + "\"timestamp\": \"2019-12-28T11:55:58.3Z\",\n" + "\"node-id\": \"SDN-Controller-0\",\n"
765 + "\"counter\": 75,\n" + "\"problem\": \"connectionLossNeOAM\",\n" + "}";
767 String updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Faultcurrent.getName(), dbId, json);
768 assertEquals(dbId, updatedDbId);
770 // ==READ============================
773 readResult = dbProvider.readFaultCurrentList(readinput);
775 } catch (Exception e) {
776 fail("Fault log not read: " + e.getMessage());
779 data = readResult.getData();
782 assertEquals(1, data.size());
783 assertEquals("connectionLossNeOAM", data.get(0).getProblem());
784 assertEquals("SDN-Controller-0", data.get(0).getNodeId());
785 assertEquals(75, data.get(0).getCounter().intValue());
786 assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
788 // ==DELETE============================
790 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
791 } catch (Exception e) {
792 fail("problem deleting: " + e.getMessage());
795 // ==READ/VERIFY DELETE============================
798 readResult = dbProvider.readFaultCurrentList(readinput);
800 } catch (Exception e) {
801 fail("Fault log not read: " + e.getMessage());
804 data = readResult.getData();
807 assertEquals(0, data.size());
811 public void testConnectionLog() {
813 // ==CLEAR================================
814 System.out.println("Clear before test");
816 dbRawProvider.doRemove(Entity.Connectionlog.getName(), QueryBuilders.matchAllQuery());
817 } catch (Exception e) {
818 fail("problem deleting: " + e.getMessage());
821 // ==CREATE================================
823 System.out.println("Try create entry");
824 final String initialDbId = "1";
826 String json = "{\n" + "\"timestamp\": \"2019-11-01T11:28:34.7Z\",\n" + "\"status\": \"Connecting\",\n"
827 + "\"node-id\": \"sim2230\",\n"
828 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateConnectionlogInput\"\n"
831 dbId = dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), initialDbId, json);
833 assertEquals(initialDbId, dbId);
835 // ==READ================================
836 System.out.println("Try read entry");
838 ReadConnectionlogListInput readinput = new ReadConnectionlogListInputBuilder()
839 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
840 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
841 .setPagination(getPagination(20, 1)).build();
843 ReadConnectionlogListOutputBuilder readResult = null;
845 readResult = dbProvider.readConnectionlogList(readinput);
847 } catch (Exception e) {
848 fail("Connection log not read: " + e.getMessage());
851 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.connectionlog.list.output.Data> data =
852 readResult.getData();
855 assertEquals(1, data.size());
856 assertEquals("Connecting", data.get(0).getStatus().toString());
857 assertEquals("sim2230", data.get(0).getNodeId());
860 // ==UPDATE================================
861 System.out.println("Try update entry");
863 dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), dbId, "{'status' : 'Connected'}");
865 // ==READ 2================================
866 System.out.println("Try read updated entry");
868 readinput = new ReadConnectionlogListInputBuilder()
869 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
870 new FilterBuilder().setProperty("status").setFiltervalue("Connected").build()))
871 .setPagination(getPagination(20, 1)).build();
874 readResult = dbProvider.readConnectionlogList(readinput);
876 } catch (Exception e) {
877 fail("Connection log not read: " + e.getMessage());
880 data = readResult.getData();
883 assertEquals(1, data.size());
884 assertEquals("Connected", data.get(0).getStatus().toString());
885 assertEquals("sim2230", data.get(0).getNodeId());
887 //== DELETE ================================
889 System.out.println("try to clear entry");
891 dbRawProvider.doRemove(Entity.Connectionlog.getName(), dbId);
892 } catch (Exception e) {
893 fail("problem deleting entry: " + e.getMessage());
896 //== VERIFY DELETE ===========================
897 System.out.println("verify entries deleted");
898 readResult = dbProvider.readConnectionlogList(
899 new ReadConnectionlogListInputBuilder().setPagination(getPagination(20, 1)).build());
900 data = readResult.getData();
901 assertEquals(0, data.size());
906 public void testEventLog() {
907 System.out.println("Test event log starting...");
909 // ==CLEAR================================
910 System.out.println("Clear before test");
912 dbRawProvider.doRemove(Entity.Eventlog.getName(), QueryBuilders.matchAllQuery());
913 } catch (Exception e) {
914 fail("problem deleting: " + e.getMessage());
916 // ==CREATE============================
919 String json = " {\n" + "\"timestamp\": \"2019-11-08T16:39:23.0Z\",\n" + "\"new-value\": \"done\",\n"
920 + "\"object-id\": \"SDN-Controller-0\",\n" + "\"attribute-name\": \"startup\",\n" + "\"counter\": 0,\n"
921 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Eventlog\",\n"
922 + "\"node-id\": \"SDN-Controller-0\"\n" + "}";
924 dbId = dbRawProvider.doUpdateOrCreate(Entity.Eventlog.getName(), "1", json);
927 // ==READ===========================
929 ReadEventlogListInput readinput = new ReadEventlogListInputBuilder()
930 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
931 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
932 .setPagination(getPagination(20, 1)).build();
933 ReadEventlogListOutputBuilder readResult = null;
935 readResult = dbProvider.readEventlogList(readinput);
937 } catch (Exception e) {
938 fail("problem reading eventlog");
941 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.eventlog.list.output.Data> data =
942 readResult.getData();
943 assertEquals(1, data.size());
945 //== DELETE ================================
947 System.out.println("try to clear entry");
949 dbRawProvider.doRemove(Entity.Eventlog.getName(), dbId);
950 } catch (Exception e) {
951 fail("problem deleting entry: " + e.getMessage());
954 //== VERIFY DELETE ===========================
955 System.out.println("verify entries deleted");
957 readResult = dbProvider
958 .readEventlogList(new ReadEventlogListInputBuilder().setPagination(getPagination(20, 1)).build());
959 } catch (IOException e) {
960 fail("problem reading eventlog");
962 data = readResult.getData();
963 assertEquals(0, data.size());
968 public void testInventory() {
970 System.out.println("Test inventory starting...");
972 // ==CLEAR================================
973 System.out.println("Clear before test");
975 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
976 } catch (Exception e) {
977 fail("problem deleting: " + e.getMessage());
981 // ==CREATE============================
984 String json = " {\"tree-level\": 1,\n" + " \"parent-uuid\": \"SHELF-1.1.0.0\",\n"
985 + " \"node-id\": \"sim2\",\n" + " \"uuid\": \"CARD-1.1.8.0\",\n"
986 + " \"contained-holder\": [ ],\n" + " \"manufacturer-name\": \"Lorem Ipsum\",\n"
987 + " \"manufacturer-identifier\": \"ONF-Wireless-Transport\",\n" + " \"serial\": \"sd-dsa-eqw\",\n"
988 + " \"date\": \"2008-10-21T00:00:00.0Z\",\n"
989 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory\",\n"
990 + " \"version\": \"unknown\",\n" + " \"description\": \"WS/DS3\",\n"
991 + " \"part-type-id\": \"unknown\",\n" + " \"model-identifier\": \"model-id-s3s\",\n"
992 + " \"type-name\": \"p4.module\"}";
994 dbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), "1 1", json);
997 // ==READ===========================
998 ReadInventoryListInput readinput = new ReadInventoryListInputBuilder()
999 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1000 new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
1001 .setPagination(getPagination(20, 1)).build();
1002 ReadInventoryListOutputBuilder readResult = null;
1004 readResult = dbProvider.readInventoryList(readinput);
1006 } catch (Exception e) {
1007 fail("Problem reading inventory list" + e.getMessage());
1010 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.inventory.list.output.Data> data =
1011 readResult.getData();
1012 assertEquals(1, data.size());
1013 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
1014 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
1015 assertEquals("sim2", data.get(0).getNodeId());
1016 assertEquals("unknown", data.get(0).getVersion());
1017 assertEquals("WS/DS3", data.get(0).getDescription());
1018 assertEquals("2008-10-21T00:00:00.0Z", data.get(0).getDate());
1019 assertEquals("sd-dsa-eqw", data.get(0).getSerial());
1020 System.out.println(data.get(0).getDate());
1022 // ==UPDATE============================
1023 String updatedDbId = null;
1024 final String[] holderArray = {"Lorem Ipsum 1", "Lorem Ipsum 2", "Lorem Ipsum &%/$_2"};
1025 String updatejson = " {" + " \"node-id\": \"sim5\",\n"
1026 + " \"contained-holder\": [ \"Lorem Ipsum 1\", \"Lorem Ipsum 2\", \"Lorem Ipsum &%/$_2\" ],\n"
1027 + " \"serial\": \"sd-dsa-eww\",\n" + " \"date\": \"2008-11-21T00:00:00.0Z\",\n"
1028 + " \"part-type-id\": \"not unknown\",\n" + "}";
1030 updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), dbId, updatejson);
1031 assertEquals(dbId, updatedDbId);
1034 readResult = dbProvider.readInventoryList(readinput);
1036 } catch (Exception e) {
1037 fail("Problem reading inventory list" + e.getMessage());
1040 data = readResult.getData();
1042 assertEquals(1, data.size());
1043 assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
1044 assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
1045 assertEquals("sim5", data.get(0).getNodeId());
1046 assertEquals("not unknown", data.get(0).getPartTypeId());
1047 assertEquals("WS/DS3", data.get(0).getDescription());
1048 assertEquals("2008-11-21T00:00:00.0Z", data.get(0).getDate());
1049 assertEquals("sd-dsa-eww", data.get(0).getSerial());
1050 assertEquals(holderArray.length, data.get(0).getContainedHolder().size());
1051 Set<String> holder = data.get(0).getContainedHolder();
1052 assertTrue(holder.contains(holderArray[0]));
1053 assertTrue(holder.contains(holderArray[1]));
1054 assertTrue(holder.contains(holderArray[2]));
1056 // ==DELETE============================
1058 System.out.println("delete after test");
1060 dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
1061 } catch (Exception e) {
1062 fail("problem deleting: " + e.getMessage());
1065 // ==VERIFY DELETE ============================
1068 readResult = dbProvider.readInventoryList(readinput);
1070 } catch (Exception e) {
1071 fail("Problem reading inventory list" + e.getMessage());
1074 data = readResult.getData();
1075 assertEquals(0, data.size());
1080 public void test15MinPerformanceReadLtpListWithoutNodeIdSetThrowsException() {
1082 System.out.println("Reading 15m ltp list without node id filter set throws an exception test start...");
1085 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1086 } catch (Exception e) {
1087 fail("problem deleting: " + e.getMessage());
1090 System.out.println("create entries...");
1092 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1093 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1095 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1096 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1097 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1098 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1100 System.out.println("trying to read, should throw exception...");
1103 ReadPmdata15mLtpListInput readLtp =
1104 new ReadPmdata15mLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1106 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1109 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1110 fail("No exception thrown!");
1111 } catch (Exception e) {
1112 System.out.println(e);
1113 assertTrue(e instanceof IllegalArgumentException);
1114 assertEquals("no nodename in filter found ", e.getMessage());
1117 assertNull(readltpResult);
1119 //== DELETE ================================
1121 System.out.println("try to clear entry");
1123 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1124 } catch (Exception e) {
1125 fail("problem deleting entry: " + e.getMessage());
1128 //== VERIFY DELETE ===========================
1129 System.out.println("verify entries deleted");
1130 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1133 new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build())
1136 assertEquals(0, data.size());
1140 public void test15MinPerformanceData() {
1141 // == CLEAR BEFORE TESTS ============================
1142 System.out.println("Test 15 min performance...");
1145 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1146 } catch (Exception e) {
1147 fail("problem deleting: " + e.getMessage());
1150 // == CREATE ============================
1152 System.out.println("create entries...");
1154 createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1155 createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1157 createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1158 createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1159 createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1160 createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1162 // == READ ============================
1163 System.out.println("read list entries...");
1165 ReadPmdata15mListInput read = new ReadPmdata15mListInputBuilder()
1166 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1167 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1168 .setPagination(getPagination(20, 1)).build();
1170 ReadPmdata15mListOutputBuilder readResult = null;
1173 readResult = dbProvider.readPmdata15mList(read);
1174 } catch (Exception e) {
1175 fail("Problem reading 15m data");
1178 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._15m.list.output.Data> data =
1179 readResult.getData();
1181 assertNotNull(data);
1182 assertEquals(2, data.size());
1184 System.out.println("read ltp entries with node name set...");
1186 ReadPmdata15mLtpListInput readLtp = new ReadPmdata15mLtpListInputBuilder()
1187 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1188 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1189 .setPagination(getPagination(20, 1)).build();
1191 ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1194 readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1195 } catch (Exception e) {
1196 fail("Problem reading 15m ltp data");
1199 Set<String> dataLtp = readltpResult.getData();
1201 assertNotNull(dataLtp);
1202 assertEquals(2, dataLtp.size());
1203 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1204 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1206 System.out.println("read device entries...");
1208 ReadPmdata15mDeviceListInput readDevices =
1209 new ReadPmdata15mDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1211 ReadPmdata15mDeviceListOutputBuilder readDeviceResult = null;
1214 readDeviceResult = dbProvider.readPmdata15mDeviceList(readDevices);
1215 } catch (Exception e) {
1216 fail("Problem reading 15m device data");
1219 Set<String> dataDevice = readDeviceResult.getData();
1221 assertNotNull(dataDevice);
1222 assertEquals(2, dataDevice.size());
1223 assertTrue(dataDevice.contains("a2"));
1224 assertTrue(dataDevice.contains("a3"));
1226 //== DELETE ================================
1228 System.out.println("try to clear entry");
1230 dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1231 } catch (Exception e) {
1232 fail("problem deleting entry: " + e.getMessage());
1235 //== VERIFY DELETE ===========================
1236 System.out.println("verify entries deleted");
1237 readResult = dbProvider
1238 .readPmdata15mList(new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build());
1239 data = readResult.getData();
1240 assertEquals(0, data.size());
1245 public void test24hPerformanceData() {
1246 System.out.println("Test 24h performance...");
1249 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1250 } catch (Exception e) {
1251 fail("problem deleting: " + e.getMessage());
1254 System.out.println("create entries...");
1255 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1256 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1257 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1258 String aDbId = createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-06", "a2");
1260 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1261 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1262 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1264 System.out.println("read all list entries...");
1266 ReadPmdata24hListInput read = new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build();
1268 ReadPmdata24hListOutputBuilder readResult = null;
1271 readResult = dbProvider.readPmdata24hList(read);
1272 } catch (Exception e) {
1273 fail("Problem reading 24h data");
1276 List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.read.pmdata._24h.list.output.Data> data =
1277 readResult.getData();
1279 assertNotNull(data);
1280 assertEquals(6, data.size());
1283 System.out.println("filter list entries...");
1285 read = new ReadPmdata24hListInputBuilder()
1286 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1287 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1288 .setPagination(getPagination(20, 1)).build();
1293 readResult = dbProvider.readPmdata24hList(read);
1294 } catch (Exception e) {
1295 fail("Problem reading 24h data");
1298 data = readResult.getData();
1300 assertNotNull(data);
1301 assertEquals(3, data.size());
1303 System.out.println("read ltp entries with node name set...");
1305 ReadPmdata24hLtpListInput readLtp = new ReadPmdata24hLtpListInputBuilder()
1306 .setFilter(YangHelper2.getListOrMap(FilterKey.class,
1307 new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1308 .setPagination(getPagination(20, 1)).build();
1310 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1313 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1314 } catch (Exception e) {
1315 fail("Problem reading 24h ltp data");
1318 Set<String> dataLtp = readltpResult.getData();
1320 assertNotNull(dataLtp);
1321 assertEquals(3, dataLtp.size());
1322 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1323 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1324 assertTrue(dataLtp.contains("LP-MWPS-TTP-06"));
1327 System.out.println("read device entries...");
1329 ReadPmdata24hDeviceListInput readDevices =
1330 new ReadPmdata24hDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1332 ReadPmdata24hDeviceListOutputBuilder readDeviceResult = null;
1335 readDeviceResult = dbProvider.readPmdata24hDeviceList(readDevices);
1336 } catch (Exception e) {
1337 fail("Problem reading 24h device data");
1340 Set<String> dataDevice = readDeviceResult.getData();
1342 assertNotNull(dataDevice);
1343 assertEquals(2, dataDevice.size());
1344 assertTrue(dataDevice.contains("a2"));
1345 assertTrue(dataDevice.contains("a3"));
1347 // == UPDATE ==============================
1349 boolean success = dbRawProvider.doUpdate(Entity.Historicalperformance24h.getName(),
1350 "{'uuid-interface':'LTP-TEST-MWP-097'}", QueryBuilders.termQuery("_id", aDbId));
1351 assertTrue("update dbentry not succeeded", success);
1353 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1354 } catch (Exception e) {
1355 fail("Problem reading 24h ltp data");
1358 // == VERIFY UPDATE ==============================
1360 dataLtp = readltpResult.getData();
1362 assertNotNull(dataLtp);
1363 assertEquals(3, dataLtp.size());
1364 assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1365 assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1366 assertTrue(dataLtp.contains("LTP-TEST-MWP-097"));
1370 //== DELETE ===========================
1372 System.out.println("try to clear entries");
1374 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1375 } catch (Exception e) {
1376 fail("problem deleting entry: " + e.getMessage());
1379 //== VERIFY DELETE ===========================
1380 System.out.println("verify entries deleted");
1381 readResult = dbProvider
1382 .readPmdata24hList(new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build());
1383 data = readResult.getData();
1384 assertEquals(0, data.size());
1388 public void test24hPerformanceDataReadLtpListWithoutNodeIdSetThrowsException() {
1389 System.out.println("Test 24 hour tp list without node id filter set throws an exception test start...\"...");
1392 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1393 } catch (Exception e) {
1394 fail("problem deleting: " + e.getMessage());
1397 System.out.println("create entries...");
1399 GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1400 createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1401 createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1403 createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1404 createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1405 createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1406 createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1408 System.out.println("trying to read, should throw exception...");
1411 ReadPmdata24hLtpListInput readLtp =
1412 new ReadPmdata24hLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1414 ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1417 readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1418 fail("No exception thrown!");
1419 } catch (Exception e) {
1420 System.out.println(e);
1421 assertTrue(e instanceof IllegalArgumentException);
1422 assertEquals("no nodename in filter found ", e.getMessage());
1425 assertNull(readltpResult);
1428 dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1429 } catch (Exception e) {
1430 fail("problem deleting: " + e.getMessage());
1435 public void testUrlEncoding() {
1436 System.out.println("Testing url encding");
1438 final String test = "Lorem Ipsum";
1439 final String test1 = "Lorem/Ipsum";
1440 final String test2 = "Lorem_Ipsum";
1441 final String test3 = "Lorem%Ipsum";
1443 assertEquals("Lorem%20Ipsum", BaseRequest.urlEncodeValue(test));
1444 assertEquals("Lorem%2FIpsum", BaseRequest.urlEncodeValue(test1));
1445 assertEquals("Lorem_Ipsum", BaseRequest.urlEncodeValue(test2));
1446 assertEquals("Lorem%25Ipsum", BaseRequest.urlEncodeValue(test3));
1450 public void testDoUpdateOrCreateWithNullId() {
1451 System.out.println("Test DoUpdateOrCreate doesn't create new database entry if null is passed");
1453 String dbId = clearAndCreatefaultEntity(null, Entity.Faultlog.getName(),
1454 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultlogInput",
1455 SeverityType.Critical);
1460 public void readTestFaultCurrentViaRawDbProvider() {
1461 System.out.println("Starting faultCurrent test...");
1463 dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
1464 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.CreateFaultcurrentInput",
1465 SeverityType.Critical);
1466 assertEquals("1", dbId);
1468 // ==READ===========================
1469 System.out.println("Trying to read...");
1471 String readResult = null;
1473 readResult = dbRawProvider.doReadJsonData(Entity.Faultcurrent.getName(), dbId);
1475 } catch (Exception e) {
1476 fail("Fault log not read: " + e.getMessage());
1480 String expectedDbResult =
1481 "{\"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\"}";
1483 System.out.println(readResult);
1484 assertNotNull(readResult);
1485 assertEquals(expectedDbResult, readResult);
1487 SearchResult<SearchHit> searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1488 assertNotNull(searchResult);
1490 List<SearchHit> hits = searchResult.getHits();
1492 assertNotNull(hits);
1493 assertEquals(1, searchResult.getTotal());
1494 assertEquals(expectedDbResult, hits.get(0).getSourceAsString());
1496 //== DELETE ==============================
1498 dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
1499 } catch (Exception e) {
1500 fail("problem deleting: " + e.getMessage());
1502 //== VERIFY DELETE ========================
1503 searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1504 hits = searchResult.getHits();
1505 assertNotNull(hits);
1506 assertEquals(0, searchResult.getTotal());
1511 public void testOutputCamelCase() throws ClassNotFoundException {
1513 String jsonString = "{\n" + "\"timestamp\": \"2020-02-20T09:31:22.3Z\",\n"
1514 + "\"object-id\": \"LP-MWPS-RADIO\",\n" + "\"severity\": \"Critical\",\n" + "\"counter\": 10,\n"
1515 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Faultlog\",\n"
1516 + "\"source-type\": \"Netconf\",\n" + "\"node-id\": \"sim4\",\n" + "\"problem\": \"signalIsLost\"\n"
1518 DataProviderYangToolsMapper yangtoolsMapper = new DataProviderYangToolsMapper();
1519 Faultlog log = yangtoolsMapper.readValue(jsonString, Faultlog.class);
1520 System.out.println(yangtoolsMapper.writeValueAsString((new FaultlogBuilder(log).build())));
1521 System.out.println("Check3");
1522 } catch (IOException e) {
1523 e.printStackTrace();
1530 public void testUserdata() {
1531 final String USERNAME = "admin";
1532 final String DATA1 = "{\n" + " \"networkMap\":{\n"
1533 + " \"startupPosition\": {\"lat\": 52.5095, \"lon\":13.329, \"zoom\": 10},\n"
1534 + " \"tileOpacity\": 90,\n" + " \"styling\":{\n" + " \"theme\": \"light\"\n"
1535 + " }\n" + " },\n" + " \"dashboard\":{\n" + " \"color\":\"#F00\"\n" + " }\n"
1537 HtUserdataManagerImpl client = new HtUserdataManagerImpl(dbRawProvider);
1538 boolean success = client.setUserdata(USERNAME, DATA1);
1539 assertTrue(success);
1540 String data = client.getUserdata(USERNAME);
1541 //JSONAssert.assertEquals(DATA1,data,false);
1543 assertEquals("admin", UserdataHttpServlet.decodeJWTPayloadUsername(String.format("Bearer %s",
1544 "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBzZG4iLCJyb2xlcyI6WyJ1c2VyIiwiYWRtaW4iXSwiaXN"
1545 + "zIjoiT3BlbmRheWxpZ2h0IiwibmFtZSI6ImFkbWluQHNkbiIsImV4cCI6MTYxNTc5NTg1NywiZmFtaWx5X25hbWUiOiIifQ.wB"
1546 + "PdB45_bryU6_kSCu3be3dq3yth24niSXi6b2_1ufc"),
1550 private Pagination getPagination(long pageSize, int page) {
1551 return new PaginationBuilder().setPage(YangHelper2.getBigIntegerOrUint64(BigInteger.valueOf(page)))
1552 .setSize(YangHelper2.getLongOrUint32(pageSize)).build();
1555 private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1556 SeverityType severity) {
1557 return clearAndCreatefaultEntity(initialDbId, entityType, implementedInterface, severity, "s1");
1560 private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1561 SeverityType severity, String nodeId) {
1562 // ==CLEAR BEFORE TEST============================
1563 System.out.println("try to clear entry");
1565 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1566 } catch (Exception e) {
1567 fail("problem deleting: " + e.getMessage());
1571 return createFaultEntity(initialDbId, entityType, implementedInterface, severity, nodeId);
1574 private void createNeConnection(String nodeId, String host, int port, ConnectionLogStatus connectionStatus) {
1576 dbProvider.createNetworkElementConnection(new NetworkElementConnectionBuilder().setId(nodeId)
1577 .setNodeId(nodeId).setStatus(connectionStatus).setHost(host).setPort(Uint32.valueOf(port)).build());
1578 } catch (IOException e) {
1579 // TODO Auto-generated catch block
1580 e.printStackTrace();
1583 private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1584 SeverityType severity) {
1585 return createFaultEntity(initialDbId, entityType, implementedInterface, severity, "s1");
1587 private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1588 SeverityType severity, String nodeId) {
1589 // ==CREATE============================
1590 System.out.println("try to create entry");
1595 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1596 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\"object-id\": \"LP-MWPS-RADIO\",\n"
1597 + "\"severity\": \"" + severity.toString() + "\",\n" + "\"node-id\": \""+nodeId+"\",\n"
1598 + "\"implemented-interface\": \"" + implementedInterface + "\",\n" + "\"counter\": 4340,\n"
1599 + "\"problem\": \"signalIsLost\",\n" + "\"type\": \"ProblemNotificationXml\"\n" + "}");
1603 } catch (Exception e) {
1604 fail("Problem creating fault log entry" + e.getMessage());
1610 private String clearAndCreateCMEntity(String initialDbId, String entityType, String implementedInterface) {
1611 // ==CLEAR BEFORE TEST============================
1612 System.out.println("try to clear entry");
1614 dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1615 } catch (Exception e) {
1616 fail("problem deleting: " + e.getMessage());
1618 return createCMEntity(initialDbId, entityType, implementedInterface);
1621 private String createCMEntity(String initialDbId, String entityType, String implementedInterface) {
1622 // ==CREATE============================
1623 System.out.println("try to create entry");
1627 dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1628 "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\" object-id\": \"LP-MWPS-RADIO\",\n"
1629 + "\"node-id\": \"node-1\",\n" + "\"counter\": 1,\n" + "\"notification-type\": \""
1630 + CmNotificationType.NotifyMOIChanges.toString() + "\",\n" + "\"notification-id\": 123,\n"
1631 + "\"source-indicator\": \"" + CmSourceIndicator.MANAGEMENTOPERATION.toString() + "\",\n"
1632 + "\" path\": \"https://samsung.com/3GPP/simulation/network-function/ves=1\",\n"
1633 + "\"operation\": \"" + CmOperation.REPLACE.toString() + "\",\n"
1634 + "\"value\": \"pnf-registration:true\",\n" + "\"implemented-interface\": \""
1635 + implementedInterface + "\"\n" + "}");
1637 } catch (Exception e) {
1638 fail("Problem creating CM log entry" + e.getMessage());
1645 private String createPerformanceData(String initialDbId, GranularityPeriodType timeInterval, String scannerId,
1646 String uuidInterface, String nodename) {
1648 String json = "{\n" + "\"node-name\": \"" + nodename + "\",\n" + "\"uuid-interface\": \"" + uuidInterface
1649 + "\",\n" + "\"layer-protocol-name\": \"MWPS\",\n" + "\"radio-signal-id\": \"Test8\",\n"
1650 + "\"time-stamp\": \"2017-03-01T06:15:00.0Z\",\n" + "\"granularity-period\": \""
1651 + timeInterval.toString() + "\",\n" + "\"scanner-id\": \"" + scannerId + "\",\n"
1652 + "\"performance-data\": {\n" + "\"cses\": 0,\n" + "\"ses\": 0,\n" + "\"es\": 0,\n"
1653 + "\"tx-level-max\": 3,\n" + "\"tx-level-avg\": 3,\n" + "\"rx-level-min\": -44,\n"
1654 + "\"rx-level-max\": -45,\n" + "\"rx-level-avg\": -44,\n" + "\"time2-states\": 0,\n"
1655 + "\"time4-states-s\": 0,\n" + "\"time4-states\": 0,\n" + "\"time8-states\": -1,\n"
1656 + "\"time16-states-s\": -1,\n" + "\"time16-states\": 0,\n" + "\"time32-states\": -1,\n"
1657 + "\"time64-states\": 900,\n" + "\"time128-states\": -1,\n" + "\"time256-states\": -1,\n"
1658 + "\"time512-states\": -1,\n" + "\"time512-states-l\": -1,\n" + "\"unavailability\": 0,\n"
1659 + "\"tx-level-min\": 3,\n" + "\"time1024-states\": -1,\n" + "\"time1024-states-l\": -1,\n"
1660 + "\"time2048-states\": -1,\n" + "\"time2048-states-l\": -1,\n" + "\"time4096-states\": -1,\n"
1661 + "\"time4096-states-l\": -1,\n" + "\"time8192-states\": -1,\n" + "\"time8192-states-l\": -1,\n"
1662 + "\"snir-min\": -99,\n" + "\"snir-max\": -99,\n" + "\"snir-avg\": -99,\n" + "\"xpd-min\": -99,\n"
1663 + "\"xpd-max\": -99,\n" + "\"xpd-avg\": -99,\n" + "\"rf-temp-min\": -99,\n" + "\"rf-temp-max\": -99,\n"
1664 + "\"rf-temp-avg\": -99,\n" + "\"defect-blocks-sum\": -1,\n" + "\"time-period\": 900\n" + "},\n"
1665 + "\"suspect-interval-flag\": false\n" + "}";
1667 if (timeInterval.equals(GranularityPeriodType.Period15Min)) {
1668 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance15min.getName(), initialDbId, json);
1670 return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance24h.getName(), initialDbId, json);