0294c6e50caadbf03e5ec8ce15a8f96d165b478c
[ccsdk/features.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP : ccsdk features
4  * ================================================================================
5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
6  * All rights reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  *
21  */
22 package org.onap.ccsdk.features.sdnr.wt.dataprovider.test;
23
24 import static org.junit.Assert.*;
25
26 import java.io.IOException;
27 import java.math.BigInteger;
28 import java.util.Arrays;
29 import java.util.List;
30 import java.util.concurrent.TimeUnit;
31
32 import org.junit.BeforeClass;
33 import org.junit.Test;
34 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
35 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
36 import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
37 import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
38 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
39 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.BaseRequest;
40 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.ElasticSearchDataProvider;
41 import org.onap.ccsdk.features.sdnr.wt.dataprovider.yangtools.YangToolsMapper;
42 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
43 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInput;
44 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceInputBuilder;
45 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMaintenanceOutputBuilder;
46 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInput;
47 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInputBuilder;
48 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
49 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionInput;
50 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionInputBuilder;
51 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateNetworkElementConnectionOutputBuilder;
52 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInput;
53 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMaintenanceInputBuilder;
54 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInput;
55 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteMediatorServerInputBuilder;
56 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInput;
57 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.DeleteNetworkElementConnectionInputBuilder;
58 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
59 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EntityInput;
60 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Faultlog;
61 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogEntity;
62 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.GranularityPeriodType;
63 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListInput;
64 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListInputBuilder;
65 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadConnectionlogListOutputBuilder;
66 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInput;
67 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListInputBuilder;
68 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadEventlogListOutputBuilder;
69 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListInput;
70 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListInputBuilder;
71 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultcurrentListOutputBuilder;
72 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListInput;
73 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListInputBuilder;
74 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadFaultlogListOutputBuilder;
75 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListInput;
76 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListInputBuilder;
77 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadInventoryListOutputBuilder;
78 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListInput;
79 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListInputBuilder;
80 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMaintenanceListOutputBuilder;
81 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListInput;
82 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListInputBuilder;
83 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadMediatorServerListOutputBuilder;
84 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListInput;
85 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListInputBuilder;
86 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadNetworkElementConnectionListOutputBuilder;
87 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListInput;
88 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListInputBuilder;
89 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mDeviceListOutputBuilder;
90 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListInput;
91 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListInputBuilder;
92 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mListOutputBuilder;
93 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListInput;
94 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListInputBuilder;
95 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata15mLtpListOutputBuilder;
96 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListInput;
97 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListInputBuilder;
98 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hDeviceListOutputBuilder;
99 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListInput;
100 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListInputBuilder;
101 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hListOutputBuilder;
102 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListInput;
103 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListInputBuilder;
104 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ReadPmdata24hLtpListOutputBuilder;
105 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SeverityType;
106 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInput;
107 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceInputBuilder;
108 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMaintenanceOutputBuilder;
109 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInput;
110 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerInputBuilder;
111 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateMediatorServerOutputBuilder;
112 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInput;
113 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionInputBuilder;
114 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.UpdateNetworkElementConnectionOutputBuilder;
115 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.entity.input.Filter;
116 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.entity.input.FilterBuilder;
117 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.entity.input.Pagination;
118 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.entity.input.PaginationBuilder;
119 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.mediator.server.list.output.Data;
120
121 public class TestCRUDforDatabase {
122
123     private static ElasticSearchDataProvider dbProvider;
124     private static HtDatabaseClient dbRawProvider;
125     public static HostInfo[] hosts = new HostInfo[] {new HostInfo("localhost", Integer
126             .valueOf(System.getProperty("databaseport") != null ? System.getProperty("databaseport") : "49200"))};
127
128     @BeforeClass
129     public static void init() throws Exception {
130
131         dbProvider = new ElasticSearchDataProvider(hosts);
132         dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
133         dbRawProvider = new HtDatabaseClient(hosts);
134     }
135
136     public static void trySleep(long ms) {
137         try {
138             Thread.sleep(ms);
139         } catch (Exception e) {
140             Thread.currentThread().interrupt();
141         }
142     }
143
144     public static void trySleep() {
145         trySleep(0);
146     }
147
148     @Test
149     public void testStatus() throws IOException {
150
151         //== CLEAR AND CREATE ================================
152         clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
153                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
154                 SeverityType.Critical);
155         createFaultEntity("Lorem Ipsum", Entity.Faultcurrent.getName(),
156                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
157                 SeverityType.Major);
158         createFaultEntity("3", Entity.Faultcurrent.getName(),
159                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
160                 SeverityType.Minor);
161         createFaultEntity("4", Entity.Faultcurrent.getName(),
162                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
163                 SeverityType.Warning);
164
165         //== READ ================================
166
167         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.status.output.Data> readOutput =
168                 dbProvider.readStatus().getData();
169         System.out.println(readOutput);
170
171         assertEquals(1, readOutput.get(0).getFaults().getMajors().intValue());
172         assertEquals(1, readOutput.get(0).getFaults().getMinors().intValue());
173         assertEquals(1, readOutput.get(0).getFaults().getWarnings().intValue());
174         assertEquals(1, readOutput.get(0).getFaults().getCriticals().intValue());
175
176         //== DELETE ================================
177
178         System.out.println("try to delete entries");
179         try {
180             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
181         } catch (Exception e) {
182             fail("problem deleting entry: " + e.getMessage());
183         }
184
185         //== VERIFY DELETE ===========================
186         System.out.println("verify entries were deleted");
187         readOutput = dbProvider.readStatus().getData();
188         assertEquals(0, readOutput.get(0).getFaults().getMajors().intValue());
189         assertEquals(0, readOutput.get(0).getFaults().getMinors().intValue());
190         assertEquals(0, readOutput.get(0).getFaults().getWarnings().intValue());
191         assertEquals(0, readOutput.get(0).getFaults().getCriticals().intValue());
192     }
193
194     @Test
195     public void testMediatorServer() {
196         final String NAME = "ms1";
197         final String URL = "http://11.23.45.55:4599";
198         final String NAME2 = "ms1-nu";
199         final String URL2 = "http://11.23.45.56:4599";
200
201         // ==CLEAR BEFORE TEST============================
202         System.out.println("try to clear entry");
203         try {
204             dbRawProvider.doRemove(Entity.MediatorServer.getName(), QueryBuilders.matchAllQuery());
205         } catch (Exception e) {
206             fail("problem deleting entry: " + e.getMessage());
207         }
208         trySleep();
209         // ==CREATE============================
210         System.out.println("try to create entry");
211         CreateMediatorServerOutputBuilder createOutput = null;
212         CreateMediatorServerInput input = new CreateMediatorServerInputBuilder().setName(NAME).setUrl(URL).build();
213         String dbId = null;
214
215         try {
216             createOutput = dbProvider.createMediatorServer(input);
217             dbId = createOutput.getId();
218             System.out.println(createOutput);
219         } catch (Exception e) {
220             fail("failed to create " + input.toString() + ":" + e.getMessage());
221         }
222         assertNotNull(createOutput);
223         assertNotNull(dbId);
224         trySleep();
225         // ==READ===========================
226         System.out.println("try to read entry");
227         ReadMediatorServerListInput readinput = new ReadMediatorServerListInputBuilder()
228                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
229                 .setPagination(getPagination(20, 1)).build();
230         ReadMediatorServerListOutputBuilder readoutput = dbProvider.readMediatorServerList(readinput);
231         List<Data> data = readoutput.getData();
232         assertNotNull(data);
233         assertEquals("no entry found", 1, data.size());
234         assertEquals(NAME, data.get(0).getName());
235         assertEquals(URL, data.get(0).getUrl());
236         String dbId2 = data.get(0).getId();
237         assertEquals(dbId, dbId2);
238         System.out.println(data);
239         // ==UPDATE============================
240         System.out.println("try to update entry");
241         UpdateMediatorServerInput updateInput =
242                 new UpdateMediatorServerInputBuilder().setId(dbId2).setName(NAME2).setUrl(URL2).build();
243         UpdateMediatorServerOutputBuilder updateOutput = null;
244         try {
245             updateOutput = dbProvider.updateMediatorServer(updateInput);
246             System.out.println(updateOutput);
247         } catch (Exception e) {
248             fail("problem updating entry:" + e.getMessage());
249         }
250         assertNotNull(updateOutput);
251         trySleep();
252         // ==READ============================
253         System.out.println("try to read entry");
254         readinput = new ReadMediatorServerListInputBuilder()
255                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
256                 .setPagination(getPagination(20, 1)).build();
257         readoutput = dbProvider.readMediatorServerList(readinput);
258         data = readoutput.getData();
259         System.out.println(data);
260         assertNotNull("no update response", data);
261         assertEquals("update not verifiied", 1, data.size());
262         assertEquals("update not verifiied", NAME2, data.get(0).getName());
263         assertEquals("update not verifiied", URL2, data.get(0).getUrl());
264         assertEquals("update not verifiied", dbId, data.get(0).getId());
265         // ==DELETE============================
266         System.out.println("try to delete entry");
267         DeleteMediatorServerInput deleteInput = new DeleteMediatorServerInputBuilder().setId(dbId).build();
268         try {
269             dbProvider.deleteMediatorServer(deleteInput);
270         } catch (Exception e) {
271             fail("problem deleting entry: " + e.getMessage());
272         }
273
274         trySleep();
275         // ==READ/VERIFY DELETE============================
276         System.out.println("try to read entry");
277         readinput = new ReadMediatorServerListInputBuilder()
278                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("name").setFiltervalue(NAME2).build()))
279                 .setPagination(getPagination(20, 1)).build();
280         readoutput = dbProvider.readMediatorServerList(readinput);
281         data = readoutput.getData();
282         assertNotNull("delete not verifiied", data);
283         assertEquals("delete not verifiied", 0, data.size());
284     }
285
286     @Test
287     public void testNetworkElementConnectionCurrent() {
288
289         System.out.println("networkElementConnection test start");
290
291         // ==CLEAR BEFORE TEST============================
292         System.out.println("try to clear entry");
293         try {
294             dbRawProvider.doRemove(Entity.NetworkelementConnection.getName(), QueryBuilders.matchAllQuery());
295         } catch (Exception e) {
296             fail("problem deleting entry: " + e.getMessage());
297         }
298
299         // ==CREATE============================
300         System.out.println("try to create");
301         final String name = "sim87";
302         final String url = "10.5.10.1";
303         final long port = 5959;
304
305         CreateNetworkElementConnectionOutputBuilder create = null;
306         CreateNetworkElementConnectionInput input = new CreateNetworkElementConnectionInputBuilder().setNodeId(name)
307                 .setIsRequired(true).setHost(url).setPort(port).build();
308         String dbId = null;
309
310         try {
311             create = dbProvider.createNetworkElementConnection(input);
312             dbId = create.getId();
313         } catch (Exception e) {
314             fail("networkElementConnection create failed" + e.getMessage());
315         }
316
317         assertNotNull(dbId);
318         assertNotNull(create);
319
320         // ==READ===========================
321
322         ReadNetworkElementConnectionListInput readInput = new ReadNetworkElementConnectionListInputBuilder()
323                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
324                 .setPagination(getPagination(20, 1)).build();
325
326         ReadNetworkElementConnectionListOutputBuilder readOperation =
327                 dbProvider.readNetworkElementConnectionList(readInput);
328         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.network.element.connection.list.output.Data> data =
329                 readOperation.getData();
330
331         assertNotNull(data);
332         assertEquals(dbId, data.get(0).getId());
333         assertEquals(name, data.get(0).getNodeId());
334         assertEquals(url, data.get(0).getHost());
335         assertEquals(port, data.get(0).getPort().longValue());
336
337         // ==UPDATE============================
338         System.out.println("Trying to update...");
339         final String name2 = "sim88";
340         final String url2 = "10.5.10.2";
341         final long port2 = 5960;
342
343         UpdateNetworkElementConnectionInput updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId)
344                 .setHost(url2).setPort(port2).setIsRequired(false).build();
345         UpdateNetworkElementConnectionOutputBuilder updateOutput = null;
346         try {
347             updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
348         } catch (Exception e) {
349             fail("update failed: " + e.getMessage());
350         }
351
352         assertNotNull(updateOutput);
353
354         // == Verify UPDATE============================
355         System.out.println("Verfiying update...");
356
357         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
358         data = readOperation.getData();
359
360         assertNotNull(data);
361         assertEquals(url2, data.get(0).getHost());
362         assertEquals(port2, data.get(0).getPort().longValue());
363
364         // ==PARTIAL UPDATE============================
365         System.out.println("Try partial update...");
366         assertEquals(false, data.get(0).isIsRequired());
367         updateInput = new UpdateNetworkElementConnectionInputBuilder().setId(dbId).setIsRequired(true).build();
368         try {
369             updateOutput = dbProvider.updateNetworkElementConnection(updateInput);
370         } catch (Exception e) {
371             fail("update failed: " + e.getMessage());
372         }
373
374         assertNotNull(updateOutput);
375
376         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
377         data = readOperation.getData();
378
379         assertEquals(true, data.get(0).isIsRequired());
380         assertEquals(url2, data.get(0).getHost());
381         assertEquals(port2, data.get(0).getPort().longValue());
382
383         // ==DELETE============================
384         System.out.println("Try delete...");
385
386         DeleteNetworkElementConnectionInput deleteInput =
387                 new DeleteNetworkElementConnectionInputBuilder().setId(dbId).build();
388         try {
389             dbProvider.deleteNetworkElementConnection(deleteInput);
390         } catch (Exception e) {
391             fail("problem deleting " + e.getMessage());
392         }
393
394         readInput = new ReadNetworkElementConnectionListInputBuilder()
395                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
396                 .setPagination(getPagination(20, 1)).build();
397         readOperation = dbProvider.readNetworkElementConnectionList(readInput);
398         data = readOperation.getData();
399         assertEquals(0, data.size());
400
401     }
402
403     @Test
404     public void testMaintenance() {
405         System.out.println("Starting Maintenance tests...");
406
407         // ==CLEAR BEFORE TEST============================
408         System.out.println("try to clear entry");
409         try {
410             dbRawProvider.doRemove(Entity.Maintenancemode.getName(), QueryBuilders.matchAllQuery());
411         } catch (Exception e) {
412             fail("problem deleting entry: " + e.getMessage());
413         }
414
415         // ==CREATE============================
416
417         final String nodeId = "Lorem Ipsum";
418         final boolean isActive = true;
419
420         CreateMaintenanceOutputBuilder create = null;
421         CreateMaintenanceInput input =
422                 new CreateMaintenanceInputBuilder().setNodeId(nodeId).setActive(isActive).build();
423         String dbId = null;
424         try {
425             create = dbProvider.createMaintenance(input);
426             dbId = create.getId();
427         } catch (Exception e) {
428             fail("Failed to create:" + e.getMessage());
429         }
430
431         System.out.println(dbId);
432         assertNotNull(create);
433         assertNotNull(dbId);
434
435         // ==READ===========================
436         System.out.println("Try read...");
437
438         ReadMaintenanceListInput readinput = new ReadMaintenanceListInputBuilder()
439                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
440                 .setPagination(getPagination(20, 1)).build();
441         ReadMaintenanceListOutputBuilder readResult = dbProvider.readMaintenanceList(readinput);
442         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.maintenance.list.output.Data> data =
443                 readResult.getData();
444
445         assertNotEquals(0, data.size());
446         assertNotNull(data);
447         assertEquals(nodeId, data.get(0).getNodeId());
448         assertEquals(isActive, data.get(0).isActive());
449
450         // ==UPDATE============================
451
452         System.out.println("Trying to update...");
453         final String nodeId2 = "Name2";
454         final boolean isActive2 = false;
455
456         UpdateMaintenanceInput updateInput =
457                 new UpdateMaintenanceInputBuilder().setId(dbId).setNodeId(nodeId2).setActive(isActive2).build();
458         UpdateMaintenanceOutputBuilder updateResult = null;
459         try {
460             updateResult = dbProvider.updateMaintenance(updateInput);
461         } catch (Exception e) {
462             fail("maintenance update failed..." + e.getMessage());
463         }
464
465         assertNotNull(updateResult);
466
467         // == VERIFY UPDATE============================
468         System.out.println("Verfify update...");
469         readResult = dbProvider.readMaintenanceList(readinput);
470         data = readResult.getData();
471
472         assertNotNull(data);
473         assertEquals(nodeId2, data.get(0).getNodeId());
474         assertEquals(isActive2, data.get(0).isActive());
475
476         // ==DELETE================================
477         System.out.println("Trying to delete...");
478
479         DeleteMaintenanceInput deleteInput = new DeleteMaintenanceInputBuilder().setId(dbId).build();
480         try {
481             dbProvider.deleteMaintenance(deleteInput);
482         } catch (Exception e) {
483             fail("Maintenance entry couldn't be deleted" + e.getMessage());
484         }
485
486         readResult = dbProvider.readMaintenanceList(readinput);
487         data = readResult.getData();
488
489         assertEquals(0, data.size());
490     }
491
492     @Test
493     public void testFaultLog() {
494
495         System.out.println("Starting fault log tests...");
496         String dbId = clearAndCreatefaultEntity("1", Entity.Faultlog.getName(),
497                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultlogInput",
498                 SeverityType.Critical);
499
500         // ==READ===========================
501         System.out.println("try to read entry");
502
503         ReadFaultlogListInput readinput = new ReadFaultlogListInputBuilder()
504                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
505                 .setPagination(getPagination(20, 1)).build();
506
507         ReadFaultlogListOutputBuilder readResult = null;
508         try {
509             readResult = dbProvider.readFaultLogList(readinput);
510
511         } catch (Exception e) {
512             fail("Fault log not read: " + e.getMessage());
513         }
514
515         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultlog.list.output.Data> data =
516                 readResult.getData();
517
518         assertNotNull(data);
519         assertEquals(1, data.size());
520         assertEquals("signalIsLost", data.get(0).getProblem());
521         assertEquals("Critical", data.get(0).getSeverity().toString());
522         assertEquals("s1", data.get(0).getNodeId());
523
524         //== UPDATE ================================
525         System.out.println("try to update entry");
526
527         dbRawProvider.doUpdateOrCreate(Entity.Faultlog.getName(), "1",
528                 "{'problem': 'CableLOS', 'severity': 'Major', 'node-id': 'test4657-78'}");
529
530         System.out.println("try to search entry 1");
531         readinput = new ReadFaultlogListInputBuilder()
532                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-id").setFiltervalue("test").build()))
533                 .setPagination(getPagination(20, 1)).build();
534
535         //== VERIFY UPDATE ================================
536         readResult = dbProvider.readFaultLogList(readinput);
537         data = readResult.getData();
538
539
540         assertNotNull(data);
541         System.out.println(data);
542         assertEquals(0, data.size());
543
544         System.out.println("try to search entry 2");
545
546         readinput = new ReadFaultlogListInputBuilder()
547                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-id").setFiltervalue("test*").build()))
548                 .setPagination(getPagination(20, 1)).build();
549
550         readResult = dbProvider.readFaultLogList(readinput);
551         data = readResult.getData();
552
553
554         assertNotNull(data);
555         assertEquals(1, data.size());
556         assertEquals("CableLOS", data.get(0).getProblem());
557         assertEquals("Major", data.get(0).getSeverity().toString());
558         assertEquals("test4657-78", data.get(0).getNodeId());
559
560         //== DELETE ================================
561
562         System.out.println("try to clear entry");
563         try {
564             dbRawProvider.doRemove(Entity.Faultlog.getName(), dbId);
565         } catch (Exception e) {
566             fail("problem deleting entry: " + e.getMessage());
567         }
568
569         //== VERIFY DELETE ===========================
570         System.out.println("verify entries deleted");
571         readResult = dbProvider
572                 .readFaultLogList(new ReadFaultlogListInputBuilder().setPagination(getPagination(20, 1)).build());
573         data = readResult.getData();
574         assertEquals(0, data.size());
575     }
576
577     @Test
578     public void testFaultCurrent() {
579         System.out.println("Starting faultCurrent test...");
580         String dbId = null;
581         dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
582                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
583                 SeverityType.NonAlarmed);
584         assertEquals("1", dbId);
585
586         // ==READ===========================
587         System.out.println("Trying to read...");
588
589
590         ReadFaultcurrentListInput readinput = new ReadFaultcurrentListInputBuilder()
591                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
592                 .setPagination(getPagination(20, 1)).build();
593
594         ReadFaultcurrentListOutputBuilder readResult = null;
595         try {
596             readResult = dbProvider.readFaultCurrentList(readinput);
597
598         } catch (Exception e) {
599             fail("Fault log not read: " + e.getMessage());
600         }
601
602         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.faultcurrent.list.output.Data> data =
603                 readResult.getData();
604
605
606         assertNotNull(data);
607         assertEquals(1, data.size());
608         assertEquals("signalIsLost", data.get(0).getProblem());
609         assertEquals("NonAlarmed", data.get(0).getSeverity().toString());
610         assertEquals("s1", data.get(0).getNodeId());
611         assertEquals(4340, data.get(0).getCounter().intValue());
612         assertEquals(new DateAndTime("2019-10-28T11:55:58.3Z"), data.get(0).getTimestamp());
613         assertEquals(4340, data.get(0).getCounter().intValue());
614         assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
615
616
617         // ==UPDATE============================
618         System.out.println("Trying to update...");
619
620         String json = "{\n" + "\"timestamp\": \"2019-12-28T11:55:58.3Z\",\n" + "\"node-id\": \"SDN-Controller-0\",\n"
621                 + "\"counter\": 75,\n" + "\"problem\": \"connectionLossNeOAM\",\n" + "}";
622
623         String updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Faultcurrent.getName(), dbId, json);
624         assertEquals(dbId, updatedDbId);
625
626         // ==READ============================
627
628         try {
629             readResult = dbProvider.readFaultCurrentList(readinput);
630
631         } catch (Exception e) {
632             fail("Fault log not read: " + e.getMessage());
633         }
634
635         data = readResult.getData();
636
637         assertNotNull(data);
638         assertEquals(1, data.size());
639         assertEquals("connectionLossNeOAM", data.get(0).getProblem());
640         assertEquals("SDN-Controller-0", data.get(0).getNodeId());
641         assertEquals(75, data.get(0).getCounter().intValue());
642         assertEquals("LP-MWPS-RADIO", data.get(0).getObjectId());
643
644         // ==DELETE============================
645         try {
646             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
647         } catch (Exception e) {
648             fail("problem deleting: " + e.getMessage());
649         }
650
651         // ==READ/VERIFY DELETE============================
652
653         try {
654             readResult = dbProvider.readFaultCurrentList(readinput);
655
656         } catch (Exception e) {
657             fail("Fault log not read: " + e.getMessage());
658         }
659
660         data = readResult.getData();
661
662         assertNotNull(data);
663         assertEquals(0, data.size());
664     }
665
666     @Test
667     public void testConnectionLog() {
668
669         // ==CLEAR================================
670         System.out.println("Clear before test");
671         try {
672             dbRawProvider.doRemove(Entity.Connectionlog.getName(), QueryBuilders.matchAllQuery());
673         } catch (Exception e) {
674             fail("problem deleting: " + e.getMessage());
675         }
676
677         // ==CREATE================================
678
679         System.out.println("Try create entry");
680         final String initialDbId = "1";
681         String dbId = null;
682         String json = "{\n" + "\"timestamp\": \"2019-11-01T11:28:34.7Z\",\n" + "\"status\": \"Connecting\",\n"
683                 + "\"node-id\": \"sim2230\",\n"
684                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateConnectionlogInput\"\n"
685                 + "}";
686
687         dbId = dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), initialDbId, json);
688
689         assertEquals(initialDbId, dbId);
690
691         // ==READ================================
692         System.out.println("Try read entry");
693
694         ReadConnectionlogListInput readinput = new ReadConnectionlogListInputBuilder()
695                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
696                 .setPagination(getPagination(20, 1)).build();
697
698         ReadConnectionlogListOutputBuilder readResult = null;
699         try {
700             readResult = dbProvider.readConnectionlogList(readinput);
701
702         } catch (Exception e) {
703             fail("Connection log not read: " + e.getMessage());
704         }
705
706         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.connectionlog.list.output.Data> data =
707                 readResult.getData();
708
709         assertNotNull(data);
710         assertEquals(1, data.size());
711         assertEquals("Connecting", data.get(0).getStatus().toString());
712         assertEquals("sim2230", data.get(0).getNodeId());
713
714
715         // ==UPDATE================================
716         System.out.println("Try update entry");
717
718         dbRawProvider.doUpdateOrCreate(Entity.Connectionlog.getName(), dbId, "{'status' : 'Connected'}");
719
720         // ==READ 2================================
721         System.out.println("Try read updated entry");
722
723         readinput = new ReadConnectionlogListInputBuilder()
724                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("status").setFiltervalue("Connected").build()))
725                 .setPagination(getPagination(20, 1)).build();
726
727         try {
728             readResult = dbProvider.readConnectionlogList(readinput);
729
730         } catch (Exception e) {
731             fail("Connection log not read: " + e.getMessage());
732         }
733
734         data = readResult.getData();
735
736         assertNotNull(data);
737         assertEquals(1, data.size());
738         assertEquals("Connected", data.get(0).getStatus().toString());
739         assertEquals("sim2230", data.get(0).getNodeId());
740
741         //== DELETE ================================
742
743         System.out.println("try to clear entry");
744         try {
745             dbRawProvider.doRemove(Entity.Connectionlog.getName(), dbId);
746         } catch (Exception e) {
747             fail("problem deleting entry: " + e.getMessage());
748         }
749
750         //== VERIFY DELETE ===========================
751         System.out.println("verify entries deleted");
752         readResult = dbProvider.readConnectionlogList(
753                 new ReadConnectionlogListInputBuilder().setPagination(getPagination(20, 1)).build());
754         data = readResult.getData();
755         assertEquals(0, data.size());
756
757     }
758
759     @Test
760     public void testEventLog() {
761         System.out.println("Test event log starting...");
762
763         // ==CLEAR================================
764         System.out.println("Clear before test");
765         try {
766             dbRawProvider.doRemove(Entity.Eventlog.getName(), QueryBuilders.matchAllQuery());
767         } catch (Exception e) {
768             fail("problem deleting: " + e.getMessage());
769         }
770         // ==CREATE============================
771
772         String dbId = null;
773         String json = " {\n" + "\"timestamp\": \"2019-11-08T16:39:23.0Z\",\n" + "\"new-value\": \"done\",\n"
774                 + "\"object-id\": \"SDN-Controller-0\",\n" + "\"attribute-name\": \"startup\",\n" + "\"counter\": 0,\n"
775                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Eventlog\",\n"
776                 + "\"node-id\": \"SDN-Controller-0\"\n" + "}";
777
778         dbId = dbRawProvider.doUpdateOrCreate(Entity.Eventlog.getName(), "1", json);
779         assertNotNull(dbId);
780
781         // ==READ===========================
782
783         ReadEventlogListInput readinput = new ReadEventlogListInputBuilder()
784                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
785                 .setPagination(getPagination(20, 1)).build();
786         ReadEventlogListOutputBuilder readResult = null;
787         try {
788             readResult = dbProvider.readEventlogList(readinput);
789
790         } catch (Exception e) {
791             fail("problem reading eventlog");
792         }
793
794         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.eventlog.list.output.Data> data =
795                 readResult.getData();
796         assertEquals(1, data.size());
797
798         //== DELETE ================================
799
800         System.out.println("try to clear entry");
801         try {
802             dbRawProvider.doRemove(Entity.Eventlog.getName(), dbId);
803         } catch (Exception e) {
804             fail("problem deleting entry: " + e.getMessage());
805         }
806
807         //== VERIFY DELETE ===========================
808         System.out.println("verify entries deleted");
809         try {
810             readResult = dbProvider
811                     .readEventlogList(new ReadEventlogListInputBuilder().setPagination(getPagination(20, 1)).build());
812         } catch (IOException e) {
813             fail("problem reading eventlog");
814         }
815         data = readResult.getData();
816         assertEquals(0, data.size());
817
818     }
819
820     @Test
821     public void testInventory() {
822
823         System.out.println("Test inventory starting...");
824
825         // ==CLEAR================================
826         System.out.println("Clear before test");
827         try {
828             dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
829         } catch (Exception e) {
830             fail("problem deleting: " + e.getMessage());
831         }
832
833
834         // ==CREATE============================
835
836         String dbId = null;
837         String json = " {\"tree-level\": 1,\n" + "    \"parent-uuid\": \"SHELF-1.1.0.0\",\n"
838                 + "    \"node-id\": \"sim2\",\n" + "    \"uuid\": \"CARD-1.1.8.0\",\n"
839                 + "    \"contained-holder\": [ ],\n" + "    \"manufacturer-name\": \"Lorem Ipsum\",\n"
840                 + "    \"manufacturer-identifier\": \"ONF-Wireless-Transport\",\n" + "    \"serial\": \"sd-dsa-eqw\",\n"
841                 + "    \"date\": \"2008-10-21T00:00:00.0Z\",\n"
842                 + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Inventory\",\n"
843                 + "    \"version\": \"unknown\",\n" + "    \"description\": \"WS/DS3\",\n"
844                 + "    \"part-type-id\": \"unknown\",\n" + "    \"model-identifier\": \"model-id-s3s\",\n"
845                 + "    \"type-name\": \"p4.module\"}";
846
847         dbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), "1 1", json);
848         assertNotNull(dbId);
849
850         // ==READ===========================
851         ReadInventoryListInput readinput = new ReadInventoryListInputBuilder()
852                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("id").setFiltervalue(dbId).build()))
853                 .setPagination(getPagination(20, 1)).build();
854         ReadInventoryListOutputBuilder readResult = null;
855         try {
856             readResult = dbProvider.readInventoryList(readinput);
857
858         } catch (Exception e) {
859             fail("Problem reading inventory list" + e.getMessage());
860         }
861
862         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.inventory.list.output.Data> data =
863                 readResult.getData();
864         assertEquals(1, data.size());
865         assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
866         assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
867         assertEquals("sim2", data.get(0).getNodeId());
868         assertEquals("unknown", data.get(0).getVersion());
869         assertEquals("WS/DS3", data.get(0).getDescription());
870         assertEquals("2008-10-21T00:00:00.0Z", data.get(0).getDate());
871         assertEquals("sd-dsa-eqw", data.get(0).getSerial());
872         System.out.println(data.get(0).getDate());
873
874         // ==UPDATE============================
875         String updatedDbId = null;
876         final String[] holderArray = {"Lorem Ipsum 1", "Lorem Ipsum 2", "Lorem Ipsum &%/$_2"};
877         String updatejson = " {" + "    \"node-id\": \"sim5\",\n"
878                 + "    \"contained-holder\": [ \"Lorem Ipsum 1\", \"Lorem Ipsum 2\", \"Lorem Ipsum &%/$_2\" ],\n"
879                 + "    \"serial\": \"sd-dsa-eww\",\n" + "    \"date\": \"2008-11-21T00:00:00.0Z\",\n"
880                 + "    \"part-type-id\": \"not unknown\",\n" + "}";
881
882         updatedDbId = dbRawProvider.doUpdateOrCreate(Entity.Inventoryequipment.getName(), dbId, updatejson);
883         assertEquals(dbId, updatedDbId);
884
885         try {
886             readResult = dbProvider.readInventoryList(readinput);
887
888         } catch (Exception e) {
889             fail("Problem reading inventory list" + e.getMessage());
890         }
891
892         data = readResult.getData();
893
894         assertEquals(1, data.size());
895         assertEquals("Lorem Ipsum", data.get(0).getManufacturerName());
896         assertEquals("ONF-Wireless-Transport", data.get(0).getManufacturerIdentifier());
897         assertEquals("sim5", data.get(0).getNodeId());
898         assertEquals("not unknown", data.get(0).getPartTypeId());
899         assertEquals("WS/DS3", data.get(0).getDescription());
900         assertEquals("2008-11-21T00:00:00.0Z", data.get(0).getDate());
901         assertEquals("sd-dsa-eww", data.get(0).getSerial());
902         assertEquals(holderArray.length, data.get(0).getContainedHolder().size());
903         assertEquals(holderArray[0], data.get(0).getContainedHolder().get(0));
904         assertEquals(holderArray[1], data.get(0).getContainedHolder().get(1));
905         assertEquals(holderArray[2], data.get(0).getContainedHolder().get(2));
906
907         // ==DELETE============================
908
909         System.out.println("delete after test");
910         try {
911             dbRawProvider.doRemove(Entity.Inventoryequipment.getName(), QueryBuilders.matchAllQuery());
912         } catch (Exception e) {
913             fail("problem deleting: " + e.getMessage());
914         }
915
916         // ==VERIFY DELETE ============================
917
918         try {
919             readResult = dbProvider.readInventoryList(readinput);
920
921         } catch (Exception e) {
922             fail("Problem reading inventory list" + e.getMessage());
923         }
924
925         data = readResult.getData();
926         assertEquals(0, data.size());
927
928     }
929
930     @Test
931     public void test15MinPerformanceReadLtpListWithoutNodeIdSetThrowsException() {
932
933         System.out.println("Reading 15m ltp list without node id filter set throws an exception test start...");
934
935         try {
936             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
937         } catch (Exception e) {
938             fail("problem deleting: " + e.getMessage());
939         }
940
941         System.out.println("create entries...");
942
943         createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
944         createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
945
946         createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
947         createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
948         createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
949         createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
950
951         System.out.println("trying to read, should throw exception...");
952
953
954         ReadPmdata15mLtpListInput readLtp =
955                 new ReadPmdata15mLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
956
957         ReadPmdata15mLtpListOutputBuilder readltpResult = null;
958
959         try {
960             readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
961             fail("No exception thrown!");
962         } catch (Exception e) {
963             System.out.println(e);
964             assertTrue(e instanceof IllegalArgumentException);
965             assertEquals("no nodename in filter found ", e.getMessage());
966         }
967
968         assertNull(readltpResult);
969
970         //== DELETE ================================
971
972         System.out.println("try to clear entry");
973         try {
974             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
975         } catch (Exception e) {
976             fail("problem deleting entry: " + e.getMessage());
977         }
978
979         //== VERIFY DELETE ===========================
980         System.out.println("verify entries deleted");
981         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> data =
982                 dbProvider
983                         .readPmdata15mList(
984                                 new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build())
985                         .getData();
986
987         assertEquals(0, data.size());
988     }
989
990     @Test
991     public void test15MinPerformanceData() {
992         // == CLEAR BEFORE TESTS ============================
993         System.out.println("Test 15 min performance...");
994
995         try {
996             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
997         } catch (Exception e) {
998             fail("problem deleting: " + e.getMessage());
999         }
1000
1001         // == CREATE ============================
1002
1003         System.out.println("create entries...");
1004
1005         createPerformanceData("1", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1006         createPerformanceData("2", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1007
1008         createPerformanceData("4", GranularityPeriodType.Period15Min, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1009         createPerformanceData("5", GranularityPeriodType.Period15Min, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1010         createPerformanceData("6", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1011         createPerformanceData("3", GranularityPeriodType.Period15Min, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1012
1013         // == READ ============================
1014         System.out.println("read list entries...");
1015
1016         ReadPmdata15mListInput read = new ReadPmdata15mListInputBuilder()
1017                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1018                 .setPagination(getPagination(20, 1)).build();
1019
1020         ReadPmdata15mListOutputBuilder readResult = null;
1021
1022         try {
1023             readResult = dbProvider.readPmdata15mList(read);
1024         } catch (Exception e) {
1025             fail("Problem reading 15m data");
1026         }
1027
1028         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._15m.list.output.Data> data =
1029                 readResult.getData();
1030
1031         assertNotNull(data);
1032         assertEquals(2, data.size());
1033
1034         System.out.println("read ltp entries with node name set...");
1035
1036         ReadPmdata15mLtpListInput readLtp = new ReadPmdata15mLtpListInputBuilder()
1037                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1038                 .setPagination(getPagination(20, 1)).build();
1039
1040         ReadPmdata15mLtpListOutputBuilder readltpResult = null;
1041
1042         try {
1043             readltpResult = dbProvider.readPmdata15mLtpList(readLtp);
1044         } catch (Exception e) {
1045             fail("Problem reading 15m ltp data");
1046         }
1047
1048         List<String> dataLtp = readltpResult.getData();
1049
1050         assertNotNull(dataLtp);
1051         assertEquals(2, dataLtp.size());
1052         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1053         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1054
1055         System.out.println("read device entries...");
1056
1057         ReadPmdata15mDeviceListInput readDevices =
1058                 new ReadPmdata15mDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1059
1060         ReadPmdata15mDeviceListOutputBuilder readDeviceResult = null;
1061
1062         try {
1063             readDeviceResult = dbProvider.readPmdata15mDeviceList(readDevices);
1064         } catch (Exception e) {
1065             fail("Problem reading 15m device data");
1066         }
1067
1068         List<String> dataDevice = readDeviceResult.getData();
1069
1070         assertNotNull(dataDevice);
1071         assertEquals(2, dataDevice.size());
1072         assertTrue(dataDevice.contains("a2"));
1073         assertTrue(dataDevice.contains("a3"));
1074
1075         //== DELETE ================================
1076
1077         System.out.println("try to clear entry");
1078         try {
1079             dbRawProvider.doRemove(Entity.Historicalperformance15min.getName(), QueryBuilders.matchAllQuery());
1080         } catch (Exception e) {
1081             fail("problem deleting entry: " + e.getMessage());
1082         }
1083
1084         //== VERIFY DELETE ===========================
1085         System.out.println("verify entries deleted");
1086         readResult = dbProvider
1087                 .readPmdata15mList(new ReadPmdata15mListInputBuilder().setPagination(getPagination(20, 1)).build());
1088         data = readResult.getData();
1089         assertEquals(0, data.size());
1090
1091     }
1092
1093     @Test
1094     public void test24hPerformanceData() {
1095         System.out.println("Test 24h performance...");
1096
1097         try {
1098             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1099         } catch (Exception e) {
1100             fail("problem deleting: " + e.getMessage());
1101         }
1102
1103         System.out.println("create entries...");
1104         GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1105         createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1106         createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1107         String aDbId = createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-06", "a2");
1108
1109         createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1110         createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1111         createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1112
1113         System.out.println("read all list entries...");
1114
1115         ReadPmdata24hListInput read = new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build();
1116
1117         ReadPmdata24hListOutputBuilder readResult = null;
1118
1119         try {
1120             readResult = dbProvider.readPmdata24hList(read);
1121         } catch (Exception e) {
1122             fail("Problem reading 24h data");
1123         }
1124
1125         List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.read.pmdata._24h.list.output.Data> data =
1126                 readResult.getData();
1127
1128         assertNotNull(data);
1129         assertEquals(6, data.size());
1130
1131
1132         System.out.println("filter list entries...");
1133
1134         read = new ReadPmdata24hListInputBuilder()
1135                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1136                 .setPagination(getPagination(20, 1)).build();
1137
1138         readResult = null;
1139
1140         try {
1141             readResult = dbProvider.readPmdata24hList(read);
1142         } catch (Exception e) {
1143             fail("Problem reading 24h data");
1144         }
1145
1146         data = readResult.getData();
1147
1148         assertNotNull(data);
1149         assertEquals(3, data.size());
1150
1151         System.out.println("read ltp entries with node name set...");
1152
1153         ReadPmdata24hLtpListInput readLtp = new ReadPmdata24hLtpListInputBuilder()
1154                 .setFilter(Arrays.asList(new FilterBuilder().setProperty("node-name").setFiltervalue("a2").build()))
1155                 .setPagination(getPagination(20, 1)).build();
1156
1157         ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1158
1159         try {
1160             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1161         } catch (Exception e) {
1162             fail("Problem reading 24h ltp data");
1163         }
1164
1165         List<String> dataLtp = readltpResult.getData();
1166
1167         assertNotNull(dataLtp);
1168         assertEquals(3, dataLtp.size());
1169         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1170         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1171         assertTrue(dataLtp.contains("LP-MWPS-TTP-06"));
1172
1173
1174         System.out.println("read device entries...");
1175
1176         ReadPmdata24hDeviceListInput readDevices =
1177                 new ReadPmdata24hDeviceListInputBuilder().setPagination(getPagination(20, 1)).build();
1178
1179         ReadPmdata24hDeviceListOutputBuilder readDeviceResult = null;
1180
1181         try {
1182             readDeviceResult = dbProvider.readPmdata24hDeviceList(readDevices);
1183         } catch (Exception e) {
1184             fail("Problem reading 24h device data");
1185         }
1186
1187         List<String> dataDevice = readDeviceResult.getData();
1188
1189         assertNotNull(dataDevice);
1190         assertEquals(2, dataDevice.size());
1191         assertTrue(dataDevice.contains("a2"));
1192         assertTrue(dataDevice.contains("a3"));
1193
1194         // == UPDATE ==============================
1195
1196         boolean success = dbRawProvider.doUpdate(Entity.Historicalperformance24h.getName(),
1197                 "{'uuid-interface':'LTP-TEST-MWP-097'}", QueryBuilders.termQuery("_id", aDbId));
1198         assertTrue("update dbentry not succeeded", success);
1199         try {
1200             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1201         } catch (Exception e) {
1202             fail("Problem reading 24h ltp data");
1203         }
1204
1205         // == VERIFY UPDATE ==============================
1206
1207         dataLtp = readltpResult.getData();
1208
1209         assertNotNull(dataLtp);
1210         assertEquals(3, dataLtp.size());
1211         assertTrue(dataLtp.contains("LP-MWPS-TTP-02"));
1212         assertTrue(dataLtp.contains("LP-MWPS-TTP-01"));
1213         assertTrue(dataLtp.contains("LTP-TEST-MWP-097"));
1214
1215
1216
1217         //== DELETE ===========================
1218
1219         System.out.println("try to clear entries");
1220         try {
1221             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1222         } catch (Exception e) {
1223             fail("problem deleting entry: " + e.getMessage());
1224         }
1225
1226         //== VERIFY DELETE ===========================
1227         System.out.println("verify entries deleted");
1228         readResult = dbProvider
1229                 .readPmdata24hList(new ReadPmdata24hListInputBuilder().setPagination(getPagination(20, 1)).build());
1230         data = readResult.getData();
1231         assertEquals(0, data.size());
1232     }
1233
1234     @Test
1235     public void test24hPerformanceDataReadLtpListWithoutNodeIdSetThrowsException() {
1236         System.out.println("Test 24 hour tp list without node id filter set throws an exception test start...\"...");
1237
1238         try {
1239             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1240         } catch (Exception e) {
1241             fail("problem deleting: " + e.getMessage());
1242         }
1243
1244         System.out.println("create entries...");
1245
1246         GranularityPeriodType timeInterval = GranularityPeriodType.Period24Hours;
1247         createPerformanceData("1", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a2");
1248         createPerformanceData("2", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a2");
1249
1250         createPerformanceData("4", timeInterval, "PM_RADIO_15M_6", "LP-MWPS-TTP-02", "a3");
1251         createPerformanceData("5", timeInterval, "PM_RADIO_15M_4", "LP-MWPS-TTP-01", "a3");
1252         createPerformanceData("6", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-03", "a3");
1253         createPerformanceData("3", timeInterval, "PM_RADIO_15M_7", "LP-MWPS-TTP-05", "a3");
1254
1255         System.out.println("trying to read, should throw exception...");
1256
1257
1258         ReadPmdata24hLtpListInput readLtp =
1259                 new ReadPmdata24hLtpListInputBuilder().setPagination(getPagination(20, 1)).build();
1260
1261         ReadPmdata24hLtpListOutputBuilder readltpResult = null;
1262
1263         try {
1264             readltpResult = dbProvider.readPmdata24hLtpList(readLtp);
1265             fail("No exception thrown!");
1266         } catch (Exception e) {
1267             System.out.println(e);
1268             assertTrue(e instanceof IllegalArgumentException);
1269             assertEquals("no nodename in filter found ", e.getMessage());
1270         }
1271
1272         assertNull(readltpResult);
1273
1274         try {
1275             dbRawProvider.doRemove(Entity.Historicalperformance24h.getName(), QueryBuilders.matchAllQuery());
1276         } catch (Exception e) {
1277             fail("problem deleting: " + e.getMessage());
1278         }
1279     }
1280
1281     @Test
1282     public void testUrlEncoding() {
1283         System.out.println("Testing url encding");
1284
1285         final String test = "Lorem Ipsum";
1286         final String test1 = "Lorem/Ipsum";
1287         final String test2 = "Lorem_Ipsum";
1288         final String test3 = "Lorem%Ipsum";
1289
1290         assertEquals("Lorem%20Ipsum", BaseRequest.urlEncodeValue(test));
1291         assertEquals("Lorem%2FIpsum", BaseRequest.urlEncodeValue(test1));
1292         assertEquals("Lorem_Ipsum", BaseRequest.urlEncodeValue(test2));
1293         assertEquals("Lorem%25Ipsum", BaseRequest.urlEncodeValue(test3));
1294     }
1295
1296     @Test
1297     public void testDoUpdateOrCreateWithNullId() {
1298         System.out.println("Test DoUpdateOrCreate doesn't create new database entry if null is passed");
1299
1300         String dbId = clearAndCreatefaultEntity(null, Entity.Faultlog.getName(),
1301                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultlogInput",
1302                 SeverityType.Critical);
1303         assertNull(dbId);
1304     }
1305
1306     @Test
1307     public void readTestFaultCurrentViaRawDbProvider() {
1308         System.out.println("Starting faultCurrent test...");
1309         String dbId = null;
1310         dbId = clearAndCreatefaultEntity("1", Entity.Faultcurrent.getName(),
1311                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateFaultcurrentInput",
1312                 SeverityType.Critical);
1313         assertEquals("1", dbId);
1314
1315         // ==READ===========================
1316         System.out.println("Trying to read...");
1317
1318         String readResult = null;
1319         try {
1320             readResult = dbRawProvider.doReadJsonData(Entity.Faultcurrent.getName(), dbId);
1321
1322         } catch (Exception e) {
1323             fail("Fault log not read: " + e.getMessage());
1324         }
1325
1326
1327         String expectedDbResult =
1328                 "{\"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.rev190801.CreateFaultcurrentInput\",\"type\":\"ProblemNotificationXml\",\"timestamp\":\"2019-10-28T11:55:58.3Z\"}";
1329
1330         System.out.println(readResult);
1331         assertNotNull(readResult);
1332         assertEquals(expectedDbResult, readResult);
1333
1334         SearchResult<SearchHit> searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1335         assertNotNull(searchResult);
1336
1337         List<SearchHit> hits = searchResult.getHits();
1338
1339         assertNotNull(hits);
1340         assertEquals(1, searchResult.getTotal());
1341         assertEquals(expectedDbResult, hits.get(0).getSourceAsString());
1342
1343         //== DELETE ==============================
1344         try {
1345             dbRawProvider.doRemove(Entity.Faultcurrent.getName(), QueryBuilders.matchAllQuery());
1346         } catch (Exception e) {
1347             fail("problem deleting: " + e.getMessage());
1348         }
1349         //== VERIFY DELETE ========================
1350         searchResult = dbRawProvider.doReadAllJsonData(Entity.Faultcurrent.getName());
1351         hits = searchResult.getHits();
1352         assertNotNull(hits);
1353         assertEquals(0, searchResult.getTotal());
1354
1355     }
1356
1357     @Test
1358     public void testOutputCamelCase() {
1359         try {
1360             String jsonString = "{\n" + "\"timestamp\": \"2020-02-20T09:31:22.3Z\",\n"
1361                     + "\"object-id\": \"LP-MWPS-RADIO\",\n" + "\"severity\": \"Critical\",\n" + "\"counter\": 10,\n"
1362                     + "\"implemented-interface\": \"org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Faultlog\",\n"
1363                     + "\"source-type\": \"Netconf\",\n" + "\"node-id\": \"sim4\",\n" + "\"problem\": \"signalIsLost\"\n"
1364                     + "}";
1365             YangToolsMapper yangtoolsMapper = new YangToolsMapper();
1366             FaultlogEntity log = yangtoolsMapper.readValue(jsonString, Faultlog.class);
1367             System.out.println(log);
1368             System.out.println(yangtoolsMapper.writeValueAsString(log));
1369         } catch (IOException e) {
1370             fail(e.getMessage());
1371         }
1372
1373     }
1374
1375     private Pagination getPagination(long pageSize, int page) {
1376         return new PaginationBuilder().setPage(BigInteger.valueOf(page)).setSize(pageSize).build();
1377     }
1378
1379
1380     private String clearAndCreatefaultEntity(String initialDbId, String entityType, String implementedInterface,
1381             SeverityType severity) {
1382         // ==CLEAR BEFORE TEST============================
1383         System.out.println("try to clear entry");
1384         try {
1385             dbRawProvider.doRemove(entityType, QueryBuilders.matchAllQuery());
1386         } catch (Exception e) {
1387             fail("problem deleting: " + e.getMessage());
1388         }
1389
1390
1391         return createFaultEntity(initialDbId, entityType, implementedInterface, severity);
1392     }
1393
1394     private String createFaultEntity(String initialDbId, String entityType, String implementedInterface,
1395             SeverityType severity) {
1396         // ==CREATE============================
1397         System.out.println("try to create entry");
1398         String dbId = null;
1399
1400         try {
1401
1402             dbId = dbRawProvider.doUpdateOrCreate(entityType, initialDbId,
1403                     "{\n" + "\"timestamp\": \"2019-10-28T11:55:58.3Z\",\n" + "\"object-id\": \"LP-MWPS-RADIO\",\n"
1404                             + "\"severity\": \"" + severity.toString() + "\",\n" + "\"node-id\": \"s1\",\n"
1405                             + "\"implemented-interface\": \"" + implementedInterface + "\",\n" + "\"counter\": 4340,\n"
1406                             + "\"problem\": \"signalIsLost\",\n" + "\"type\": \"ProblemNotificationXml\"\n" + "}");
1407
1408
1409
1410         } catch (Exception e) {
1411             fail("Problem creating fault log entry" + e.getMessage());
1412         }
1413
1414         return dbId;
1415     }
1416
1417     private String createPerformanceData(String initialDbId, GranularityPeriodType timeInterval, String scannerId,
1418             String uuidInterface, String nodename) {
1419
1420         String json = "{\n" + "\"node-name\": \"" + nodename + "\",\n" + "\"uuid-interface\": \"" + uuidInterface
1421                 + "\",\n" + "\"layer-protocol-name\": \"MWPS\",\n" + "\"radio-signal-id\": \"Test8\",\n"
1422                 + "\"time-stamp\": \"2017-03-01T06:15:00.0Z\",\n" + "\"granularity-period\": \""
1423                 + timeInterval.toString() + "\",\n" + "\"scanner-id\": \"" + scannerId + "\",\n"
1424                 + "\"performance-data\": {\n" + "\"cses\": 0,\n" + "\"ses\": 0,\n" + "\"es\": 0,\n"
1425                 + "\"tx-level-max\": 3,\n" + "\"tx-level-avg\": 3,\n" + "\"rx-level-min\": -44,\n"
1426                 + "\"rx-level-max\": -45,\n" + "\"rx-level-avg\": -44,\n" + "\"time2-states\": 0,\n"
1427                 + "\"time4-states-s\": 0,\n" + "\"time4-states\": 0,\n" + "\"time8-states\": -1,\n"
1428                 + "\"time16-states-s\": -1,\n" + "\"time16-states\": 0,\n" + "\"time32-states\": -1,\n"
1429                 + "\"time64-states\": 900,\n" + "\"time128-states\": -1,\n" + "\"time256-states\": -1,\n"
1430                 + "\"time512-states\": -1,\n" + "\"time512-states-l\": -1,\n" + "\"unavailability\": 0,\n"
1431                 + "\"tx-level-min\": 3,\n" + "\"time1024-states\": -1,\n" + "\"time1024-states-l\": -1,\n"
1432                 + "\"time2048-states\": -1,\n" + "\"time2048-states-l\": -1,\n" + "\"time4096-states\": -1,\n"
1433                 + "\"time4096-states-l\": -1,\n" + "\"time8192-states\": -1,\n" + "\"time8192-states-l\": -1,\n"
1434                 + "\"snir-min\": -99,\n" + "\"snir-max\": -99,\n" + "\"snir-avg\": -99,\n" + "\"xpd-min\": -99,\n"
1435                 + "\"xpd-max\": -99,\n" + "\"xpd-avg\": -99,\n" + "\"rf-temp-min\": -99,\n" + "\"rf-temp-max\": -99,\n"
1436                 + "\"rf-temp-avg\": -99,\n" + "\"defect-blocks-sum\": -1,\n" + "\"time-period\": 900\n" + "},\n"
1437                 + "\"suspect-interval-flag\": false\n" + "}";
1438
1439         if (timeInterval.equals(GranularityPeriodType.Period15Min)) {
1440             return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance15min.getName(), initialDbId, json);
1441         } else {
1442             return dbRawProvider.doUpdateOrCreate(Entity.Historicalperformance24h.getName(), initialDbId, json);
1443         }
1444     }
1445
1446 }