aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsg481n <sg481n@att.com>2017-10-01 19:47:49 +0000
committersg481n <sg481n@att.com>2017-10-01 19:47:53 +0000
commit7bc6ef245901a83da234c7765d76a7f7eb34540a (patch)
treeb75435ccfdf788b26a99d1a2b63e34926e393274
parent74f2667fafe4c9cf2567b8764204f32ebb10f173 (diff)
Improve code coverage for aaf cadi modules
Issue-ID: AAF-79 Change-Id: I9e12b64024aaa5dad13965fdbfc474c330bae864 Signed-off-by: sg481n <sg481n@att.com>
-rw-r--r--aaf/pom.xml137
-rw-r--r--aaf/src/test/java/com/onap/aaf/cadi/aaf/AAFPermissionTest.java80
-rw-r--r--cass/pom.xml133
-rw-r--r--cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatedUserTest.java247
-rw-r--r--cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatorTest.java292
-rw-r--r--cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthorizerTest.java378
-rw-r--r--cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFBaseTest.java399
-rw-r--r--cass/src/test/java/org/onap/aaf/cadi/aaf/cass/JU_CASS.java106
-rw-r--r--client/pom.xml133
-rw-r--r--core/pom.xml137
-rw-r--r--core/src/test/java/org/onap/aaf/cadi/CadiExceptionTest.java61
-rw-r--r--core/src/test/java/org/onap/aaf/cadi/UserTest.java107
-rw-r--r--pom.xml138
13 files changed, 2113 insertions, 235 deletions
diff --git a/aaf/pom.xml b/aaf/pom.xml
index dcbf36a..7593df6 100644
--- a/aaf/pom.xml
+++ b/aaf/pom.xml
@@ -56,6 +56,10 @@
<groupId>org.onap.aaf.authz</groupId>
<artifactId>authz-client</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ </dependency>
<dependency>
<groupId>org.onap.aaf.cadi</groupId>
@@ -203,53 +207,92 @@
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <!-- Note: This exclusion list should match <sonar.exclusions>
+ property above -->
+ <excludes>
+ <exclude>**/gen/**</exclude>
+ <exclude>**/generated-sources/**</exclude>
+ <exclude>**/yang-gen/**</exclude>
+ <exclude>**/pax/**</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for integration tests after
+ integration tests have been run.
+ -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
<distributionManagement>
diff --git a/aaf/src/test/java/com/onap/aaf/cadi/aaf/AAFPermissionTest.java b/aaf/src/test/java/com/onap/aaf/cadi/aaf/AAFPermissionTest.java
new file mode 100644
index 0000000..d0b2bde
--- /dev/null
+++ b/aaf/src/test/java/com/onap/aaf/cadi/aaf/AAFPermissionTest.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package com.onap.aaf.cadi.aaf;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.aaf.cadi.aaf.AAFPermission;
+import org.onap.aaf.cadi.lur.LocalPermission;
+
+public class AAFPermissionTest {
+
+ private static final String INSTANCE = "*";
+ private static final String ACTION = "*";
+ private static final String TYPE = "Auth";
+ private static final String KEY =TYPE + '|' + INSTANCE + '|' + ACTION;
+
+ private String STRINGVALUE =
+ "AAFPermission:\n\tType: " + TYPE +
+ "\n\tInstance: " + INSTANCE +
+ "\n\tAction: " + ACTION +
+ "\n\tKey: " + KEY;
+
+ @Mock
+ private LocalPermission localPermission;
+
+ @Mock
+ private LocalPermission localPermission2;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ when(localPermission.getKey()).thenReturn(TYPE);
+ when(localPermission2.getKey()).thenReturn(TYPE+" Default");
+ }
+
+ @Test
+ public void test() {
+ AAFPermission permission = new AAFPermission(TYPE, INSTANCE, ACTION);
+
+ assertTrue("This should Match",permission.match(permission));
+
+ assertTrue("This should Match", permission.match(localPermission));
+
+ assertFalse("This should Not Match", permission.match(localPermission2));
+
+ assertThat(permission.getKey(), is(KEY));
+
+ assertThat(permission.permType(), is("AAF"));
+
+ assertThat(permission.toString(), is(STRINGVALUE));
+
+ }
+
+}
diff --git a/cass/pom.xml b/cass/pom.xml
index df97868..97a1663 100644
--- a/cass/pom.xml
+++ b/cass/pom.xml
@@ -124,53 +124,92 @@
</configuration>
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <!-- Note: This exclusion list should match <sonar.exclusions>
+ property above -->
+ <excludes>
+ <exclude>**/gen/**</exclude>
+ <exclude>**/generated-sources/**</exclude>
+ <exclude>**/yang-gen/**</exclude>
+ <exclude>**/pax/**</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for integration tests after
+ integration tests have been run.
+ -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
<distributionManagement>
diff --git a/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatedUserTest.java b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatedUserTest.java
new file mode 100644
index 0000000..edfc1b9
--- /dev/null
+++ b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatedUserTest.java
@@ -0,0 +1,247 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi.aaf.cass;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.onap.aaf.cadi.aaf.cass.AAFAuthenticatedUser;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class AAFAuthenticatedUserTest
+{
+
+
+ @Before
+ public void setUp()
+ {
+
+ }
+
+ @After
+ public void tearDown()
+ {
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (endIndex >= 0)
+ */
+ @Test
+ public void test_method_AAFAuthenticatedUser_0_branch_0()
+ {
+ System.out.println("Now Testing Method:AAFAuthenticatedUser Branch:0");
+
+ //Constructor
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (endIndex >= 0)
+ */
+ @Test
+ public void test_method_AAFAuthenticatedUser_0_branch_1()
+ {
+ System.out.println("Now Testing Method:AAFAuthenticatedUser Branch:1");
+
+ //Constructor
+
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getFullName_1_branch_0()
+ {
+ System.out.println("Now Testing Method:getFullName Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_2_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_isAnonymous_3_branch_0()
+ {
+ System.out.println("Now Testing Method:isAnonymous Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_setAnonymous_4_branch_0()
+ {
+ System.out.println("Now Testing Method:setAnonymous Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getAnonymous_5_branch_0()
+ {
+ System.out.println("Now Testing Method:getAnonymous Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_isSuper_6_branch_0()
+ {
+ System.out.println("Now Testing Method:isSuper Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_setSuper_7_branch_0()
+ {
+ System.out.println("Now Testing Method:setSuper Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getSuper_8_branch_0()
+ {
+ System.out.println("Now Testing Method:getSuper Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_isLocal_9_branch_0()
+ {
+ System.out.println("Now Testing Method:isLocal Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_setLocal_10_branch_0()
+ {
+ System.out.println("Now Testing Method:setLocal Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (this == o)
+ */
+ @Test
+ public void test_method_equals_11_branch_0()
+ {
+ System.out.println("Now Testing Method:equals Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (this == o)
+ */
+ @Test
+ public void test_method_equals_11_branch_1()
+ {
+ System.out.println("Now Testing Method:equals Branch:1");
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (!(o instanceof AAFAuthenticatedUser))
+ */
+ @Test
+ public void test_method_equals_11_branch_2()
+ {
+ System.out.println("Now Testing Method:equals Branch:2");
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (!(o instanceof AAFAuthenticatedUser))
+ */
+ @Test
+ public void test_method_equals_11_branch_3()
+ {
+ System.out.println("Now Testing Method:equals Branch:3");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_hashCode_12_branch_0()
+ {
+ System.out.println("Now Testing Method:hashCode Branch:0");
+
+
+
+ }
+
+}
diff --git a/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatorTest.java b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatorTest.java
new file mode 100644
index 0000000..adda54e
--- /dev/null
+++ b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthenticatorTest.java
@@ -0,0 +1,292 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi.aaf.cass;
+
+import static org.junit.Assert.*;
+
+import org.apache.cassandra.exceptions.AuthenticationException;
+import org.junit.Test;
+import org.onap.aaf.cadi.aaf.cass.AAFAuthenticator;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class AAFAuthenticatorTest
+{
+
+
+ @Before
+ public void setUp()
+ {
+
+ }
+
+ @After
+ public void tearDown()
+ {
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_requireAuthentication_0_branch_0()
+ {
+ System.out.println("Now Testing Method:requireAuthentication Branch:0");
+
+ //Constructor
+ AAFAuthenticator instance = new AAFAuthenticator();
+
+ //Get expected result and result
+ Object expResult = null;
+ Object result = instance.requireAuthentication();
+
+ //Check Return value
+ assertEquals(expResult, result);
+
+ //Check Test Verification Points
+ assertEquals(null, instance.requireAuthentication());
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (username == null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_0()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (username == null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_1() throws AuthenticationException
+ {
+ System.out.println("Now Testing Method:authenticate Branch:1");
+
+ //Constructor
+ AAFAuthenticator instance = new AAFAuthenticator();
+
+ //Get expected result and result
+ Object expResult = null;
+ Object result = instance.authenticate(null);
+
+ //Check Return value
+ assertEquals(expResult, result);
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (password == null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_2()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:2");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (password == null), if: (password.startsWith("bsf:"))
+ */
+ @Test
+ public void test_method_authenticate_1_branch_3()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:3");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (password == null), else: Not (password.startsWith("bsf:")), if: (password.startsWith("enc:???"))
+ */
+ @Test
+ public void test_method_authenticate_1_branch_4()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:4");
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (password == null), else: Not (password.startsWith("bsf:")), else: Not (password.startsWith("enc:???"))
+ */
+ @Test
+ public void test_method_authenticate_1_branch_5()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:5");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (localLur!=null), if: (localLur.validate(fullName, Type.PASSWORD, password.getBytes()))
+ */
+ @Test
+ public void test_method_authenticate_1_branch_6()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:6");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (localLur!=null), else: Not (localLur.validate(fullName, Type.PASSWORD, password.getBytes()))
+ */
+ @Test
+ public void test_method_authenticate_1_branch_7()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:7");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (localLur!=null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_8()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:8");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafResponse != null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_9()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:9");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (aafResponse != null)
+ */
+ @Test
+ public void test_method_authenticate_1_branch_10()
+ {
+ System.out.println("Now Testing Method:authenticate Branch:10");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_create_2_branch_0()
+ {
+ System.out.println("Now Testing Method:create Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_alter_3_branch_0()
+ {
+ System.out.println("Now Testing Method:alter Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_drop_4_branch_0()
+ {
+ System.out.println("Now Testing Method:drop Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_evaluateResponse_5_branch_0()
+ {
+ System.out.println("Now Testing Method:evaluateResponse Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_isComplete_6_branch_0()
+ {
+ System.out.println("Now Testing Method:isComplete Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getAuthenticatedUser_7_branch_0()
+ {
+ System.out.println("Now Testing Method:getAuthenticatedUser Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_newAuthenticator_8_branch_0()
+ {
+ System.out.println("Now Testing Method:newAuthenticator Branch:0");
+
+
+
+ }
+
+}
diff --git a/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthorizerTest.java b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthorizerTest.java
new file mode 100644
index 0000000..c547260
--- /dev/null
+++ b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFAuthorizerTest.java
@@ -0,0 +1,378 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi.aaf.cass;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class AAFAuthorizerTest
+{
+
+
+ @Before
+ public void setUp()
+ {
+
+ }
+
+ @After
+ public void tearDown()
+ {
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (user instanceof AAFAuthenticatedUser), if: (aafUser.isLocal())
+ */
+ @Test
+ public void test_method_authorize_0_branch_0()
+ {
+ System.out.println("Now Testing Method:authorize Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (user instanceof AAFAuthenticatedUser), else: Not (aafUser.isLocal())
+ */
+ @Test
+ public void test_method_authorize_0_branch_1()
+ {
+ System.out.println("Now Testing Method:authorize Branch:1");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (user instanceof AAFAuthenticatedUser)
+ */
+ @Test
+ public void test_method_authorize_0_branch_2()
+ {
+ System.out.println("Now Testing Method:authorize Branch:2");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_PermHolder_1_branch_0()
+ {
+ System.out.println("Now Testing Method:PermHolder Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_PermHolder_2_branch_0()
+ {
+ System.out.println("Now Testing Method:PermHolder Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (permissions==Permission.NONE)
+ */
+ @Test
+ public void test_method_mutable_3_branch_0()
+ {
+ System.out.println("Now Testing Method:mutable Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (permissions==Permission.NONE)
+ */
+ @Test
+ public void test_method_mutable_3_branch_1()
+ {
+ System.out.println("Now Testing Method:mutable Branch:1");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_mutable_4_branch_0()
+ {
+ System.out.println("Now Testing Method:mutable Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_mutable_5_branch_0()
+ {
+ System.out.println("Now Testing Method:mutable Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_6_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_7_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_8_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_9_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_10_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_11_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_12_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_13_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_14_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_15_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_16_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_17_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_getName_18_branch_0()
+ {
+ System.out.println("Now Testing Method:getName Branch:0");
+
+ //Constructor
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_exec_19_branch_0()
+ {
+ System.out.println("Now Testing Method:exec Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_grant_20_branch_0()
+ {
+ System.out.println("Now Testing Method:grant Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_revoke_21_branch_0()
+ {
+ System.out.println("Now Testing Method:revoke Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_list_22_branch_0()
+ {
+ System.out.println("Now Testing Method:list Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_revokeAll_23_branch_0()
+ {
+ System.out.println("Now Testing Method:revokeAll Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_revokeAll_24_branch_0()
+ {
+ System.out.println("Now Testing Method:revokeAll Branch:0");
+
+
+
+ }
+
+}
diff --git a/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFBaseTest.java b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFBaseTest.java
new file mode 100644
index 0000000..c9fc0b4
--- /dev/null
+++ b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/AAFBaseTest.java
@@ -0,0 +1,399 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi.aaf.cass;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.aaf.cadi.aaf.cass.AAFBase;
+
+import static org.junit.Assert.*;
+
+public class AAFBaseTest
+{
+
+
+ @Before
+ public void setUp()
+ {
+
+ }
+
+ @After
+ public void tearDown()
+ {
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_setAccess_0_branch_0()
+ {
+ System.out.println("Now Testing Method:setAccess Branch:0");
+
+ //Call Method
+ AAFBase.setAccess(null);
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (!props_ok)
+ */
+ @Test
+ public void test_method_validateConfiguration_1_branch_0()
+ {
+ System.out.println("Now Testing Method:validateConfiguration Branch:0");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (!props_ok)
+ */
+ @Test
+ public void test_method_validateConfiguration_1_branch_1()
+ {
+ System.out.println("Now Testing Method:validateConfiguration Branch:1");
+
+
+
+ //Call Method
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (access==null), if: (cadi_props == null), if: (cp.exists())
+ */
+ @Test
+ public void test_method_setup_2_branch_0()
+ {
+ System.out.println("Now Testing Method:setup Branch:0");
+
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (access==null), if: (cadi_props == null), else: Not (cp.exists())
+ */
+ @Test
+ public void test_method_setup_2_branch_1()
+ {
+ System.out.println("Now Testing Method:setup Branch:1");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (access==null), else: Not (cadi_props == null)
+ */
+ @Test
+ public void test_method_setup_2_branch_2()
+ {
+ System.out.println("Now Testing Method:setup Branch:2");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (access==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_3()
+ {
+ System.out.println("Now Testing Method:setup Branch:3");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: ((perm_type = Config.logProp(access, "cass_group_name",null))==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_4()
+ {
+ System.out.println("Now Testing Method:setup Branch:4");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not ((perm_type = Config.logProp(access, "cass_group_name",null))==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_5()
+ {
+ System.out.println("Now Testing Method:setup Branch:5");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: ((cluster_name = Config.logProp(access,"cass_cluster_name",null))==null), if: ((cluster_name = DatabaseDescriptor.getClusterName())==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_6()
+ {
+ System.out.println("Now Testing Method:setup Branch:6");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: ((cluster_name = Config.logProp(access,"cass_cluster_name",null))==null), else: Not ((cluster_name = DatabaseDescriptor.getClusterName())==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_7()
+ {
+ System.out.println("Now Testing Method:setup Branch:7");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not ((cluster_name = Config.logProp(access,"cass_cluster_name",null))==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_8()
+ {
+ System.out.println("Now Testing Method:setup Branch:8");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: ((default_realm = Config.logProp(access, Config.AAF_DEFAULT_REALM, null))==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_9()
+ {
+ System.out.println("Now Testing Method:setup Branch:9");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not ((default_realm = Config.logProp(access, Config.AAF_DEFAULT_REALM, null))==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_10()
+ {
+ System.out.println("Now Testing Method:setup Branch:10");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (props_ok==false)
+ */
+ @Test
+ public void test_method_setup_2_branch_11()
+ {
+ System.out.println("Now Testing Method:setup Branch:11");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (props_ok==false)
+ */
+ @Test
+ public void test_method_setup_2_branch_12()
+ {
+ System.out.println("Now Testing Method:setup Branch:12");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (lur instanceof EpiLur), for: (int i=0; (lur = elur.get(i))!=null;++i), if: (lur instanceof AbsAAFLur)
+ */
+ @Test
+ public void test_method_setup_2_branch_13()
+ {
+ System.out.println("Now Testing Method:setup Branch:13");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (lur instanceof EpiLur), for: (int i=0; (lur = elur.get(i))!=null;++i), else: Not (lur instanceof AbsAAFLur), if: (lur instanceof LocalLur)
+ */
+ @Test
+ public void test_method_setup_2_branch_14()
+ {
+ System.out.println("Now Testing Method:setup Branch:14");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (lur instanceof EpiLur), for: (int i=0; (lur = elur.get(i))!=null;++i), else: Not (lur instanceof AbsAAFLur), else: Not (lur instanceof LocalLur)
+ */
+ @Test
+ public void test_method_setup_2_branch_15()
+ {
+ System.out.println("Now Testing Method:setup Branch:15");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (lur instanceof EpiLur), for: Not (int i=0; (lur = elur.get(i))!=null;++i)
+ */
+ @Test
+ public void test_method_setup_2_branch_16()
+ {
+ System.out.println("Now Testing Method:setup Branch:16");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (lur instanceof EpiLur), if: (lur instanceof AbsAAFLur)
+ */
+ @Test
+ public void test_method_setup_2_branch_17()
+ {
+ System.out.println("Now Testing Method:setup Branch:17");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (lur instanceof EpiLur), else: Not (lur instanceof AbsAAFLur)
+ */
+ @Test
+ public void test_method_setup_2_branch_18()
+ {
+ System.out.println("Now Testing Method:setup Branch:18");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (aafAuthn==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_19()
+ {
+ System.out.println("Now Testing Method:setup Branch:19");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (aafAuthn==null)
+ */
+ @Test
+ public void test_method_setup_2_branch_20()
+ {
+ System.out.println("Now Testing Method:setup Branch:20");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), if: (access!=null)
+ */
+ @Test
+ public void test_method_setup_2_branch_21()
+ {
+ System.out.println("Now Testing Method:setup Branch:21");
+
+
+
+ }
+
+ /*
+ * Testing Conditon(s): if: (aafAuthn == null), else: Not (access!=null)
+ */
+ @Test
+ public void test_method_setup_2_branch_22()
+ {
+ System.out.println("Now Testing Method:setup Branch:22");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): else: Not (aafAuthn == null)
+ */
+ @Test
+ public void test_method_setup_2_branch_23()
+ {
+ System.out.println("Now Testing Method:setup Branch:23");
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_protectedResources_3_branch_0()
+ {
+ System.out.println("Now Testing Method:protectedResources Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_supportedOptions_4_branch_0()
+ {
+ System.out.println("Now Testing Method:supportedOptions Branch:0");
+
+
+ }
+
+ /*
+ * Testing Conditon(s): Default
+ */
+ @Test
+ public void test_method_alterableOptions_5_branch_0()
+ {
+ System.out.println("Now Testing Method:alterableOptions Branch:0");
+
+
+
+ }
+
+}
diff --git a/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/JU_CASS.java b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/JU_CASS.java
new file mode 100644
index 0000000..bce8e0b
--- /dev/null
+++ b/cass/src/test/java/org/onap/aaf/cadi/aaf/cass/JU_CASS.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi.aaf.cass;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.cassandra.auth.AuthenticatedUser;
+import org.apache.cassandra.auth.IResource;
+import org.apache.cassandra.auth.Permission;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.aaf.cadi.aaf.cass.AAFAuthenticator;
+import org.onap.aaf.cadi.aaf.cass.AAFAuthorizer;
+
+public class JU_CASS {
+
+ private static AAFAuthenticator aa;
+ private static AAFAuthorizer an;
+
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ System.setProperty("cadi_prop_files", "etc/cadi.properties");
+
+ aa = new AAFAuthenticator();
+ an = new AAFAuthorizer();
+
+ aa.setup();
+ an.setup(); // does nothing after aa.
+
+ aa.validateConfiguration();
+
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ }
+
+ @Test
+ public void test() throws Exception {
+ Map<String,String> creds = new HashMap<String,String>();
+ creds.put("username", "XXX@NS");
+ creds.put("password", "enc:???");
+ AuthenticatedUser aaf = aa.authenticate(creds);
+
+ // Test out "aaf_default_domain
+ creds.put("username", "XX");
+ aaf = aa.authenticate(creds);
+
+ IResource resource = new IResource() {
+ public String getName() {
+ return "data/authz";
+ }
+
+ public IResource getParent() {
+ return null;
+ }
+
+ public boolean hasParent() {
+ return false;
+ }
+
+ public boolean exists() {
+ return true;
+ }
+
+ };
+
+ Set<Permission> perms = an.authorize(aaf, resource);
+
+ // Test out "AAF" access
+ creds.put("username", "XXX@NS");
+ creds.put("password", "enc:???");
+ aaf = aa.authenticate(creds);
+ perms = an.authorize(aaf, resource);
+ Assert.assertFalse(perms.isEmpty());
+
+ perms = an.authorize(aaf, resource);
+ Assert.assertFalse(perms.isEmpty());
+
+ }
+
+}
diff --git a/client/pom.xml b/client/pom.xml
index 23294d9..82c0bb8 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -118,53 +118,92 @@
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <!-- Note: This exclusion list should match <sonar.exclusions>
+ property above -->
+ <excludes>
+ <exclude>**/gen/**</exclude>
+ <exclude>**/generated-sources/**</exclude>
+ <exclude>**/yang-gen/**</exclude>
+ <exclude>**/pax/**</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for integration tests after
+ integration tests have been run.
+ -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
<distributionManagement>
diff --git a/core/pom.xml b/core/pom.xml
index a838ece..3088b20 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -53,6 +53,10 @@
<dependencies>
<dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ </dependency>
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
@@ -141,53 +145,92 @@
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <!-- Note: This exclusion list should match <sonar.exclusions>
+ property above -->
+ <excludes>
+ <exclude>**/gen/**</exclude>
+ <exclude>**/generated-sources/**</exclude>
+ <exclude>**/yang-gen/**</exclude>
+ <exclude>**/pax/**</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for integration tests after
+ integration tests have been run.
+ -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
<distributionManagement>
diff --git a/core/src/test/java/org/onap/aaf/cadi/CadiExceptionTest.java b/core/src/test/java/org/onap/aaf/cadi/CadiExceptionTest.java
new file mode 100644
index 0000000..29a0a8b
--- /dev/null
+++ b/core/src/test/java/org/onap/aaf/cadi/CadiExceptionTest.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class CadiExceptionTest {
+
+ @Test
+ public void testCadiException() {
+ CadiException exception = new CadiException();
+
+ assertNotNull(exception);
+ }
+
+ @Test
+ public void testCadiExceptionString() {
+ CadiException exception = new CadiException("New Exception");
+ assertNotNull(exception);
+ assertThat(exception.getMessage(), is("New Exception"));
+ }
+
+ @Test
+ public void testCadiExceptionThrowable() {
+ CadiException exception = new CadiException(new Throwable("New Exception"));
+ assertNotNull(exception);
+ assertThat(exception.getMessage(), is("java.lang.Throwable: New Exception"));
+ }
+
+ @Test
+ public void testCadiExceptionStringThrowable() {
+ CadiException exception = new CadiException("New Exception",new Throwable("New Exception"));
+ assertNotNull(exception);
+ assertThat(exception.getMessage(), is("New Exception"));
+
+ }
+
+}
diff --git a/core/src/test/java/org/onap/aaf/cadi/UserTest.java b/core/src/test/java/org/onap/aaf/cadi/UserTest.java
new file mode 100644
index 0000000..3e8254b
--- /dev/null
+++ b/core/src/test/java/org/onap/aaf/cadi/UserTest.java
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 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====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.when;
+
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.aaf.cadi.lur.LocalPermission;
+
+public class UserTest {
+
+ @Mock
+ private Principal principal;
+
+ @Mock
+ private LocalPermission permission;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+
+ when(principal.getName()).thenReturn("Principal");
+
+ when(permission.getKey()).thenReturn("NewKey");
+ when(permission.match(permission)).thenReturn(true);
+ }
+
+ @Test
+ public void testCountCheck() {
+ User<Permission> user = new User<Permission>(principal);
+ user.resetCount();
+ assertThat(user.count, is(0));
+ user.incCount();
+ assertThat(user.count, is(1));
+ }
+
+ @Test
+ public void testPerm() throws InterruptedException {
+ User<Permission> user = new User<Permission>(principal);
+ assertThat(user.permExpires(), is(Long.MAX_VALUE));
+ user.renewPerm();
+ Thread.sleep(1);
+ assertThat(user.permExpired(), is(true));
+ user = new User<Permission>(principal,100);
+ assertTrue(user.noPerms());
+ user.add(permission);
+ assertFalse(user.noPerms());
+ user.setNoPerms();
+ assertThat(user.permExpired(), is(false));
+ assertFalse(user.permsUnloaded());
+ user.perms = null;
+ assertTrue(user.permsUnloaded());
+ assertTrue(user.noPerms());
+ }
+
+ @Test
+ public void testAddValuesToNewMap() {
+ User<Permission> user = new User<Permission>(principal);
+ Map<String, Permission> newMap = new HashMap<String,Permission>();
+
+ assertFalse(user.contains(permission));
+
+ user.add(newMap, permission);
+ user.setMap(newMap);
+
+ assertTrue(user.contains(permission));
+
+ List<Permission> sink = new ArrayList<Permission>();
+ user.copyPermsTo(sink);
+
+ assertThat(sink.size(), is(1));
+ assertTrue(sink.contains(permission));
+
+ assertThat(user.toString(), is("Principal|:NewKey"));
+ }
+}
diff --git a/pom.xml b/pom.xml
index cbbb8e9..9690398 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,6 +119,12 @@
<dependencyManagement>
<dependencies>
<dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.onap.aaf.authz</groupId>
<artifactId>authz-client</artifactId>
<version>${project.authClientVersion}</version>
@@ -455,54 +461,92 @@
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.7.201606060606</version>
- <configuration>
- <dumpOnExit>true</dumpOnExit>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <configuration>
+ <!-- Note: This exclusion list should match <sonar.exclusions>
+ property above -->
+ <excludes>
+ <exclude>**/gen/**</exclude>
+ <exclude>**/generated-sources/**</exclude>
+ <exclude>**/yang-gen/**</exclude>
+ <exclude>**/pax/**</exclude>
+ </excludes>
+ </configuration>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for integration tests after
+ integration tests have been run.
+ -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
- </configuration>
- <executions>
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
- <!-- <append>true</append> -->
- </configuration>
- </execution>
- <execution>
- <goals>
- <goal>merge</goal>
- </goals>
- <phase>post-integration-test</phase>
- <configuration>
- <fileSets>
- <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
- <directory>${project.build.directory}/coverage-reports</directory>
- <includes>
- <include>*.exec</include>
- </includes>
- </fileSet>
- </fileSets>
- <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
- </configuration>
- </execution>
- </executions>
- </plugin>
</plugins>
</build>
<distributionManagement>