Keep only clean TestCases, remove 2 license issues
[aaf/authz.git] / auth / auth-core / src / test / java / org / onap / aaf / auth / rserv / test / JU_Content.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.rserv.test;
23
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertNull;
27
28 import java.io.IOException;
29
30 import javax.servlet.http.HttpServletRequest;
31 import javax.servlet.http.HttpServletResponse;
32
33 import org.junit.Test;
34 import org.onap.aaf.auth.rserv.HttpCode;
35 import org.onap.aaf.auth.rserv.TypedCode;
36 import org.onap.aaf.misc.env.TransJAXB;
37 import org.onap.aaf.misc.env.impl.EnvFactory;
38
39
40 /**
41  * Test the functioning of the "Content" class, which holds, and routes to the right code based on Accept values
42  */
43 public class JU_Content {
44         
45
46         @Test
47         public void test() throws Exception {
48                 final String BOOL = "Boolean";
49                 final String XML = "XML";
50                 TransJAXB trans = EnvFactory.newTrans();
51                 try {
52                 HttpCode<TransJAXB, String> cBool = new HttpCode<TransJAXB,String>(BOOL,"Standard String") {
53                         @Override
54                         public void handle(TransJAXB trans, HttpServletRequest req, HttpServletResponse resp) {
55                                 try {
56                                         resp.getOutputStream().write(context.getBytes());
57                                 } catch (IOException e) {
58                                 }
59                         }
60                 };
61
62                 HttpCode<TransJAXB,String> cXML = new HttpCode<TransJAXB,String>(XML, "Standard String") {
63                         @Override
64                         public void handle(TransJAXB trans, HttpServletRequest req, HttpServletResponse resp) {
65                                 try {
66                                         resp.getOutputStream().write(context.getBytes());
67                                 } catch (IOException e) {
68                                 }
69                         }
70                 };
71
72                 TypedCode<TransJAXB> ct = new TypedCode<TransJAXB>()
73                                 .add(cBool,"application/" + Boolean.class.getName()+"+xml;charset=utf8;version=1.1")
74                                 .add(cXML,"application/xml;q=.9");
75                 String expected = "application/java.lang.Boolean+xml;charset=utf8;version=1.1,application/xml;q=0.9";
76                 assertEquals(expected,ct.toString());
77
78                 //BogusReq req = new BogusReq();
79                 //expected = (expected);
80                 //HttpServletResponse resp = new BogusResp();
81                 
82                 assertNotNull("Same Content String and Accept String",ct.prep(trans,expected));
83
84                 //expects Null (not run)
85                 // A Boolean xml that must have charset utf8 and match version 1.2 or greater
86                 expected = ("application/java.lang.Boolean+xml;charset=utf8;version=1.2");
87                 assertNull("Accept Minor Version greater than Content Minor Version",ct.prep(trans,expected));
88
89                 // Same with (too many) spaces
90                 expected = (" application/java.lang.Boolean+xml ; charset = utf8 ; version = 1.2   ");
91                 assertNull("Accept Minor Version greater than Content Minor Version",ct.prep(trans,expected));
92
93                 //expects Null (not run)
94                 expected = ("application/java.lang.Boolean+xml;charset=utf8;version=2.1");
95                 assertNull("Major Versions not the same",ct.prep(trans,expected));
96
97                 expected = ("application/java.lang.Boolean+xml;charset=utf8;version=1.0");
98                 assertNotNull("Content Minor Version is greater than Accept Minor Version",ct.prep(trans,expected));
99
100                 expected = "application/java.lang.Squid+xml;charset=utf8;version=1.0,application/xml;q=.9";
101                 assertNotNull("2nd one will have to do...",ct.prep(trans,expected));
102
103                 expected = "application/java.lang.Boolean+xml;charset=UTF8;version=1.0";
104                 assertNotNull("Minor Charset in Caps acceptable",ct.prep(trans,expected));
105
106                 // expects no run 
107                 expected="application/java.lang.Boolean+xml;charset=MyType;version=1.0";
108                 assertNull("Unknown Minor Charset",ct.prep(trans,expected));
109
110                 expected="";
111                 assertNotNull("Blank Acceptance",ct.prep(trans,expected));
112                 
113                 expected=null;
114                 assertNotNull("Null Acceptance",ct.prep(trans,expected));       
115
116                 expected = ("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
117                 assertNotNull("Matches application/xml, and other content not known",ct.prep(trans,expected));
118                 
119                 // No SemiColon
120                 expected = ("i/am/bogus,application/xml");
121                 assertNotNull("Match second entry, with no Semis",ct.prep(trans,expected));
122
123                 } finally {     
124                         StringBuilder sb = new StringBuilder();
125                         trans.auditTrail(0, sb);
126                         //System.out.println(sb);
127                 }
128         }
129 //      
130 //      Original API used HTTPServletRequest and HTTPServletResponse.  Due to the fact that sometimes we use Accept, and others Content-TYpe
131 //      I changed it to simply accept a string
132 //      
133 //      Jonathan 3/8/2013
134 //      
135 //      @SuppressWarnings("rawtypes")
136 //      class BogusReq implements HttpServletRequest {
137 //              private String accept;
138 //
139 //              public void accept(String accept) {
140 //                      this.accept = accept;
141 //              }
142 //
143 //              @Override
144 //              public Object getAttribute(String name) {
145 //                      return accept;
146 //              }
147 //
148 //
149 //              @Override
150 //              public Enumeration getAttributeNames() {
151 //                      return null;
152 //              }
153 //
154 //              @Override
155 //              public String getCharacterEncoding() {
156 //                      return null;
157 //              }
158 //
159 //              @Override
160 //              public void setCharacterEncoding(String env)
161 //                              throws UnsupportedEncodingException {
162 //                      
163 //
164 //              }
165 //
166 //              @Override
167 //              public int getContentLength() {
168 //                      
169 //                      return 0;
170 //              }
171 //
172 //              @Override
173 //              public String getContentType() {
174 //                      
175 //                      return null;
176 //              }
177 //
178 //              @Override
179 //              public ServletInputStream getInputStream() throws IOException {
180 //                      
181 //                      return null;
182 //              }
183 //
184 //              @Override
185 //              public String getParameter(String name) {
186 //                      
187 //                      return null;
188 //              }
189 //
190 //              @Override
191 //              public Enumeration getParameterNames() {
192 //                      
193 //                      return null;
194 //              }
195 //
196 //              @Override
197 //              public String[] getParameterValues(String name) {
198 //                      
199 //                      return null;
200 //              }
201 //
202 //              @Override
203 //              public Map getParameterMap() {
204 //                      
205 //                      return null;
206 //              }
207 //
208 //              @Override
209 //              public String getProtocol() {
210 //                      
211 //                      return null;
212 //              }
213 //
214 //              @Override
215 //              public String getScheme() {
216 //                      
217 //                      return null;
218 //              }
219 //
220 //              @Override
221 //              public String getServerName() {
222 //                      
223 //                      return null;
224 //              }
225 //
226 //              @Override
227 //              public int getServerPort() {
228 //                      
229 //                      return 0;
230 //              }
231 //
232 //              @Override
233 //              public BufferedReader getReader() throws IOException {
234 //                      
235 //                      return null;
236 //              }
237 //
238 //              @Override
239 //              public String getRemoteAddr() {
240 //                      
241 //                      return null;
242 //              }
243 //
244 //              @Override
245 //              public String getRemoteHost() {
246 //                      
247 //                      return null;
248 //              }
249 //
250 //              @Override
251 //              public void setAttribute(String name, Object o) {
252 //                      
253 //
254 //              }
255 //
256 //              @Override
257 //              public void removeAttribute(String name) {
258 //                      
259 //
260 //              }
261 //
262 //              @Override
263 //              public Locale getLocale() {
264 //                      
265 //                      return null;
266 //              }
267 //
268 //              @Override
269 //              public Enumeration getLocales() {
270 //                      
271 //                      return null;
272 //              }
273 //
274 //              @Override
275 //              public boolean isSecure() {
276 //                      
277 //                      return false;
278 //              }
279 //
280 //              @Override
281 //              public RequestDispatcher getRequestDispatcher(String path) {
282 //                      
283 //                      return null;
284 //              }
285 //
286 //              @Override
287 //              public String getRealPath(String path) {
288 //                      
289 //                      return null;
290 //              }
291 //
292 //              @Override
293 //              public int getRemotePort() {
294 //                      
295 //                      return 0;
296 //              }
297 //
298 //              @Override
299 //              public String getLocalName() {
300 //                      
301 //                      return null;
302 //              }
303 //
304 //              @Override
305 //              public String getLocalAddr() {
306 //                      
307 //                      return null;
308 //              }
309 //
310 //              @Override
311 //              public int getLocalPort() {
312 //                      
313 //                      return 0;
314 //              }
315 //
316 //              @Override
317 //              public String getAuthType() {
318 //                      
319 //                      return null;
320 //              }
321 //
322 //              @Override
323 //              public Cookie[] getCookies() {
324 //                      
325 //                      return null;
326 //              }
327 //
328 //              @Override
329 //              public long getDateHeader(String name) {
330 //                      
331 //                      return 0;
332 //              }
333 //
334 //              @Override
335 //              public String getHeader(String name) {
336 //                      return accept;
337 //              }
338 //
339 //              @Override
340 //              public Enumeration getHeaders(String name) {
341 //                      
342 //                      return null;
343 //              }
344 //
345 //              @Override
346 //              public Enumeration getHeaderNames() {
347 //                      
348 //                      return null;
349 //              }
350 //
351 //              @Override
352 //              public int getIntHeader(String name) {
353 //                      
354 //                      return 0;
355 //              }
356 //
357 //              @Override
358 //              public String getMethod() {
359 //                      
360 //                      return null;
361 //              }
362 //
363 //              @Override
364 //              public String getPathInfo() {
365 //                      
366 //                      return null;
367 //              }
368 //
369 //              @Override
370 //              public String getPathTranslated() {
371 //                      
372 //                      return null;
373 //              }
374 //
375 //              @Override
376 //              public String getContextPath() {
377 //                      
378 //                      return null;
379 //              }
380 //
381 //              @Override
382 //              public String getQueryString() {
383 //                      
384 //                      return null;
385 //              }
386 //
387 //              @Override
388 //              public String getRemoteUser() {
389 //                      
390 //                      return null;
391 //              }
392 //
393 //              @Override
394 //              public boolean isUserInRole(String role) {
395 //                      
396 //                      return false;
397 //              }
398 //
399 //              @Override
400 //              public Principal getUserPrincipal() {
401 //                      
402 //                      return null;
403 //              }
404 //
405 //              @Override
406 //              public String getRequestedSessionId() {
407 //                      
408 //                      return null;
409 //              }
410 //
411 //              @Override
412 //              public String getRequestURI() {
413 //                      
414 //                      return null;
415 //              }
416 //
417 //              @Override
418 //              public StringBuffer getRequestURL() {
419 //                      
420 //                      return null;
421 //              }
422 //
423 //              @Override
424 //              public String getServletPath() {
425 //                      
426 //                      return null;
427 //              }
428 //
429 //              @Override
430 //              public HttpSession getSession(boolean create) {
431 //                      
432 //                      return null;
433 //              }
434 //
435 //              @Override
436 //              public HttpSession getSession() {
437 //                      
438 //                      return null;
439 //              }
440 //
441 //              @Override
442 //              public boolean isRequestedSessionIdValid() {
443 //                      
444 //                      return false;
445 //              }
446 //
447 //              @Override
448 //              public boolean isRequestedSessionIdFromCookie() {
449 //                      
450 //                      return false;
451 //              }
452 //
453 //              @Override
454 //              public boolean isRequestedSessionIdFromURL() {
455 //                      
456 //                      return false;
457 //              }
458 //
459 //              @Override
460 //              public boolean isRequestedSessionIdFromUrl() {
461 //                      
462 //                      return false;
463 //              }
464 //      }
465 //      
466 //      public class BogusResp implements HttpServletResponse {
467 //              public String contentType;
468 //
469 //              @Override
470 //              public String getCharacterEncoding() {
471 //              
472 //                      return null;
473 //              }
474 //
475 //              @Override
476 //              public String getContentType() {
477 //                      return contentType;
478 //              }
479 //
480 //              @Override
481 //              public ServletOutputStream getOutputStream() throws IOException {
482 //              
483 //                      return null;
484 //              }
485 //
486 //              @Override
487 //              public PrintWriter getWriter() throws IOException {
488 //              
489 //                      return null;
490 //              }
491 //
492 //              @Override
493 //              public void setCharacterEncoding(String charset) {
494 //              
495 //                      
496 //              }
497 //
498 //              @Override
499 //              public void setContentLength(int len) {
500 //              
501 //                      
502 //              }
503 //
504 //              @Override
505 //              public void setContentType(String type) {
506 //                      contentType = type;
507 //              }
508 //
509 //              @Override
510 //              public void setBufferSize(int size) {
511 //              
512 //                      
513 //              }
514 //
515 //              @Override
516 //              public int getBufferSize() {
517 //              
518 //                      return 0;
519 //              }
520 //
521 //              @Override
522 //              public void flushBuffer() throws IOException {
523 //              
524 //                      
525 //              }
526 //
527 //              @Override
528 //              public void resetBuffer() {
529 //              
530 //                      
531 //              }
532 //
533 //              @Override
534 //              public boolean isCommitted() {
535 //              
536 //                      return false;
537 //              }
538 //
539 //              @Override
540 //              public void reset() {
541 //              
542 //                      
543 //              }
544 //
545 //              @Override
546 //              public void setLocale(Locale loc) {
547 //              
548 //                      
549 //              }
550 //
551 //              @Override
552 //              public Locale getLocale() {
553 //              
554 //                      return null;
555 //              }
556 //
557 //              @Override
558 //              public void addCookie(Cookie cookie) {
559 //              
560 //                      
561 //              }
562 //
563 //              @Override
564 //              public boolean containsHeader(String name) {
565 //              
566 //                      return false;
567 //              }
568 //
569 //              @Override
570 //              public String encodeURL(String url) {
571 //              
572 //                      return null;
573 //              }
574 //
575 //              @Override
576 //              public String encodeRedirectURL(String url) {
577 //              
578 //                      return null;
579 //              }
580 //
581 //              @Override
582 //              public String encodeUrl(String url) {
583 //              
584 //                      return null;
585 //              }
586 //
587 //              @Override
588 //              public String encodeRedirectUrl(String url) {
589 //              
590 //                      return null;
591 //              }
592 //
593 //              @Override
594 //              public void sendError(int sc, String msg) throws IOException {
595 //              
596 //                      
597 //              }
598 //
599 //              @Override
600 //              public void sendError(int sc) throws IOException {
601 //              
602 //                      
603 //              }
604 //
605 //              @Override
606 //              public void sendRedirect(String location) throws IOException {
607 //              
608 //                      
609 //              }
610 //
611 //              @Override
612 //              public void setDateHeader(String name, long date) {
613 //              
614 //                      
615 //              }
616 //
617 //              @Override
618 //              public void addDateHeader(String name, long date) {
619 //              
620 //                      
621 //              }
622 //
623 //              @Override
624 //              public void setHeader(String name, String value) {
625 //              
626 //                      
627 //              }
628 //
629 //              @Override
630 //              public void addHeader(String name, String value) {
631 //              
632 //                      
633 //              }
634 //
635 //              @Override
636 //              public void setIntHeader(String name, int value) {
637 //              
638 //                      
639 //              }
640 //
641 //              @Override
642 //              public void addIntHeader(String name, int value) {
643 //              
644 //                      
645 //              }
646 //
647 //              @Override
648 //              public void setStatus(int sc) {
649 //              
650 //                      
651 //              }
652 //
653 //              @Override
654 //              public void setStatus(int sc, String sm) {
655 //              
656 //                      
657 //              }
658 //              
659 //      }
660 //
661 }