1 /*******************************************************************************
\r
2 * ============LICENSE_START====================================================
\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
11 * * http://www.apache.org/licenses/LICENSE-2.0
\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
20 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
22 ******************************************************************************/
\r
23 package org.onap.aaf.authz.cm.facade;
\r
25 import static org.junit.Assert.*;
\r
26 import static org.mockito.Mockito.CALLS_REAL_METHODS;
\r
27 import static org.mockito.Mockito.mock;
\r
28 import static org.mockito.Mockito.when;
\r
30 import java.io.IOException;
\r
32 import javax.servlet.ServletOutputStream;
\r
33 import javax.servlet.http.HttpServletRequest;
\r
34 import javax.servlet.http.HttpServletResponse;
\r
35 import javax.xml.namespace.QName;
\r
36 import javax.xml.validation.Schema;
\r
38 import org.junit.Before;
\r
39 import org.junit.BeforeClass;
\r
40 import org.junit.Test;
\r
41 import org.junit.runner.RunWith;
\r
42 import org.mockito.Mockito;
\r
43 import org.mockito.runners.MockitoJUnitRunner;
\r
44 import org.onap.aaf.authz.cm.facade.FacadeImpl;
\r
45 import org.onap.aaf.authz.cm.mapper.Mapper;
\r
46 import org.onap.aaf.authz.cm.service.CMService;
\r
47 import org.onap.aaf.authz.cm.service.CertManAPI;
\r
48 import org.onap.aaf.authz.env.AuthzEnv;
\r
49 import org.onap.aaf.authz.env.AuthzTrans;
\r
50 import org.onap.aaf.authz.layer.Result;
\r
52 import org.onap.aaf.cadi.aaf.AAFPermission;
\r
53 import org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm;
\r
54 import org.onap.aaf.inno.env.APIException;
\r
55 import org.onap.aaf.inno.env.Data;
\r
56 import org.onap.aaf.inno.env.LogTarget;
\r
57 import org.onap.aaf.inno.env.TimeTaken;
\r
58 import org.onap.aaf.inno.env.Trans;
\r
59 import org.onap.aaf.rosetta.env.RosettaDF;
\r
60 import org.onap.aaf.rosetta.env.RosettaData;
\r
63 @RunWith(MockitoJUnitRunner.class)
\r
64 public class JU_FacadeImpl<REQ,CERT,ARTIFACTS,ERROR> {
\r
66 private static AuthzTrans trans;
\r
67 private static HttpServletResponse resp;
\r
68 private static CertManAPI certman;
\r
69 private static FacadeImpl hImpl;
\r
70 private static CMService service;
\r
71 private Mapper<REQ,CERT,ARTIFACTS,ERROR> mapper;
\r
72 private Data.TYPE dataType;
\r
73 private static AuthzEnv env;
\r
75 private static FacadeImpl fImpl;
\r
76 private static HttpServletRequest req;
\r
79 public void setUp() throws APIException, IOException {
\r
80 fImpl = mock(FacadeImpl.class);
\r
81 env = mock(AuthzEnv.class);
\r
82 resp = mock(HttpServletResponse.class);
\r
83 req = mock(HttpServletRequest.class);
\r
84 hImpl = mock(FacadeImpl.class, CALLS_REAL_METHODS);
\r
85 Result<Void> rvd = (Result) mock(Result.class);
\r
86 trans = mock(AuthzTrans.class);
\r
87 when(trans.error()).thenReturn(new LogTarget() {
\r
90 public void printf(String fmt, Object... vars) {}
\r
93 public void log(Throwable e, Object... msgs) {
\r
95 e.printStackTrace();
\r
101 public void log(Object... msgs) {
\r
105 public boolean isLoggable() {
\r
110 when(trans.start(Mockito.anyString(), Mockito.anyInt())).thenReturn(new TimeTaken("Now", 1) {
\r
113 public void output(StringBuilder sb) {
\r
117 when(fImpl.check(Mockito.any(AuthzTrans.class), Mockito.any(HttpServletResponse.class), Mockito.anyString())).thenReturn(rvd);
\r
118 when(resp.getOutputStream()).thenReturn(new ServletOutputStream() {
\r
121 public void write(int b) throws IOException {
\r
130 public void check() throws IOException {
\r
131 AAFPermission ap = new AAFPermission("str1","str3","str2");
\r
132 String perms = ap.getInstance();
\r
133 assertNotNull(hImpl.check(trans, resp, perms));
\r
137 public void checkNull() throws IOException {
\r
138 AAFPermission ap = new AAFPermission(null,"Str3","str2");
\r
139 String perms = ap.getInstance();
\r
140 assertNotNull(hImpl.check(trans, resp, perms));
\r
144 public void checkTwoNull() throws IOException {
\r
145 AAFPermission ap = new AAFPermission(null,null,"str2");
\r
146 String perms = ap.getInstance();
\r
147 assertNotNull(fImpl.check(trans, resp, perms));
\r
151 public void checkAllNull() throws IOException {
\r
152 AAFPermission ap = new AAFPermission(null,null,null);
\r
153 String perms = ap.getInstance();
\r
154 assertNotNull(fImpl.check(trans, resp, perms));
\r
158 public void checkTrans_null() throws IOException {
\r
159 AAFPermission ap = new AAFPermission("str1","str3","str2");
\r
160 String perms = ap.getInstance();
\r
161 assertNotNull(hImpl.check(null, resp, perms));
\r
165 public void checkRespNull() throws IOException {
\r
166 AAFPermission ap = new AAFPermission("str1","str3","str2");
\r
167 String perms = ap.getInstance();
\r
168 assertNotNull(hImpl.check(trans, null, perms));
\r
172 public void requestCert() {
\r
173 assertNotNull(hImpl.requestCert(trans, req, resp, true));
\r
177 public void renewCert() {
\r
178 assertNotNull(hImpl.renewCert(trans, req, resp, true));
\r
182 public void dropCert() {
\r
183 assertNotNull(hImpl.renewCert(trans, req, resp, true));
\r
187 public void createArtifacts() {
\r
188 assertNotNull(hImpl.createArtifacts(trans, req, resp));
\r
192 public void readArtifacts() {
\r
193 assertNotNull(hImpl.readArtifacts(trans, req, resp));
\r