c66de60b096fe5d9bd027be2000536b6873ca517
[aaf/authz.git] / auth / auth-locate / src / test / java / org / onap / aaf / auth / locate / service / JU_LocateServiceImplTest.java
1 /**\r
2  * ============LICENSE_START====================================================\r
3  * org.onap.aaf\r
4  * ===========================================================================\r
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.\r
6  * ===========================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END====================================================\r
19  *\r
20  */\r
21 package org.onap.aaf.auth.locate.service;\r
22 \r
23 import static org.junit.Assert.assertEquals;\r
24 import static org.mockito.Matchers.any;\r
25 import static org.mockito.Mockito.when;\r
26 \r
27 import java.util.ArrayList;\r
28 import java.util.List;\r
29 \r
30 import org.junit.Before;\r
31 import org.junit.Test;\r
32 import org.mockito.Mock;\r
33 import org.mockito.MockitoAnnotations;\r
34 import org.onap.aaf.auth.dao.cass.LocateDAO;\r
35 import org.onap.aaf.auth.dao.cass.LocateDAO.Data;\r
36 import org.onap.aaf.auth.env.AuthzTrans;\r
37 import org.onap.aaf.auth.layer.Result;\r
38 import org.onap.aaf.auth.locate.AAF_Locate;\r
39 import org.onap.aaf.auth.locate.mapper.Mapper;\r
40 import org.onap.aaf.misc.env.APIException;\r
41 \r
42 import locate.v1_0.MgmtEndpoint;\r
43 import locate.v1_0.MgmtEndpoints;\r
44 \r
45 public class JU_LocateServiceImplTest {\r
46 \r
47         // Extend, because I don't want a "setter" in the original.  Compromised with a protected...\r
48         private final class LocateServiceImplExtension extends LocateServiceImpl {\r
49                 private LocateServiceImplExtension(AuthzTrans trans, AAF_Locate locate, Mapper mapper) throws APIException {\r
50                         super(trans, locate, mapper);\r
51                 }\r
52                 public void set(LocateDAO ld) {\r
53                         locateDAO=ld;\r
54                 }\r
55         }\r
56 \r
57         @Mock\r
58         private AuthzTrans trans;\r
59         @Mock\r
60         private AAF_Locate aaf_locate;\r
61         @Mock\r
62         private LocateDAO locateDAO;\r
63         @Mock\r
64         private Mapper mapper;\r
65         @Mock\r
66         private Result<List<Data>> result;\r
67         @Mock\r
68         private Result endPointResult;\r
69         @Mock\r
70         private MgmtEndpoints meps;\r
71         @Mock\r
72         private MgmtEndpoint mgmtEndPoint;\r
73 \r
74         @Before\r
75         public void setup() {\r
76                 MockitoAnnotations.initMocks(this);\r
77         }\r
78 \r
79         @Test\r
80         public void test() throws APIException {\r
81                 LocateServiceImplExtension locateServiceImpl = new LocateServiceImplExtension(trans, aaf_locate, mapper);\r
82                 locateServiceImpl.set(locateDAO);\r
83 \r
84                 assertEquals(mapper, locateServiceImpl.mapper());\r
85 \r
86                 when(locateDAO.readByName(trans, "http")).thenReturn(result);\r
87                 when(mapper.endpoints(result, "1.0", "other")).thenReturn(endPointResult);\r
88 \r
89                 Result output = locateServiceImpl.getEndPoints(trans, "http", "1.0", "other");\r
90 \r
91                 assertEquals(endPointResult, output);\r
92 \r
93                 List<MgmtEndpoint> mgmtEndPoints = new ArrayList<>();\r
94                 mgmtEndPoints.add(mgmtEndPoint);\r
95 \r
96                 when(mgmtEndPoint.getName()).thenReturn("http.Endpoint1");\r
97                 when(mgmtEndPoint.getHostname()).thenReturn("HOST1");\r
98                 when(mgmtEndPoint.getPort()).thenReturn(9090);\r
99                 when(mgmtEndPoint.getProtocol()).thenReturn("HTTP");\r
100 \r
101                 when(meps.getMgmtEndpoint()).thenReturn(mgmtEndPoints);\r
102                 output = locateServiceImpl.putMgmtEndPoints(trans, meps);\r
103 \r
104                 assertEquals(output.toString(), Result.ok().toString());\r
105 \r
106                 when(trans.fish(any())).thenReturn(true);\r
107                 Data data = new LocateDAO.Data();\r
108                 when(mapper.locateData(mgmtEndPoint)).thenReturn(data);\r
109                 output = locateServiceImpl.removeMgmtEndPoints(trans, meps);\r
110 \r
111                 assertEquals(output.toString(), Result.ok().toString());\r
112         }\r
113 \r
114 }\r