2 * ============LICENSE_START====================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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====================================================
22 package com.att.dao.aaf.test;
24 import static org.junit.Assert.assertEquals;
25 import static org.junit.Assert.assertTrue;
27 import java.io.IOException;
28 import java.nio.ByteBuffer;
29 import java.security.NoSuchAlgorithmException;
30 import java.util.Date;
31 import java.util.List;
32 import java.util.UUID;
34 import org.junit.Test;
35 import org.onap.aaf.auth.dao.CassAccess;
36 import org.onap.aaf.auth.dao.cass.OAuthTokenDAO;
37 import org.onap.aaf.auth.dao.cass.OAuthTokenDAO.Data;
38 import org.onap.aaf.auth.layer.Result;
39 import org.onap.aaf.cadi.oauth.AAFToken;
45 public class JU_OAuthTokenDAO extends AbsJUCass {
47 public void test() throws IOException, NoSuchAlgorithmException {
48 OAuthTokenDAO adao = new OAuthTokenDAO(trans,cluster,CassAccess.KEYSPACE);
49 UUID uuid = UUID.randomUUID();
52 Data data = new OAuthTokenDAO.Data();
53 data.id=AAFToken.toToken(uuid);
54 data.client_id="zClient";
55 data.user = "xy1255@csp.att.com";
58 data.refresh = AAFToken.toToken(UUID.randomUUID());
59 data.expires=new Date();
60 data.scopes(false).add("org.osaaf.aaf");
61 data.scopes(false).add("org.osaaf.grid");
62 data.content="{darth:\"I am your content\"}";
66 ByteBuffer bb = data.bytify();
67 Data bdata = new OAuthTokenDAO.Data();
68 // System.out.println(new String(Symm.base64noSplit.encode(bb.array())));
69 bdata.reconstitute(bb);
70 checkData1(data, bdata);
73 adao.create(trans,data);
75 // Validate Read with Data Object
76 Result<List<OAuthTokenDAO.Data>> rlcd = adao.read(trans,data);
77 assertTrue(rlcd.isOKhasData());
78 for(OAuthTokenDAO.Data d : rlcd.value) {
81 // Validate Read with key fields in Data
82 rlcd = adao.read(trans,data.id);
83 assertTrue(rlcd.isOKhasData());
84 for(OAuthTokenDAO.Data d : rlcd.value) {
88 // Validate Read by User
89 rlcd = adao.readByUser(trans,data.user);
90 assertTrue(rlcd.isOKhasData());
91 for(OAuthTokenDAO.Data d : rlcd.value) {
96 data.content = "{darth:\"I am your content\", luke:\"Noooooooo!\"}";
98 adao.update(trans,data);
99 rlcd = adao.read(trans,data);
100 assertTrue(rlcd.isOKhasData());
101 for(OAuthTokenDAO.Data d : rlcd.value) {
106 // Always delete data, even if failure.
107 adao.delete(trans,data, true);
115 private void checkData1(Data data, Data d) {
116 assertEquals(data.id,d.id);
117 assertEquals(data.client_id,d.client_id);
118 assertEquals(data.user,d.user);
119 assertEquals(data.active,d.active);
120 assertEquals(data.type,d.type);
121 assertEquals(data.refresh,d.refresh);
122 assertEquals(data.expires,d.expires);
123 for(String s: data.scopes(false)) {
124 assertTrue(d.scopes(false).contains(s));
126 for(String s: d.scopes(false)) {
127 assertTrue(data.scopes(false).contains(s));
129 assertEquals(data.content,d.content);
130 assertEquals(data.state,d.state);
131 assertEquals(data.req_ip,d.req_ip);