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;
33 import org.junit.Test;
34 import org.onap.aaf.auth.dao.CassAccess;
35 import org.onap.aaf.auth.dao.cass.ArtiDAO;
36 import org.onap.aaf.auth.dao.cass.ArtiDAO.Data;
37 import org.onap.aaf.auth.layer.Result;
43 public class JU_ArtiDAO extends AbsJUCass {
45 public void test() throws IOException, NoSuchAlgorithmException {
46 ArtiDAO adao = new ArtiDAO(trans,cluster,CassAccess.KEYSPACE);
48 // TODO: Clean out AT&T specific data
50 ArtiDAO.Data data = new ArtiDAO.Data();
51 data.mechid="m553j5@perturbed.onap.org";
52 data.machine="perturbed1232.onap.org";
53 data.type(false).add("file");
54 data.type(false).add("jks");
55 data.sponsor="Fred Flintstone";
57 data.dir="/opt/app/aft/keys";
60 data.notify="email:fred@bogus.com";
61 data.expires=new Date();
64 ByteBuffer bb = data.bytify();
65 Data bdata = new ArtiDAO.Data();
66 bdata.reconstitute(bb);
67 checkData1(data, bdata);
71 adao.create(trans,data);
73 // Validate Read with key fields in Data
74 Result<List<ArtiDAO.Data>> rlcd = adao.read(trans,data);
75 assertTrue(rlcd.isOKhasData());
76 for(ArtiDAO.Data d : rlcd.value) {
80 // Validate Read with key fields in Data
81 rlcd = adao.read(trans,data.mechid, data.machine);
82 assertTrue(rlcd.isOKhasData());
83 for(ArtiDAO.Data d : rlcd.value) {
88 rlcd = adao.readByMachine(trans,data.machine);
89 assertTrue(rlcd.isOKhasData());
90 for(ArtiDAO.Data d : rlcd.value) {
95 rlcd = adao.readByMechID(trans,data.mechid);
96 assertTrue(rlcd.isOKhasData());
97 for(ArtiDAO.Data d : rlcd.value) {
102 data.sponsor = "Wilma Flintstone";
103 adao.update(trans,data);
104 rlcd = adao.read(trans,data);
105 assertTrue(rlcd.isOKhasData());
106 for(ArtiDAO.Data d : rlcd.value) {
111 // Always delete data, even if failure.
112 adao.delete(trans,data, true);
121 private void checkData1(Data data, Data d) {
122 assertEquals(data.mechid,d.mechid);
123 assertEquals(data.machine,d.machine);
124 assertEquals(data.type(false).size(),d.type(false).size());
125 for(String s: data.type(false)) {
126 assertTrue(d.type(false).contains(s));
128 assertEquals(data.sponsor,d.sponsor);
129 assertEquals(data.ca,d.ca);
130 assertEquals(data.dir,d.dir);
131 assertEquals(data.ns,d.ns);
132 assertEquals(data.os_user,d.os_user);
133 assertEquals(data.notify,d.notify);
134 assertEquals(data.expires,d.expires);