From 556e22af6ff1c11d6e76eda97a8b26f5f14cec83 Mon Sep 17 00:00:00 2001 From: Sai Gandham Date: Tue, 30 Oct 2018 09:49:28 -0500 Subject: [PATCH] Add more junits for auth cass Issue-ID: AAF-111 Change-Id: I783555e63dd160faccd5967cb49bd1edbf118e3f Signed-off-by: Sai Gandham --- .../aaf/auth/dao/cached/JU_CachedCertDAOTest.java | 57 +++++++ .../aaf/auth/dao/cached/JU_CachedCredDAOTest.java | 70 ++++++++ .../aaf/auth/dao/cached/JU_CachedNSDAOTest.java | 54 ++++++ .../aaf/auth/dao/cached/JU_CachedPermDAOTest.java | 78 +++++++++ .../java/org/onap/aaf/auth/fs/test/JU_AAF_FS.java | 181 ++++++++++----------- 5 files changed, 347 insertions(+), 93 deletions(-) create mode 100644 auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCertDAOTest.java create mode 100644 auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCredDAOTest.java create mode 100644 auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedNSDAOTest.java create mode 100644 auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedPermDAOTest.java diff --git a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCertDAOTest.java b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCertDAOTest.java new file mode 100644 index 00000000..5be0f576 --- /dev/null +++ b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCertDAOTest.java @@ -0,0 +1,57 @@ +/** + * ============LICENSE_START==================================================== + * org.onap.aaf + * =========================================================================== + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * =========================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END==================================================== + * + */ +package org.onap.aaf.auth.dao.cached; + +import static org.mockito.Mockito.verify; +import static org.mockito.MockitoAnnotations.initMocks; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.aaf.auth.dao.CIDAO; +import org.onap.aaf.auth.dao.cass.CertDAO; +import org.onap.aaf.auth.env.AuthzTrans; + +public class JU_CachedCertDAOTest { + + private long expiresIn; + private CIDAO info; + @Mock + private CertDAO dao; + private AuthzTrans trans; + + @Before + public void setUp() throws Exception { + initMocks(this); + } + + @Test + public void test() { + CachedCertDAO ccDao = new CachedCertDAO(dao, info, expiresIn); + + ccDao.readID(trans, "id"); + ccDao.readX500(trans, "x500"); + + verify(dao).readID(trans, "id"); + verify(dao).readX500(trans, "x500"); + } + +} diff --git a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCredDAOTest.java b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCredDAOTest.java new file mode 100644 index 00000000..06285357 --- /dev/null +++ b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedCredDAOTest.java @@ -0,0 +1,70 @@ +/** + * ============LICENSE_START==================================================== + * org.onap.aaf + * =========================================================================== + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * =========================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END==================================================== + * + */ +package org.onap.aaf.auth.dao.cached; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.mockito.MockitoAnnotations.initMocks; + +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.aaf.auth.dao.CIDAO; +import org.onap.aaf.auth.dao.cass.CredDAO; +import org.onap.aaf.auth.dao.cass.CredDAO.Data; +import org.onap.aaf.auth.dao.cass.Status; +import org.onap.aaf.auth.env.AuthzTrans; +import org.onap.aaf.auth.layer.Result; + +public class JU_CachedCredDAOTest { + + @Mock + private CIDAO info; + @Mock + private CredDAO dao; + private AuthzTrans trans; + @Mock + private Result> value; + + @Before + public void setUp() throws Exception { + initMocks(this); + + when(dao.readID(trans, "id")).thenReturn(value); + } + + @Test + public void testOk() { + when(value.isOK()).thenReturn(false); + CachedCredDAO ccDao = new CachedCredDAO(dao, info, 100l); + + ccDao.readNS(trans, "ns"); + Result> result = ccDao.readID(trans, "id"); + + assertEquals(result.status, Status.OK); + verify(dao).readNS(trans, "ns"); + verify(dao).readID(trans, "id"); + } + +} diff --git a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedNSDAOTest.java b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedNSDAOTest.java new file mode 100644 index 00000000..b945b36e --- /dev/null +++ b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedNSDAOTest.java @@ -0,0 +1,54 @@ +/** + * ============LICENSE_START==================================================== + * org.onap.aaf + * =========================================================================== + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * =========================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END==================================================== + * + */ +package org.onap.aaf.auth.dao.cached; + +import static org.junit.Assert.assertNotNull; +import static org.mockito.MockitoAnnotations.initMocks; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.aaf.auth.dao.CIDAO; +import org.onap.aaf.auth.dao.cass.NsDAO; +import org.onap.aaf.auth.env.AuthzTrans; + +public class JU_CachedNSDAOTest { + + private long expiresIn; + private CIDAO info; + @Mock + private NsDAO dao; + private AuthzTrans trans; + + @Before + public void setUp() throws Exception { + initMocks(this); + } + + @Test + public void test() { + CachedNSDAO ccDao = new CachedNSDAO(dao, info, expiresIn); + + assertNotNull(ccDao); + + } + +} diff --git a/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedPermDAOTest.java b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedPermDAOTest.java new file mode 100644 index 00000000..972e366c --- /dev/null +++ b/auth/auth-cass/src/test/java/org/onap/aaf/auth/dao/cached/JU_CachedPermDAOTest.java @@ -0,0 +1,78 @@ +/** + * ============LICENSE_START==================================================== + * org.onap.aaf + * =========================================================================== + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * =========================================================================== + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END==================================================== + * + */ +package org.onap.aaf.auth.dao.cached; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.mockito.MockitoAnnotations.initMocks; + +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.aaf.auth.dao.CIDAO; +import org.onap.aaf.auth.dao.cass.PermDAO; +import org.onap.aaf.auth.dao.cass.PermDAO.Data; +import org.onap.aaf.auth.dao.cass.Status; +import org.onap.aaf.auth.env.AuthzTrans; +import org.onap.aaf.auth.layer.Result; + +public class JU_CachedPermDAOTest { + + @Mock + private CIDAO info; + @Mock + private PermDAO dao; + private AuthzTrans trans; + @Mock + private Result> value; + + @Before + public void setUp() throws Exception { + initMocks(this); + + when(dao.readNS(trans, "ns")).thenReturn(value); + } + + @Test + public void testReadNS() { + when(value.isOKhasData()).thenReturn(true); + when(value.isOK()).thenReturn(false); + CachedPermDAO ccDao = new CachedPermDAO(dao, info, 100l); + + Result> result = ccDao.readNS(trans, "ns"); + + assertEquals(result, value); + + when(value.isOKhasData()).thenReturn(false); + + result = ccDao.readNS(trans, "ns"); + + assertEquals(result.status, Status.ERR_PermissionNotFound); + + ccDao.readChildren(trans, "ns", "type"); + + verify(dao).readChildren(trans, "ns", "type"); + } + +} diff --git a/auth/auth-fs/src/test/java/org/onap/aaf/auth/fs/test/JU_AAF_FS.java b/auth/auth-fs/src/test/java/org/onap/aaf/auth/fs/test/JU_AAF_FS.java index 40105c6e..eef1a87b 100644 --- a/auth/auth-fs/src/test/java/org/onap/aaf/auth/fs/test/JU_AAF_FS.java +++ b/auth/auth-fs/src/test/java/org/onap/aaf/auth/fs/test/JU_AAF_FS.java @@ -21,110 +21,105 @@ package org.onap.aaf.auth.fs.test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.mock; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.PrintStream; + +import org.eclipse.jetty.server.Server; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; import org.onap.aaf.auth.env.AuthzEnv; import org.onap.aaf.auth.env.AuthzTrans; import org.onap.aaf.auth.fs.AAF_FS; -import org.onap.aaf.auth.rserv.CachingFileAccess; import org.onap.aaf.auth.server.JettyServiceStarter; -import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.CadiException; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.config.Config; +import org.onap.aaf.cadi.register.Registrant; import org.onap.aaf.misc.env.APIException; -import org.onap.aaf.misc.env.Slot; -import org.onap.aaf.misc.env.StaticSlot; -import org.eclipse.jetty.server.Server; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.Mockito; -import static org.mockito.Mockito.*; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; public class JU_AAF_FS { - AuthzEnv aEnv; - AAF_FS aafFs; - File fService; - File fEtc; - String value; - File d; - private static final String testDir = "src/test/resources/logs"; - private ByteArrayOutputStream outStream; - private ByteArrayOutputStream errStream; - - - @Before - public void setUp() throws APIException, IOException, CadiException { - outStream = new ByteArrayOutputStream(); - errStream = new ByteArrayOutputStream(); - System.setOut(new PrintStream(outStream)); - System.setErr(new PrintStream(errStream)); - value = System.setProperty(Config.CADI_LOGDIR, testDir); - System.setProperty(Config.CADI_ETCDIR, testDir); - System.out.println(ClassLoader.getSystemResource("org.osaaf.aaf.log4j.props")); - d = new File(testDir); - d.mkdirs(); - fService = new File(d +"/fs-serviceTEST.log"); - fService.createNewFile(); - fEtc = new File(d + "/org.osaaf.aaf.log4j.props"); - fEtc.createNewFile(); - - aEnv = new AuthzEnv(); - aEnv.staticSlot("test"); - aEnv.access().setProperty("aaf_public_dir", "test"); - aEnv.access().setProperty(Config.AAF_COMPONENT, "aaf_com:1.1"); - Server serverMock = mock(Server.class); - JettyServiceStarter jssMock = mock(JettyServiceStarter.class); - aafFs = new AAF_FS(aEnv); - aEnv.access().setProperty(Config.AAF_LOCATE_URL, "aaf_loc:ate.url"); - aafFs = new AAF_FS(aEnv); - } - - @Test - public void testRegistrants() throws CadiException, LocatorException { - int port = 8008; - aEnv.access().setProperty(Config.AAF_URL, "www.google.com"); - aEnv.access().setProperty(Config.CADI_LATITUDE, "38.550674"); - aEnv.access().setProperty(Config.CADI_LONGITUDE, "-90.146942"); - aEnv.access().setProperty(Config.AAF_LOCATE_URL, "testLocateUrl"); - aEnv.access().setProperty(Config.HOSTNAME, "testHost"); - - // Doesn't work within Jenkins - // aafFs.registrants(port); - } - - @Test - public void testFilters() throws CadiException, LocatorException { - aafFs.filters(); - } - - @Test - public void testMain() { - System.setProperty("cadi_exitOnFailure", "false"); + AuthzEnv aEnv; + AAF_FS aafFs; + File fService; + File fEtc; + String value; + File d; + private static final String testDir = "src/test/resources/logs"; + private ByteArrayOutputStream outStream; + private ByteArrayOutputStream errStream; + + @Before + public void setUp() throws APIException, IOException, CadiException { + outStream = new ByteArrayOutputStream(); + errStream = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outStream)); + System.setErr(new PrintStream(errStream)); + value = System.setProperty(Config.CADI_LOGDIR, testDir); + System.setProperty(Config.CADI_ETCDIR, testDir); + System.out.println(ClassLoader.getSystemResource("org.osaaf.aaf.log4j.props")); + d = new File(testDir); + d.mkdirs(); + fService = new File(d + "/fs-serviceTEST.log"); + fService.createNewFile(); + fEtc = new File(d + "/org.osaaf.aaf.log4j.props"); + fEtc.createNewFile(); + + aEnv = new AuthzEnv(); + aEnv.staticSlot("test"); + aEnv.access().setProperty("aaf_public_dir", "test"); + aEnv.access().setProperty(Config.AAF_COMPONENT, "aaf_com:1.1"); + Server serverMock = mock(Server.class); + JettyServiceStarter jssMock = mock(JettyServiceStarter.class); + aafFs = new AAF_FS(aEnv); + aEnv.access().setProperty(Config.AAF_LOCATE_URL, "aaf_loc:ate.url"); + aafFs = new AAF_FS(aEnv); + } + + @Test + public void testRegistrants() throws CadiException, LocatorException { + int port = 8008; + aEnv.access().setProperty(Config.AAF_URL, "www.google.com"); + aEnv.access().setProperty(Config.CADI_LATITUDE, "38.550674"); + aEnv.access().setProperty(Config.CADI_LONGITUDE, "-90.146942"); + aEnv.access().setProperty(Config.AAF_LOCATE_URL, "testLocateUrl"); + aEnv.access().setProperty(Config.HOSTNAME, "testHost"); + + // Doesn't work within Jenkins + Registrant[] registrants = aafFs.registrants(port); + assertNotNull(registrants); + } + + @Test + public void testFilters() throws CadiException, LocatorException { + aafFs.filters(); + } + + @Test + public void testMain() { + System.setProperty("cadi_exitOnFailure", "false"); + + String[] strArr = { "aaf_component=aaf_com:po.nent" }; + try { + AAF_FS.main(strArr); // Timeout caused in Jenkins but not in local + } catch (Exception e) { + // Failure expected until we understand how code is. + } + } - String[] strArr = {"aaf_component=aaf_com:po.nent"}; - try { - //AAF_FS.main(strArr); //Timeout caused in Jenkins but not in local - } catch (Exception e) { - //Failure expected until we understand how code is. - } - } - - @After - public void cleanUp() { - for (File f : d.listFiles()) { - f.delete(); - } - d.delete(); - System.setErr(System.err); - System.setOut(System.out); - } + @After + public void cleanUp() { + for (File f : d.listFiles()) { + f.delete(); + } + d.delete(); + System.setErr(System.err); + System.setOut(System.out); + } } -- 2.16.6