20c0da596b78ec57e9b07f2c884f625f325a5b6b
[ccsdk/features.git] /
1 /*******************************************************************************
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt
4  * =================================================================================================
5  * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  ******************************************************************************/
18 package org.onap.ccsdk.features.sdnr.wt.dataprovider.test;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertNull;
22 import static org.junit.Assert.fail;
23
24 import java.io.IOException;
25 import java.util.concurrent.TimeUnit;
26
27 import org.junit.BeforeClass;
28 import org.junit.Test;
29 import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
30 import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilders;
31 import org.onap.ccsdk.features.sdnr.wt.common.database.requests.DeleteByQueryRequest;
32 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.ElasticSearchDataProvider;
33 import org.onap.ccsdk.features.sdnr.wt.dataprovider.data.MediatorServerDataProvider;
34 import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.HtDatabaseMaintenance;
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerInputBuilder;
36 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.CreateMediatorServerOutputBuilder;
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
38
39 /**
40  * @author Michael Dürre
41  *
42  */
43 public class TestMediatorServerService {
44         private static final String SERVERID = null;
45         private static ElasticSearchDataProvider dbProvider;
46         private static HtDatabaseClient dbRawProvider;
47         private static MediatorServerDataProvider service = null;
48
49         
50         @BeforeClass
51         public static void init() throws Exception {
52
53                 dbProvider = new ElasticSearchDataProvider(TestCRUDforDatabase.hosts);
54                 dbProvider.waitForYellowDatabaseStatus(30, TimeUnit.SECONDS);
55                 dbRawProvider = new HtDatabaseClient(TestCRUDforDatabase.hosts);
56                 service  = new MediatorServerDataProvider(TestCRUDforDatabase.hosts);
57                 
58                 
59         }
60         @Test
61         public void test() {
62                 clearDbEntity(Entity.MediatorServer);
63                 System.out.println(service.triggerReloadSync());
64                 String dbServerId="abc";
65                 String host = service.getHostUrl(dbServerId);
66                 assertNull(host);
67                 final String NAME="ms1";
68                 final String HOST = "http://10.20.30.40:7070";
69                 CreateMediatorServerOutputBuilder output = null;
70                 try {
71                          output = dbProvider.createMediatorServer(new CreateMediatorServerInputBuilder().setName(NAME).setUrl(HOST).build());
72                 } catch (IOException e) {
73                         e.printStackTrace();
74                         fail("unable to create ms entry: "+e.getMessage());
75                 }
76                 System.out.println(service.triggerReloadSync());
77                 host = service.getHostUrl(output.getId());
78                 assertEquals(HOST, host);
79         
80         }
81         
82         private static void clearDbEntity(Entity entity) {
83                 DeleteByQueryRequest query = new DeleteByQueryRequest(entity.getName());
84                 query.setQuery(QueryBuilders.matchAllQuery().toJSON());
85                 try {
86                         dbRawProvider.deleteByQuery(query);
87                 } catch (IOException e) {
88                         e.printStackTrace();
89                 }
90                 TestCRUDforDatabase.trySleep(1000);
91         }
92 }