Merge "added tst file to cver UnassignVlanTagRequestInput"
[ccsdk/apps.git] / ms / neng / src / test / java / org / onap / ccsdk / apps / ms / neng / core / service / SpringServiceTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : CCSDK.apps
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Modifications Copyright (C) 2018 IBM.
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.ccsdk.apps.ms.neng.core.service;
24
25 import java.util.ArrayList;
26 import java.util.HashMap;
27 import java.util.List;
28 import java.util.Map;
29 import org.junit.Assert;
30 import org.junit.Test;
31 import org.junit.runner.RunWith;
32 import org.mockito.InjectMocks;
33 import org.mockito.Mock;
34 import org.mockito.Mockito;
35 import org.mockito.runners.MockitoJUnitRunner;
36 import org.onap.ccsdk.apps.ms.neng.core.resource.model.HelloWorld;
37 import org.onap.ccsdk.apps.ms.neng.core.resource.model.NameGenRequest;
38 import org.onap.ccsdk.apps.ms.neng.core.validator.ExternalKeyValidator;
39 import org.onap.ccsdk.apps.ms.neng.persistence.entity.GeneratedName;
40 import org.onap.ccsdk.apps.ms.neng.persistence.entity.PolicyDetails;
41 import org.onap.ccsdk.apps.ms.neng.persistence.entity.ServiceParameter;
42 import org.onap.ccsdk.apps.ms.neng.persistence.repository.GeneratedNameRespository;
43 import org.onap.ccsdk.apps.ms.neng.persistence.repository.PolicyDetailsRepository;
44 import org.onap.ccsdk.apps.ms.neng.persistence.repository.ServiceParameterRepository;
45
46 @RunWith(MockitoJUnitRunner.class)
47 public class SpringServiceTest {
48
49     @Mock
50     ExternalKeyValidator externalKeyValidator;
51     @Mock
52     ServiceParameter param;
53     @Mock
54     ServiceParameterRepository serviceParamRepo;
55     @Mock
56     PolicyDetails policyDetails;
57     @Mock
58     PolicyDetailsRepository policyDetailsRepository;
59     @Mock
60     GeneratedNameRespository generatedNameRepository;
61
62     @InjectMocks
63     SpringServiceImpl springserviceImpl;
64
65     Map<String, String> req = new HashMap<>();
66     List<Map<String, String>> rsp = new ArrayList<>();
67     NameGenRequest request = new NameGenRequest();
68
69     {
70         req.put("external-key", "Xyx-zzk");
71         req.put("policy-instance-name", "testDbPolicy66");
72         req.put("COMPLEX", "TRLAKDG");
73         req.put("NFC-NAMING-CODE", "ESP");
74         req.put("CLOUD_REGION_ID", "SSR");
75         req.put("NF_CODE", "X1234");
76         req.put("resource-name", "vm-name");
77         req.put("naming-type", "VM");
78         req.put("nf-role", "vPE");
79         rsp.add(req);
80         request.setElements(rsp);
81     }
82
83     @Test(expected = Exception.class)
84     public void genNetworkElementNameTest() throws Exception {
85         Mockito.when(externalKeyValidator.isPresent(req.get("external-key"))).thenReturn(false);
86         Mockito.when(serviceParamRepo.findByName("use_db_policy")).thenReturn(param);
87         springserviceImpl.genNetworkElementName(request);
88
89     }
90
91     @Test
92     public void getPolicyDetailsTest() {
93         Mockito.when(policyDetailsRepository.findPolicyResponseByName("testDbPolicy66")).thenReturn(policyDetails);
94         org.junit.Assert.assertNotNull(springserviceImpl.getPolicyDetails("testDbPolicy66"));
95     }
96
97     @Test
98     public void addPolicy() throws Exception {
99         springserviceImpl.addPolicy(req);
100     }
101
102     @Test
103     public void releaseNetworkElementNameTest() throws Exception {
104         GeneratedName gn = new GeneratedName();
105         List<GeneratedName> generatedNameList = new ArrayList<>();
106         generatedNameList.add(gn);
107
108         Mockito.when(generatedNameRepository.findByExternalId(req.get("external-key"))).thenReturn(generatedNameList);
109         Assert.assertNotNull(springserviceImpl.releaseNetworkElementName(request));
110     }
111     
112     @Test(expected=Exception.class)
113     public void releaseNetworkElementNameTestForNull() throws Exception {
114         springserviceImpl.releaseNetworkElementName(null);
115     }
116     
117     @Test
118     public void testGetQuickHello() {
119         Assert.assertTrue(springserviceImpl.getQuickHello("testMessage") instanceof HelloWorld);
120     }
121     
122     @Test
123     public void testGetQuickHelloForNullMessage() {
124         Assert.assertTrue(springserviceImpl.getQuickHello("") instanceof HelloWorld);
125     }
126 }