2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
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
12 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
22 package org.onap.sdnc.northbound;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.fail;
27 import org.junit.Before;
28 import org.junit.Test;
29 import static org.mockito.Mockito.mock;
31 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
32 import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
33 import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
34 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
35 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationOutput;
36 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationInputBuilder;
37 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.NetworkTopologyOperationInputBuilder;
38 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.ServiceTopologyOperationOutput;
39 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.network.information.NetworkInformationBuilder;
40 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformation.RequestAction;
41 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.request.information.RequestInformationBuilder;
42 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeader.SvcAction;
43 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.sdnc.request.header.SdncRequestHeaderBuilder;
44 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.generic.resource.rev170824.service.information.ServiceInformationBuilder;
45 import org.opendaylight.yangtools.yang.common.RpcResult;
46 import org.slf4j.Logger;
47 import org.slf4j.LoggerFactory;
49 public class TestGenericResourceApi extends AbstractConcurrentDataBrokerTest {
51 private GenericResourceApiProvider genericResourceApiProvider;
52 private static final Logger LOG = LoggerFactory.getLogger(GenericResourceApiProvider.class);
55 public void setUp() throws Exception {
56 if (null == genericResourceApiProvider) {
57 DataBroker dataBroker = getDataBroker();
58 NotificationPublishService mockNotification = mock(NotificationPublishService.class);
59 RpcProviderRegistry mockRpcRegistry = mock(RpcProviderRegistry.class);
60 genericResourceApiProvider = new GenericResourceApiProvider(dataBroker, mockNotification, mockRpcRegistry);
64 @Test(expected = NullPointerException.class)
65 public void testServiceTopologyOperation() {
67 ServiceTopologyOperationInputBuilder inputBuilder = new ServiceTopologyOperationInputBuilder();
69 SdncRequestHeaderBuilder sdncRequestHeaderBuilder = new SdncRequestHeaderBuilder();
70 sdncRequestHeaderBuilder.setSvcRequestId("1111");
71 sdncRequestHeaderBuilder.setSvcAction(SvcAction.Assign);
72 inputBuilder.setSdncRequestHeader(sdncRequestHeaderBuilder.build());
74 RequestInformationBuilder requestInformationBuilder = new RequestInformationBuilder();
75 requestInformationBuilder.setRequestId("1111");
76 requestInformationBuilder.setRequestAction(RequestAction.CreateServiceInstance);
77 inputBuilder.setRequestInformation(requestInformationBuilder.build());
79 ServiceInformationBuilder serviceInformationBuilder = new ServiceInformationBuilder();
80 serviceInformationBuilder.setServiceInstanceId("1111");
81 inputBuilder.setServiceInformation(serviceInformationBuilder.build());
83 // TODO: currently initialize GenericResourceApiSvcLogicServiceClient is failing, need to fix
84 java.util.concurrent.Future<RpcResult<ServiceTopologyOperationOutput>> future = genericResourceApiProvider
85 .serviceTopologyOperation(inputBuilder.build());
86 RpcResult<ServiceTopologyOperationOutput> rpcResult = null;
88 rpcResult = future.get();
89 } catch (Exception e) {
92 LOG.info("result: {}", rpcResult);
93 assertEquals("1111", rpcResult.getResult().getSvcRequestId());
97 public void testNetworkTopologyOperation() {
99 NetworkTopologyOperationInputBuilder inputBuilder = new NetworkTopologyOperationInputBuilder();
101 SdncRequestHeaderBuilder sdncRequestHeaderBuilder = new SdncRequestHeaderBuilder();
102 sdncRequestHeaderBuilder.setSvcRequestId("1111");
103 sdncRequestHeaderBuilder.setSvcAction(SvcAction.Create);
104 inputBuilder.setSdncRequestHeader(sdncRequestHeaderBuilder.build());
106 RequestInformationBuilder requestInformationBuilder = new RequestInformationBuilder();
107 requestInformationBuilder.setRequestId("1111");
108 requestInformationBuilder.setRequestAction(RequestAction.CreateNetworkInstance);
109 inputBuilder.setRequestInformation(requestInformationBuilder.build());
111 ServiceInformationBuilder serviceInformationBuilder = new ServiceInformationBuilder();
112 serviceInformationBuilder.setServiceInstanceId("1111");
113 inputBuilder.setServiceInformation(serviceInformationBuilder.build());
115 NetworkInformationBuilder networkInformationBuilder = new NetworkInformationBuilder();
116 inputBuilder.setNetworkInformation(networkInformationBuilder.build());
118 java.util.concurrent.Future<RpcResult<NetworkTopologyOperationOutput>> future = genericResourceApiProvider
119 .networkTopologyOperation(inputBuilder.build());
120 RpcResult<NetworkTopologyOperationOutput> rpcResult = null;
122 rpcResult = future.get();
123 } catch (Exception e) {
124 fail("Error : " + e);
126 LOG.info("result: {}", rpcResult);
127 assertEquals("1111", rpcResult.getResult().getSvcRequestId());