summaryrefslogtreecommitdiffstats
path: root/aaf
diff options
context:
space:
mode:
Diffstat (limited to 'aaf')
-rw-r--r--aaf/pom.xml137
-rw-r--r--aaf/src/test/java/com/onap/aaf/cadi/aaf/AAFPermissionTest.java80
2 files changed, 170 insertions, 47 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));
+
+ }
+
+}