Remove Tabs, per Jococo
[aaf/authz.git] / auth / auth-certman / src / test / java / org / onap / aaf / auth / cm / JU_AAF_CM.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.cm;
23
24 import static org.junit.Assert.assertTrue;
25 import static org.mockito.MockitoAnnotations.initMocks;
26
27 import java.lang.reflect.Field;
28 import java.lang.reflect.Modifier;
29 import java.util.Properties;
30
31 import javax.servlet.Filter;
32
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.junit.runner.RunWith;
36 import org.mockito.Mock;
37 import org.mockito.Mockito;
38 import org.onap.aaf.auth.cm.ca.CA;
39 import org.onap.aaf.auth.cm.facade.Facade1_0;
40 import org.onap.aaf.auth.cm.facade.FacadeFactory;
41 import org.onap.aaf.auth.cm.mapper.Mapper.API;
42 import org.onap.aaf.auth.cm.service.CMService;
43 import org.onap.aaf.auth.cm.service.Code;
44 import org.onap.aaf.auth.env.AuthzEnv;
45 import org.onap.aaf.auth.env.AuthzTransImpl;
46 import org.onap.aaf.auth.rserv.HttpMethods;
47 import org.onap.aaf.cadi.CadiException;
48 import org.onap.aaf.cadi.LocatorException;
49 import org.onap.aaf.cadi.PropAccess;
50 import org.onap.aaf.cadi.aaf.v2_0.AAFConHttp;
51 import org.onap.aaf.cadi.config.Config;
52 import org.onap.aaf.misc.env.Data;
53 import org.onap.aaf.misc.env.Env;
54 import org.onap.aaf.misc.env.LogTarget;
55 import org.onap.aaf.misc.env.TimeTaken;
56 import org.onap.aaf.misc.env.impl.BasicEnv;
57 import org.onap.aaf.misc.rosetta.env.RosettaDF;
58 import org.powermock.api.mockito.PowerMockito;
59 import org.powermock.core.classloader.annotations.PrepareForTest;
60 import org.powermock.modules.junit4.PowerMockRunner;
61
62 @RunWith(PowerMockRunner.class)
63 @PrepareForTest(FacadeFactory.class)
64 public class JU_AAF_CM {
65
66     @Mock
67     AuthzEnv env;
68     
69     BasicEnv baseEnv;
70     
71     @Mock
72     PropAccess access;
73     
74     AuthzTransImpl1 trans;
75     
76     AAF_CMImpl rosettaObj = null;
77     
78     @Before
79     public void setUp() {
80         initMocks(this);
81         
82         try {
83             Mockito.doReturn(access).when(env).access();
84             Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
85             Properties props=new Properties();
86             Mockito.doReturn(props).when(access).getProperties();
87             props.setProperty("cm_ca.props", "test");
88             Mockito.doReturn("test:2.1").when(access).getProperty(Config.AAF_LOCATOR_ENTRIES, null);
89             Mockito.doReturn("test").when(access).getProperty("https.protocols","TLSv1.1,TLSv1.2");
90             Mockito.doReturn("test").when(env).getProperty("cm_ca.props.perm_type",null);
91             Mockito.doReturn("test").when(env).getProperty("cm_ca.props.baseSubject",null);
92             Mockito.doReturn("10").when(env).getProperty("CACHE_CLEAN_INTERVAL","60000");
93             Mockito.doReturn("10").when(env).getProperty("CACHE_HIGH_COUNT","5000");
94             trans = new AuthzTransImpl1(env);
95             Mockito.doReturn(trans).when(env).newTrans();
96 //            Mockito.doReturn("test").when(trans).getProperty("cm_ca.props.baseSubject",null);
97 //            Mockito.doReturn(Mockito.mock(TimeTaken.class)).when(trans).start("Clear Reset Deque",8);
98             
99             Mockito.doReturn("TLSv1.1").when(access).getProperty("cadi_protocols","test");
100             Mockito.doReturn("https://www.google.com").when(access).getProperty(Config.AAF_URL,null);
101             Mockito.doReturn("test").when(env).getProperty(Config.AAF_ENV);
102             Mockito.doReturn("10").when(env).getProperty(Config.CADI_LATITUDE);
103             Mockito.doReturn("10").when(env).getProperty(Config.CADI_LONGITUDE);
104             Mockito.doReturn("org.onap.aaf.auth.cm.LocalCAImpl,test;test").when(env).getProperty("cm_ca.props");
105             Mockito.doReturn("google.com").when(env).getProperty("cassandra.clusters",null);
106 //            Mockito.doReturn(Mockito.mock(AuthzTransImpl.class)).when(env).newTrans();
107             Mockito.doReturn(Mockito.mock(LogTarget.class)).when(env).init();
108             AAF_CM tempObj = Mockito.mock(AAF_CM.class);
109             Field envField = tempObj.getClass().getField("env");
110             Field modifiersField = Field.class.getDeclaredField("modifiers");
111             modifiersField.setAccessible(true);
112             modifiersField.setInt(envField, envField.getModifiers() & ~Modifier.FINAL);
113             envField.setAccessible(true);
114             envField.set(tempObj, env);
115             RosettaDF rosettaObjTemp = Mockito.mock(RosettaDF.class);
116             Mockito.doReturn(rosettaObjTemp).when(rosettaObjTemp).in(Data.TYPE.JSON);
117             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(aaf.v2_0.Error.class);
118             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(certman.v1_0.CertificateRequest.class);
119             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(certman.v1_0.CertificateRenew.class);
120             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(certman.v1_0.CertificateDrop.class);
121             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(certman.v1_0.CertInfo.class);
122             Mockito.doReturn(rosettaObjTemp).when(env).newDataFactory(certman.v1_0.Artifacts.class);
123             Mockito.doReturn(Data.TYPE.XML).when(rosettaObjTemp).getOutType();
124
125             Facade1_0 facadeObj = Mockito.mock(Facade1_0.class);
126             PowerMockito.mockStatic(FacadeFactory.class);
127             FacadeFactory factObj = PowerMockito.mock(FacadeFactory.class);
128             PowerMockito.when(factObj.v1_0(tempObj,trans, null,Data.TYPE.JSON)).thenReturn(facadeObj);
129             
130 //            Mockito.doReturn(Mockito.mock(Mapper.class)).when(facadeObj).mapper();
131
132             
133             rosettaObj = new AAF_CMImpl(env);
134         } catch (Exception e) {
135             // TODO Auto-generated catch block
136             e.printStackTrace();
137             assertTrue(e instanceof NullPointerException);
138         }
139     }
140     
141     @Test
142     public void testTestCA() {
143         CA obj = rosettaObj.getCA("props");
144         assertTrue(obj instanceof CA);
145     }
146     
147 //    @Test
148 //    public void testRoute() {
149 //        try {
150 //            rosettaObj.route(null, "", null, null);
151 //        } catch (Exception e) {
152 //            // TODO Auto-generated catch block
153 //            e.printStackTrace();
154 //        }
155 ////        System.out.println(obj);
156 ////        assertTrue(obj instanceof CA);
157 //    }
158     
159     @Test
160     public void testFilters() {
161         try {
162             Filter[] obj = rosettaObj._filters(new Object[] {"props"});
163             System.out.println(obj);
164         } catch (CadiException | LocatorException e) {
165             // TODO Auto-generated catch block
166             e.printStackTrace();
167             assertTrue(e.getMessage().contains("Error initializing Context: TLS"));
168         }
169 //        assertTrue(obj instanceof CA);
170     }
171     
172     class AAF_CMImpl extends AAF_CM{
173
174         public AAF_CMImpl(AuthzEnv env) throws Exception {
175             super(env);
176             // TODO Auto-generated constructor stub
177         }
178         
179         @Override
180         public synchronized AAFConHttp aafCon() throws CadiException, LocatorException {
181             return Mockito.mock(AAFConHttp.class);
182         }
183         
184         public CMService getService() {
185             return Mockito.mock(CMService.class);
186         }
187         
188         @Override
189         public void route(HttpMethods meth, String path, API api, Code code) throws Exception {
190             
191         }
192     }
193     
194     
195     
196     class AuthzTransImpl1 extends AuthzTransImpl{
197
198         public AuthzTransImpl1(AuthzEnv env) {
199             super(env);
200             // TODO Auto-generated constructor stub
201         }
202
203         @Override
204         protected TimeTaken newTimeTaken(String name, int flag, Object ... values) {
205             // TODO Auto-generated method stub
206             TimeTaken tt= new TimeTaken("nameTest", Env.XML) {
207                 
208                 @Override
209                 public void output(StringBuilder sb) {
210                     // TODO Auto-generated method stub
211                     
212                 }
213             };
214             return tt;
215         }
216         
217         @Override
218         public Metric auditTrail(int indent, StringBuilder sb, int ... flag) {
219             return null;
220         }
221         
222     }
223     
224
225 }