b877e48439c7d9b76c06f5c8d976ba6290f826c2
[aaf/authz.git] / authz-certman / src / test / java / com / att / authz / cm / ca / JU_DevlCA.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 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  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package com.att.authz.cm.ca;\r
24 \r
25 import static org.mockito.Mockito.CALLS_REAL_METHODS;\r
26 import static org.mockito.Mockito.mock;\r
27 import static org.mockito.Mockito.when;\r
28 import static org.junit.Assert.*;\r
29 \r
30 import java.io.IOException;\r
31 import java.math.BigInteger;\r
32 import java.security.InvalidKeyException;\r
33 import java.security.NoSuchAlgorithmException;\r
34 import java.security.NoSuchProviderException;\r
35 import java.security.Principal;\r
36 import java.security.PublicKey;\r
37 import java.security.SignatureException;\r
38 import java.security.cert.CertificateEncodingException;\r
39 import java.security.cert.CertificateException;\r
40 import java.security.cert.CertificateExpiredException;\r
41 import java.security.cert.CertificateNotYetValidException;\r
42 import java.security.cert.X509Certificate;\r
43 import java.util.Date;\r
44 import java.util.Set;\r
45 \r
46 import javax.security.auth.x500.X500Principal;\r
47 import javax.servlet.http.HttpServletRequest;\r
48 \r
49 import org.junit.BeforeClass;\r
50 import org.junit.Test;\r
51 import org.junit.runner.RunWith;\r
52 import org.mockito.InjectMocks;\r
53 import org.mockito.Mock;\r
54 import org.mockito.Mockito;\r
55 import org.mockito.runners.MockitoJUnitRunner;\r
56 \r
57 import com.att.aft.dme2.api.http.HttpResponse;\r
58 import com.att.aft.dme2.request.HttpRequest;\r
59 import com.att.authz.cm.cert.CSRMeta;\r
60 import com.att.cadi.cm.CertException;\r
61 import com.att.dao.aaf.cached.CachedCertDAO;\r
62 import com.att.dao.aaf.cass.CertDAO;\r
63 import com.att.inno.env.Trans;\r
64 \r
65 \r
66 @RunWith(MockitoJUnitRunner.class)\r
67 public class JU_DevlCA {\r
68         \r
69         @Mock\r
70         private static CachedCertDAO certDAO;\r
71         \r
72         @Mock\r
73         private static HttpServletRequest req;\r
74         \r
75         @Mock\r
76         private static CSRMeta csrMeta;\r
77         \r
78         static Trans trans;\r
79         \r
80         static X509Certificate cert;\r
81         static byte [] name = {1,23,4,54,6,56};\r
82         \r
83         private static DevlCA devICA;\r
84         \r
85         @BeforeClass\r
86         public static void setUp() throws CertificateException, CertException, IOException {\r
87                 String str = "core java api";\r
88         byte[] b = str.getBytes();\r
89                 Principal prc = new X500Principal("CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US");\r
90                 req = mock(HttpServletRequest.class);\r
91                 devICA = mock(DevlCA.class);\r
92                 X509Certificate cert = new X509Certificate() {\r
93                         \r
94                         @Override\r
95                         public boolean hasUnsupportedCriticalExtension() {\r
96                                 return false;\r
97                         }\r
98                         \r
99                         @Override\r
100                         public Set<String> getNonCriticalExtensionOIDs() {\r
101                                  \r
102                                 return null;\r
103                         }\r
104                         \r
105                         @Override\r
106                         public byte[] getExtensionValue(String oid) {\r
107                                  \r
108                                 return null;\r
109                         }\r
110                         \r
111                         @Override\r
112                         public Set<String> getCriticalExtensionOIDs() {\r
113                                  \r
114                                 return null;\r
115                         }\r
116                         \r
117                         @Override\r
118                         public void verify(PublicKey key, String sigProvider) throws CertificateException, NoSuchAlgorithmException,\r
119                                         InvalidKeyException, NoSuchProviderException, SignatureException {\r
120                                  \r
121                                 \r
122                         }\r
123                         \r
124                         @Override\r
125                         public void verify(PublicKey key) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException,\r
126                                         NoSuchProviderException, SignatureException {\r
127                                  \r
128                                 \r
129                         }\r
130                         \r
131                         @Override\r
132                         public String toString() {\r
133                                  \r
134                                 return null;\r
135                         }\r
136                         \r
137                         @Override\r
138                         public PublicKey getPublicKey() {\r
139                                  \r
140                                 return null;\r
141                         }\r
142                         \r
143                         @Override\r
144                         public byte[] getEncoded() throws CertificateEncodingException {\r
145                                  \r
146                                 return null;\r
147                         }\r
148                         \r
149                         @Override\r
150                         public int getVersion() {\r
151                                  \r
152                                 return 0;\r
153                         }\r
154                         \r
155                         @Override\r
156                         public byte[] getTBSCertificate() throws CertificateEncodingException {\r
157                                  \r
158                                 return null;\r
159                         }\r
160                         \r
161                         @Override\r
162                         public boolean[] getSubjectUniqueID() {\r
163                                  \r
164                                 return null;\r
165                         }\r
166                         \r
167                         @Override\r
168                         public Principal getSubjectDN() {\r
169                                  \r
170                                 return null;\r
171                         }\r
172                         \r
173                         @Override\r
174                         public byte[] getSignature() {\r
175                                  \r
176                                 return null;\r
177                         }\r
178                         \r
179                         @Override\r
180                         public byte[] getSigAlgParams() {\r
181                                  \r
182                                 return null;\r
183                         }\r
184                         \r
185                         @Override\r
186                         public String getSigAlgOID() {\r
187                                  \r
188                                 return null;\r
189                         }\r
190                         \r
191                         @Override\r
192                         public String getSigAlgName() {\r
193                                  \r
194                                 return null;\r
195                         }\r
196                         \r
197                         @Override\r
198                         public BigInteger getSerialNumber() {\r
199                                  \r
200                                 return null;\r
201                         }\r
202                         \r
203                         @Override\r
204                         public Date getNotBefore() {\r
205                                  \r
206                                 return null;\r
207                         }\r
208                         \r
209                         @Override\r
210                         public Date getNotAfter() {\r
211                                  \r
212                                 return null;\r
213                         }\r
214                         \r
215                         @Override\r
216                         public boolean[] getKeyUsage() {\r
217                                  \r
218                                 return null;\r
219                         }\r
220                         \r
221                         @Override\r
222                         public boolean[] getIssuerUniqueID() {\r
223                                  \r
224                                 return null;\r
225                         }\r
226                         \r
227                         @Override\r
228                         public Principal getIssuerDN() {\r
229                                  \r
230                                 return null;\r
231                         }\r
232                         \r
233                         @Override\r
234                         public int getBasicConstraints() {\r
235                                  \r
236                                 return 0;\r
237                         }\r
238                         \r
239                         @Override\r
240                         public void checkValidity(Date date) throws CertificateExpiredException, CertificateNotYetValidException {\r
241                                  \r
242                                 \r
243                         }\r
244                         \r
245                         @Override\r
246                         public void checkValidity() throws CertificateExpiredException, CertificateNotYetValidException {\r
247                                 \r
248                         }\r
249                 };\r
250                 when(devICA.sign(Mockito.any(Trans.class), Mockito.any(CSRMeta.class))).thenReturn(cert);\r
251                 certDAO = mock(CachedCertDAO.class, CALLS_REAL_METHODS);\r
252         }\r
253         \r
254         @Test\r
255         public void identity_True() throws CertificateException, IOException, CertException {\r
256                 assertNotNull(devICA.sign(trans, csrMeta));\r
257         }\r
258         \r
259         \r
260         @Test\r
261         public void identityNull() throws CertificateException {\r
262                 try {\r
263                         assertNotNull(devICA.sign(null, csrMeta));\r
264                 } catch (IOException e) {\r
265                 \r
266                         e.printStackTrace();\r
267                 } catch (CertException e) {\r
268                         \r
269                         e.printStackTrace();\r
270                 }\r
271         }\r
272         \r
273         @Test\r
274         public void identityBothNull() throws CertificateException {\r
275                 try {\r
276                         assertNotNull(devICA.sign(null, null));\r
277                 } catch (IOException e) {\r
278                 \r
279                         e.printStackTrace();\r
280                 } catch (CertException e) {\r
281                         \r
282                         e.printStackTrace();\r
283                 }\r
284         }\r
285 \r
286 }\r