summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSunil Unnava <su622b@att.com>2018-02-28 14:21:40 -0500
committerSunil Unnava <su622b@att.com>2018-02-28 14:26:14 -0500
commitfbe26a20e749c3177f84cd05c67e757ac107b9a8 (patch)
tree6d452c8b04e67d9d85312b964d19d396f79cbbf0
parent0d2012df4ac79e41371fba15241c5efcb327a7ad (diff)
changes for code coverage
Issue-ID: DMAAP-271 Change-Id: Ib8fd245fdbe9ef3457e8303c5379977b237ec09a Signed-off-by: Sunil Unnava <su622b@att.com>
-rw-r--r--pom.xml615
-rw-r--r--src/main/java/com/att/nsa/dmaap/service/EventsRestService.java116
-rw-r--r--src/main/java/com/att/nsa/dmaap/service/MMRestService.java96
-rw-r--r--src/main/java/com/att/nsa/dmaap/service/TopicRestService.java662
-rw-r--r--src/main/java/com/att/nsa/dmaap/service/TransactionRestService.java43
-rw-r--r--src/test/java/com/att/nsa/dmaap/service/EventsRestServiceTest.java216
-rw-r--r--src/test/java/com/att/nsa/dmaap/service/MMRestServiceTest.java45
-rw-r--r--src/test/java/com/att/nsa/dmaap/service/TopicRestServiceTest.java411
-rw-r--r--src/test/java/com/att/nsa/dmaap/service/TransactionRestServiceTest.java40
9 files changed, 1406 insertions, 838 deletions
diff --git a/pom.xml b/pom.xml
index ce24164..6be8e51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,24 +1,14 @@
-<!--
- ============LICENSE_START=======================================================
- org.onap.dmaap
- ================================================================================
- 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.
-
- -->
+<!-- ============LICENSE_START=======================================================
+ org.onap.dmaap ================================================================================
+ 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. -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -28,36 +18,36 @@
<artifactId>oparent</artifactId>
<version>0.1.1</version>
</parent>
-
+
<groupId>org.onap.dmaap.messagerouter.messageservice</groupId>
<artifactId>dmaapMR1</artifactId>
<version>1.1.3-SNAPSHOT</version>
<name>dmaap-messagerouter-messageservice</name>
<description>Message Router - Restful interface built for kafka</description>
- <licenses>
- <license>
- <name>Apache License Version 2.0</name>
- </license>
+ <licenses>
+ <license>
+ <name>Apache License Version 2.0</name>
+ </license>
</licenses>
<developers>
- <developer>
- <name>Rajashree</name>
- <email></email>
- <organization>ATT</organization>
- <organizationUrl>www.att.com</organizationUrl>
- </developer>
- <developer>
- <name>Ramkumar</name>
- <email></email>
- <organization>ATT</organization>
- <organizationUrl>www.att.com</organizationUrl>
- </developer>
- </developers>
-
+ <developer>
+ <name>Rajashree</name>
+ <email></email>
+ <organization>ATT</organization>
+ <organizationUrl>www.att.com</organizationUrl>
+ </developer>
+ <developer>
+ <name>Ramkumar</name>
+ <email></email>
+ <organization>ATT</organization>
+ <organizationUrl>www.att.com</organizationUrl>
+ </developer>
+ </developers>
+
<build>
<plugins>
- <plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.6</version>
@@ -69,29 +59,17 @@
</dependency>
</dependencies>
</plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
-
- <!-- <plugin>
+
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <configuration>
- <additionalparam>-Xdoclint:none</additionalparam>
- </configuration>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin> -->
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+
+ <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.10.4</version> <configuration> <additionalparam>-Xdoclint:none</additionalparam>
+ </configuration> <executions> <execution> <id>attach-javadocs</id> <goals>
+ <goal>jar</goal> </goals> </execution> </executions> </plugin> -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
@@ -104,7 +82,7 @@
</goals>
</execution>
</executions>
- </plugin>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
@@ -129,89 +107,89 @@
<version>1.0.0</version>
<configuration>
<imageName>onap/dmaap/dmaap-mr</imageName>
- <dockerDirectory>${dockerLocation}</dockerDirectory>
+ <dockerDirectory>${dockerLocation}</dockerDirectory>
<serverId>docker-hub</serverId>
<imageTags>
<imageTag>${dmaapImg}</imageTag>
<imageTag>latest</imageTag>
</imageTags>
<forceTags>true</forceTags>
- <resources>
- <resource>
- <targetPath>/</targetPath>
- <directory>${dockerLocation}</directory>
- <include>${project.build.finalName}.jar</include>
- </resource>
- <resource>
- <targetPath>/</targetPath>
- <directory>${project.build.directory}</directory>
- <include>**/**</include>
- </resource>
- </resources>
- </configuration>
+ <resources>
+ <resource>
+ <targetPath>/</targetPath>
+ <directory>${dockerLocation}</directory>
+ <include>${project.build.finalName}.jar</include>
+ </resource>
+ <resource>
+ <targetPath>/</targetPath>
+ <directory>${project.build.directory}</directory>
+ <include>**/**</include>
+ </resource>
+ </resources>
+ </configuration>
<executions>
- <execution>
- <id>build-image</id>
- <phase>package</phase>
- <goals>
- <goal>build</goal>
- </goals>
- <configuration>
- <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
- </configuration>
- </execution>
+ <execution>
+ <id>build-image</id>
+ <phase>package</phase>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ <configuration>
+ <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
+ </configuration>
+ </execution>
- <execution>
- <id>tag-image-project-version</id>
- <phase>package</phase>
- <goals>
- <goal>tag</goal>
- </goals>
- <configuration>
- <image>onap/dmaap/dmaap-mr</image>
- <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</newName>
- <skipDockerTag>${skip.docker.push}</skipDockerTag>
- </configuration>
- </execution>
-
- <execution>
- <id>tag-image-latest</id>
- <phase>package</phase>
- <goals>
- <goal>tag</goal>
- </goals>
- <configuration>
- <image>onap/dmaap/dmaap-mr</image>
- <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</newName>
- <skipDockerTag>${skip.docker.push}</skipDockerTag>
- </configuration>
- </execution>
-
- <execution>
- <id>push-image-latest</id>
- <phase>deploy</phase>
- <goals>
- <goal>push</goal>
- </goals>
- <configuration>
- <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</imageName>
- <skipDockerPush>${skip.docker.push}</skipDockerPush>
- </configuration>
- </execution>
-
- <execution>
- <id>push-image</id>
- <phase>deploy</phase>
- <goals>
- <goal>push</goal>
- </goals>
- <configuration>
- <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</imageName>
- <skipDockerPush>${skip.docker.push}</skipDockerPush>
- </configuration>
- </execution>
+ <execution>
+ <id>tag-image-project-version</id>
+ <phase>package</phase>
+ <goals>
+ <goal>tag</goal>
+ </goals>
+ <configuration>
+ <image>onap/dmaap/dmaap-mr</image>
+ <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</newName>
+ <skipDockerTag>${skip.docker.push}</skipDockerTag>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>tag-image-latest</id>
+ <phase>package</phase>
+ <goals>
+ <goal>tag</goal>
+ </goals>
+ <configuration>
+ <image>onap/dmaap/dmaap-mr</image>
+ <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</newName>
+ <skipDockerTag>${skip.docker.push}</skipDockerTag>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>push-image-latest</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</imageName>
+ <skipDockerPush>${skip.docker.push}</skipDockerPush>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>push-image</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>push</goal>
+ </goals>
+ <configuration>
+ <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</imageName>
+ <skipDockerPush>${skip.docker.push}</skipDockerPush>
+ </configuration>
+ </execution>
</executions>
- </plugin>
+ </plugin>
<plugin>
<groupId>com.blackducksoftware.integration</groupId>
<artifactId>hub-maven-plugin</artifactId>
@@ -230,7 +208,7 @@
</execution>
</executions>
</plugin>
-
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
@@ -260,7 +238,7 @@
<version>2.8.0-01</version>
<extensions>true</extensions>
</plugin>
-
+
</plugins>
</build>
@@ -296,14 +274,14 @@
8080 -->
<serverPort>3904</serverPort>
<sslport>3905</sslport>
-
+
<testRouteOffer>workstation</testRouteOffer>
<testEnv>DEV</testEnv>
<dmaapImg>${project.version}</dmaapImg>
<camel.version>2.15.5</camel.version>
<sitePath>/content/sites/site/org/onap/dmaap/messagerouter/messageservice/${project.artifactId}/${project.version}</sitePath>
<skip.docker.build>true</skip.docker.build>
- <skip.docker.push>true</skip.docker.push>
+ <skip.docker.push>true</skip.docker.push>
<nexusproxy>https://nexus.onap.org</nexusproxy>
<docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
</properties>
@@ -339,19 +317,21 @@
<!-- cmn-CommonDataModel dependency added to resolve build issue not finding
version 100.0.64 -->
-
- <!-- <dependency>
- <groupId>csi-schemas-source</groupId>
- <artifactId>cmn-CommonDataModel</artifactId>
- <version>112.0.50</version>
- </dependency> -->
- <!-- TODO: add open source version here -->
+
+ <!-- <dependency> <groupId>csi-schemas-source</groupId> <artifactId>cmn-CommonDataModel</artifactId>
+ <version>112.0.50</version> </dependency> -->
+ <!-- TODO: add open source version here -->
<dependency>
<groupId>com.att.cadi</groupId>
<artifactId>cadi-core</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
+ <groupId>com.att.aft</groupId>
+ <artifactId>dme2</artifactId>
+ <version>3.1.200-oss</version>
+ </dependency>
+ <dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
@@ -362,9 +342,9 @@
<version>1.3.2</version>
</dependency>
<dependency>
- <groupId>org.onap.dmaap.messagerouter.msgrtr</groupId>
- <artifactId>msgrtr</artifactId>
- <version>1.0.0</version>
+ <groupId>org.onap.dmaap.messagerouter.msgrtr</groupId>
+ <artifactId>msgrtr</artifactId>
+ <version>1.1.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -396,13 +376,30 @@
</exclusions>
</dependency>
-
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.10.19</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
+ <version>1.6.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-api-mockito</artifactId>
+ <version>1.6.4</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.13</version>
</dependency>
-
+
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
@@ -413,25 +410,25 @@
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
-
+
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.4.3</version>
</dependency>
-
+
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.3.3</version>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.3.3</version>
</dependency>
-
+
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- <scope>test</scope>
- </dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.json</groupId>
@@ -464,137 +461,137 @@
<!-- <scope>provided</scope> -->
</dependency>
<dependency>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-archetype-parent</artifactId>
- <version>1.0.0</version>
- <type>pom</type>
- </dependency>
-
- <dependency>
+ <groupId>com.att.ajsc</groupId>
+ <artifactId>ajsc-archetype-parent</artifactId>
+ <version>1.0.0</version>
+ <type>pom</type>
+ </dependency>
+
+ <dependency>
<groupId>com.att.cadi</groupId>
<artifactId>cadi-aaf</artifactId>
<version>1.3.0</version>
- </dependency>
-
- <dependency>
+ </dependency>
+
+ <dependency>
<groupId>com.att.inno</groupId>
<artifactId>rosetta</artifactId>
<version>1.2.11</version>
- </dependency>
- <dependency>
+ </dependency>
+ <dependency>
<groupId>com.att.inno</groupId>
<artifactId>env</artifactId>
<version>1.2.11</version>
- </dependency>
- <dependency>
+ </dependency>
+ <dependency>
<groupId>com.att.inno</groupId>
<artifactId>xgen</artifactId>
<version>1.2.11</version>
- </dependency>
- <dependency>
+ </dependency>
+ <dependency>
<groupId>com.att.inno</groupId>
<artifactId>rosetta</artifactId>
<version>1.2.11</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>backport-util-concurrent</groupId>
<artifactId>backport-util-concurrent</artifactId>
<version>3.1</version>
</dependency>
<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-quartz</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-spring</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-restlet</artifactId>
- <version>${camel.version}</version>
- <exclusions>
- <exclusion>
- <artifactId>org.restlet</artifactId>
- <groupId>org.restlet.jse</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-servlet</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-http4</artifactId>
- <version>${camel.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-servlet_2.5_spec</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-groovy</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-twitter</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-mail</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-smpp</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-jms</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-script</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-xmpp</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-velocity</artifactId>
- <version>${camel.version}</version>
- </dependency>
- <dependency>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-runner</artifactId>
- <version>1.0.0</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-core</artifactId>
- <version>1.0.0</version>
- <scope>provided</scope>
- </dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-quartz</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-spring</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-restlet</artifactId>
+ <version>${camel.version}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>org.restlet</artifactId>
+ <groupId>org.restlet.jse</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-servlet</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-http4</artifactId>
+ <version>${camel.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-servlet_2.5_spec</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-groovy</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-twitter</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-mail</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-smpp</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-jms</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-script</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xmpp</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-velocity</artifactId>
+ <version>${camel.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.att.ajsc</groupId>
+ <artifactId>ajsc-runner</artifactId>
+ <version>1.0.0</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.att.ajsc</groupId>
+ <artifactId>ajsc-core</artifactId>
+ <version>1.0.0</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<!-- <build> <resources> <resource> <directory>${basedir}/ajsc-shared-config/etc</directory>
</resource> </resources> </build> -->
@@ -602,17 +599,17 @@
<!-- Use this profile to run the AJSC locally. This profile can be successfully
shutdown WITHIN eclipse even in a Windows environment. Debugging is also
available with this profile. -->
- <profile>
- <id>docker</id>
- <properties>
-
- <skip.docker.build>false</skip.docker.build>
- <skip.docker.tag>false</skip.docker.tag>
- <skip.docker.push>false</skip.docker.push>
- </properties>
- </profile>
-
- <profile>
+ <profile>
+ <id>docker</id>
+ <properties>
+
+ <skip.docker.build>false</skip.docker.build>
+ <skip.docker.tag>false</skip.docker.tag>
+ <skip.docker.push>false</skip.docker.push>
+ </properties>
+ </profile>
+
+ <profile>
<id>runLocal</id>
<build>
<defaultGoal>initialize</defaultGoal>
@@ -637,7 +634,7 @@
</plugins>
</build>
</profile>
-
+
<profile>
<id>runAjsc</id>
<build>
@@ -807,7 +804,7 @@
<version>2.8.0-01</version>
<extensions>true</extensions>
</plugin>
-
+
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
@@ -1120,26 +1117,26 @@
</resources>
</configuration>
</execution>
- <execution>
- <id>copy-docker-file</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${dockerLocation}</outputDirectory>
- <overwrite>true</overwrite>
- <resources>
- <resource>
- <directory>${basedir}/src/main/resources/docker</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- </resources>
- </configuration>
- </execution>
+ <execution>
+ <id>copy-docker-file</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${dockerLocation}</outputDirectory>
+ <overwrite>true</overwrite>
+ <resources>
+ <resource>
+ <directory>${basedir}/src/main/resources/docker</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
</executions>
</plugin>
@@ -1222,5 +1219,5 @@
</build>
</profile>
</profiles>
-
+
</project>
diff --git a/src/main/java/com/att/nsa/dmaap/service/EventsRestService.java b/src/main/java/com/att/nsa/dmaap/service/EventsRestService.java
index cda431c..6fbfd01 100644
--- a/src/main/java/com/att/nsa/dmaap/service/EventsRestService.java
+++ b/src/main/java/com/att/nsa/dmaap/service/EventsRestService.java
@@ -56,9 +56,10 @@ import com.att.nsa.configs.ConfigDbException;
import com.att.nsa.drumlin.till.nv.rrNvReadable.missingReqdSetting;
import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
import com.att.nsa.cambria.exception.DMaaPAccessDeniedException;
+
/**
- * This class is a CXF REST service which acts
- * as gateway for MR Event Service.
+ * This class is a CXF REST service which acts as gateway for MR Event Service.
+ *
* @author author
*
*/
@@ -69,7 +70,8 @@ public class EventsRestService {
/**
* Logger obj
*/
- //private Logger log = Logger.getLogger(EventsRestService.class.toString());
+ // private Logger log =
+ // Logger.getLogger(EventsRestService.class.toString());
private static final EELFLogger log = EELFManager.getInstance().getLogger(EventsRestService.class);
/**
* HttpServletRequest obj
@@ -83,7 +85,6 @@ public class EventsRestService {
@Context
private HttpServletResponse response;
-
/**
* Config Reader
*/
@@ -97,6 +98,8 @@ public class EventsRestService {
@Autowired
private DMaaPErrorMessages errorMessages;
+ private DMaaPContext dmaapContext = new DMaaPContext();
+
/**
* This method is used to consume messages.Taking three parameter
* topic,consumerGroup and consumerId .Consumer decide to which topic they
@@ -118,50 +121,44 @@ public class EventsRestService {
*/
@GET
@Path("/{topic}/{consumergroup}/{consumerid}")
- public void getEvents(@PathParam("topic") String topic, @PathParam("consumergroup")
- String consumergroup,
+ public void getEvents(@PathParam("topic") String topic, @PathParam("consumergroup") String consumergroup,
@PathParam("consumerid") String consumerid) throws CambriaApiException {
// log.info("Consuming message from topic " + topic );
- DMaaPContext dMaaPContext = getDmaapContext();
- dMaaPContext.setConsumerRequestTime(Utils.getFormattedDate(new Date()));
+ dmaapContext = getDmaapContext();
+ dmaapContext.setConsumerRequestTime(Utils.getFormattedDate(new Date()));
try {
- eventsService.getEvents(dMaaPContext, topic, consumergroup, consumerid);
- }
- catch (TopicExistsException e) {
+ eventsService.getEvents(dmaapContext, topic, consumergroup, consumerid);
+ } catch (TopicExistsException e) {
log.error("Error while reading data from topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_CONFLICT,
- DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(), errorMessages.getConsumeMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic, null, null,
- consumerid,
- request.getRemoteHost());
+ DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(),
+ errorMessages.getConsumeMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, null, null, consumerid, request.getRemoteHost());
log.info(errRes.toString());
throw new CambriaApiException(errRes);
- }
- catch (DMaaPAccessDeniedException | AccessDeniedException e) {
+ } catch (DMaaPAccessDeniedException | AccessDeniedException e) {
log.error("Error while reading data from topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(), errorMessages.getConsumeMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic, null, null,
- consumerid,
- request.getRemoteHost());
+ DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(),
+ errorMessages.getConsumeMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, null, null, consumerid, request.getRemoteHost());
log.info(errRes.toString());
throw new CambriaApiException(errRes);
}
-
+
catch (ConfigDbException | UnavailableException | IOException e) {
log.error("Error while reading data from topic [" + topic + "].", e);
-
+
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(), errorMessages.getConsumeMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic, null, null,
- consumerid,
- request.getRemoteHost());
+ DMaaPResponseCode.CONSUME_MSG_ERROR.getResponseCode(),
+ errorMessages.getConsumeMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, null, null, consumerid, request.getRemoteHost());
log.info(errRes.toString());
throw new CambriaApiException(errRes);
@@ -192,36 +189,33 @@ public class EventsRestService {
try {
eventsService.pushEvents(getDmaapContext(), topic, msg, partitionKey, null);
- }
- catch ( TopicExistsException e) {
+ } catch (TopicExistsException e) {
log.error("Error while publishing to topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_CONFLICT,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), errorMessages.getPublishMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic,
- Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ errorMessages.getPublishMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
- }
- catch ( DMaaPAccessDeniedException | AccessDeniedException e) {
+ } catch (DMaaPAccessDeniedException | AccessDeniedException e) {
log.error("Error while publishing to topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), errorMessages.getPublishMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic,
- Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ errorMessages.getPublishMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
}
-
-
- catch (ConfigDbException | IOException | missingReqdSetting e) {
+
+ catch (ConfigDbException | IOException | missingReqdSetting e) {
log.error("Error while publishing to topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), errorMessages.getPublishMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic,
- Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ errorMessages.getPublishMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
}
@@ -250,40 +244,37 @@ public class EventsRestService {
// );
try {
- eventsService.pushEvents(getDmaapContext(), topic, request.getInputStream(),
- partitionKey,
+ eventsService.pushEvents(getDmaapContext(), topic, request.getInputStream(), partitionKey,
Utils.getFormattedDate(new Date()));
- }
-
- catch ( TopicExistsException e) {
+ }
+
+ catch (TopicExistsException e) {
log.error("Error while publishing to topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_CONFLICT,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), errorMessages.getPublishMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic,
- Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ errorMessages.getPublishMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
- }
- catch ( DMaaPAccessDeniedException| AccessDeniedException e) {
+ } catch (DMaaPAccessDeniedException | AccessDeniedException e) {
log.error("Error while publishing to topic [" + topic + "].", e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), errorMessages.getPublishMsgError()
- + e.getMessage(), null, Utils.getFormattedDate(new Date()), topic,
- Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ errorMessages.getPublishMsgError() + e.getMessage(), null, Utils.getFormattedDate(new Date()),
+ topic, Utils.getUserApiKey(request), request.getRemoteHost(), null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
}
-
- catch (ConfigDbException | IOException | missingReqdSetting e) {
+
+ catch (ConfigDbException | IOException | missingReqdSetting e) {
log.error("Error while publishing to topic : " + topic, e);
ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(), "Transaction-"
- + errorMessages.getPublishMsgError() + e.getMessage(), null,
- Utils.getFormattedDate(new Date()), topic, Utils.getUserApiKey(request),
- request.getRemoteHost(),
+ DMaaPResponseCode.PUBLISH_MSG_ERROR.getResponseCode(),
+ "Transaction-" + errorMessages.getPublishMsgError() + e.getMessage(), null,
+ Utils.getFormattedDate(new Date()), topic, Utils.getUserApiKey(request), request.getRemoteHost(),
null, null);
log.info(errRes.toString());
throw new CambriaApiException(errRes);
@@ -302,7 +293,6 @@ public class EventsRestService {
*/
private DMaaPContext getDmaapContext() {
- DMaaPContext dmaapContext = new DMaaPContext();
dmaapContext.setRequest(request);
dmaapContext.setResponse(response);
dmaapContext.setConfigReader(configReader);
diff --git a/src/main/java/com/att/nsa/dmaap/service/MMRestService.java b/src/main/java/com/att/nsa/dmaap/service/MMRestService.java
index ab457e5..a715e1f 100644
--- a/src/main/java/com/att/nsa/dmaap/service/MMRestService.java
+++ b/src/main/java/com/att/nsa/dmaap/service/MMRestService.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
@@ -115,6 +114,8 @@ public class MMRestService {
@Autowired
private DMaaPErrorMessages errorMessages;
+ private DMaaPAAFAuthenticator dmaapAAFauthenticator = new DMaaPAAFAuthenticatorImpl();
+
/**
* This method is used for taking Configuration Object,HttpServletRequest
* Object,HttpServletRequest HttpServletResponse Object,HttpServletSession
@@ -178,7 +179,7 @@ public class MMRestService {
|| createMirrorMaker.getCreateMirrorMaker().getStatus() != null) {
sendErrResponse(ctx, "This is not a CreateMirrorMaker request. Please try again.");
}
-
+
// if empty, blank name is entered
else if (StringUtils.isBlank(name)) {
sendErrResponse(ctx, "Name can not be empty or blank.");
@@ -253,8 +254,8 @@ public class MMRestService {
// Check if request has listAllMirrorMaker and
// listAllMirrorMaker is empty
- if ((jsonOb != null) && (jsonOb.has("listAllMirrorMaker") &&
- jsonOb.getJSONObject("listAllMirrorMaker").length() == 0)) {
+ if ((jsonOb != null) && (jsonOb.has("listAllMirrorMaker")
+ && jsonOb.getJSONObject("listAllMirrorMaker").length() == 0)) {
jsonOb.put("messageID", randomStr);
InputStream inStream = null;
@@ -329,7 +330,7 @@ public class MMRestService {
|| updateMirrorMaker.getUpdateMirrorMaker().getStatus() != null) {
sendErrResponse(ctx, "This is not a UpdateMirrorMaker request. Please try again.");
}
-
+
// if empty, blank name is entered
else if (StringUtils.isBlank(name)) {
sendErrResponse(ctx, "Name can not be empty or blank.");
@@ -405,11 +406,11 @@ public class MMRestService {
// Check if request has DeleteMirrorMaker and
// DeleteMirrorMaker has MirrorMaker object with name variable
// and check if the name contain only alpha numeric
- if ((jsonOb != null) && (jsonOb.has("deleteMirrorMaker")
- && jsonOb.getJSONObject("deleteMirrorMaker").length() == 1
- && jsonOb.getJSONObject("deleteMirrorMaker").has("name")
- && !StringUtils.isBlank(jsonOb.getJSONObject("deleteMirrorMaker").getString("name"))
- && isAlphaNumeric(jsonOb.getJSONObject("deleteMirrorMaker").getString("name")))) {
+ if ((jsonOb != null)
+ && (jsonOb.has("deleteMirrorMaker") && jsonOb.getJSONObject("deleteMirrorMaker").length() == 1
+ && jsonOb.getJSONObject("deleteMirrorMaker").has("name")
+ && !StringUtils.isBlank(jsonOb.getJSONObject("deleteMirrorMaker").getString("name"))
+ && isAlphaNumeric(jsonOb.getJSONObject("deleteMirrorMaker").getString("name")))) {
jsonOb.put("messageID", randomStr);
InputStream inStream = null;
@@ -451,7 +452,7 @@ public class MMRestService {
for (int i = 0; i < jArray.length(); i++) {
jObj = jArray.getJSONObject(i);
-
+
JSONObject obj = new JSONObject();
if (jObj.has(MESSAGE)) {
obj = jObj.getJSONObject(MESSAGE);
@@ -526,9 +527,7 @@ public class MMRestService {
boolean hasPermission = false;
- DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
-
- if (aaf.aafAuthentication(ctx.getRequest(), permission)) {
+ if (dmaapAAFauthenticator.aafAuthentication(ctx.getRequest(), permission)) {
hasPermission = true;
}
return hasPermission;
@@ -556,7 +555,7 @@ public class MMRestService {
for (int i = 0; i < jsonArray.length(); i++) {
jsonObj = jsonArray.getJSONObject(i);
-
+
JSONObject obj = new JSONObject();
if (jsonObj.has(MESSAGE)) {
obj = jsonObj.getJSONObject(MESSAGE);
@@ -577,7 +576,7 @@ public class MMRestService {
}
} catch (Exception e) {
- LOGGER.error("Exception: ", e);
+ LOGGER.error("Exception: ", e);
}
}
@@ -630,11 +629,9 @@ public class MMRestService {
// numeric
// and check if the request has namespace and namespace contains
// only alpha numeric
- if (jsonOb != null
- && jsonOb.length() == 2 && jsonOb.has("name")
- && !StringUtils.isBlank(jsonOb.getString("name"))
- && isAlphaNumeric(jsonOb.getString("name")) && jsonOb.has(NAMESPACE)
- && !StringUtils.isBlank(jsonOb.getString(NAMESPACE))) {
+ if (jsonOb != null && jsonOb.length() == 2 && jsonOb.has("name")
+ && !StringUtils.isBlank(jsonOb.getString("name")) && isAlphaNumeric(jsonOb.getString("name"))
+ && jsonOb.has(NAMESPACE) && !StringUtils.isBlank(jsonOb.getString(NAMESPACE))) {
String permission = AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop,
"msgRtr.mirrormakeruser.aaf.create") + jsonOb.getString(NAMESPACE) + "|create";
@@ -681,7 +678,7 @@ public class MMRestService {
if (msgFrmSubscribe != null && msgFrmSubscribe.length() > 0
&& isListMirrorMaker(msgFrmSubscribe, randomStr)) {
-
+
JSONArray listMirrorMaker;
listMirrorMaker = getListMirrorMaker(msgFrmSubscribe, randomStr);
@@ -784,16 +781,18 @@ public class MMRestService {
LOGGER.error("JSONException: ", ex);
}
- // Check if the request has name and name contains only alpha numeric,
+ // Check if the request has name and name contains only alpha
+ // numeric,
// check if the request has namespace and
// check if the request has whitelistTopicName
// check if the topic name contains only alpha numeric
if (jsonOb != null && jsonOb.length() == 3 && jsonOb.has("name")
- && !StringUtils.isBlank(jsonOb.getString("name"))
- && isAlphaNumeric(jsonOb.getString("name"))
+ && !StringUtils.isBlank(jsonOb.getString("name")) && isAlphaNumeric(jsonOb.getString("name"))
&& jsonOb.has(NAMESPACE) && !StringUtils.isBlank(jsonOb.getString(NAMESPACE))
- && jsonOb.has("whitelistTopicName") && !StringUtils.isBlank(jsonOb.getString("whitelistTopicName"))
- && isAlphaNumeric(jsonOb.getString("whitelistTopicName").substring(jsonOb.getString("whitelistTopicName").lastIndexOf(".")+1,
+ && jsonOb.has("whitelistTopicName")
+ && !StringUtils.isBlank(jsonOb.getString("whitelistTopicName"))
+ && isAlphaNumeric(jsonOb.getString("whitelistTopicName").substring(
+ jsonOb.getString("whitelistTopicName").lastIndexOf(".") + 1,
jsonOb.getString("whitelistTopicName").length()))) {
String permission = AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop,
@@ -843,7 +842,7 @@ public class MMRestService {
if (msgFrmSubscribe != null && msgFrmSubscribe.length() > 0
&& isListMirrorMaker(msgFrmSubscribe, randomStr)) {
-
+
listMirrorMaker = getListMirrorMaker(msgFrmSubscribe, randomStr);
String whitelist = null;
@@ -967,12 +966,15 @@ public class MMRestService {
LOGGER.error("JSONException: ", ex);
}
- // Check if the request has name and name contains only alpha numeric,
+ // Check if the request has name and name contains only alpha
+ // numeric,
// check if the request has namespace and
// check if the request has whitelistTopicName
- if (jsonOb != null && jsonOb.length() == 3 && jsonOb.has("name") && isAlphaNumeric(jsonOb.getString("name"))
- && jsonOb.has(NAMESPACE) && jsonOb.has("whitelistTopicName")
- && isAlphaNumeric(jsonOb.getString("whitelistTopicName").substring(jsonOb.getString("whitelistTopicName").lastIndexOf(".")+1,
+ if (jsonOb != null && jsonOb.length() == 3 && jsonOb.has("name")
+ && isAlphaNumeric(jsonOb.getString("name")) && jsonOb.has(NAMESPACE)
+ && jsonOb.has("whitelistTopicName")
+ && isAlphaNumeric(jsonOb.getString("whitelistTopicName").substring(
+ jsonOb.getString("whitelistTopicName").lastIndexOf(".") + 1,
jsonOb.getString("whitelistTopicName").length()))) {
String permission = AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop,
@@ -1029,12 +1031,13 @@ public class MMRestService {
for (int i = 0; i < jsonArray.length(); i++) {
jsonObj = jsonArray.getJSONObject(i);
-
+
JSONObject obj = new JSONObject();
if (jsonObj.has(MESSAGE)) {
obj = jsonObj.getJSONObject(MESSAGE);
}
- if (obj.has("messageID") && obj.get("messageID").equals(randomStr) && obj.has(LISTMIRRORMAKER)) {
+ if (obj.has("messageID") && obj.get("messageID").equals(randomStr)
+ && obj.has(LISTMIRRORMAKER)) {
listMirrorMaker = obj.getJSONArray(LISTMIRRORMAKER);
break;
}
@@ -1068,22 +1071,21 @@ public class MMRestService {
sendErrResponse(ctx, "The topic does not exist.");
}
-
if (removeTopic) {
UpdateWhiteList updateWhiteList = new UpdateWhiteList();
MirrorMaker mirrorMaker = new MirrorMaker();
-
+
mirrorMaker.setName(jsonOb.getString("name"));
mirrorMaker.setWhitelist(removeTopic(whitelist, topicToRemove));
-
+
String newRandom = getRandomNum();
-
+
updateWhiteList.setMessageID(newRandom);
updateWhiteList.setUpdateWhiteList(mirrorMaker);
-
+
Gson g = new Gson();
g.toJson(updateWhiteList);
-
+
InputStream inputStream;
inputStream = IOUtils.toInputStream(g.toJson(updateWhiteList), UTF_8);
callPubSubForWhitelist(newRandom, ctx, inputStream, getNamespace(topicToRemove));
@@ -1132,7 +1134,7 @@ public class MMRestService {
}
if (topicList.contains(topicToRemove)) {
- for (String topic: topicList) {
+ for (String topic : topicList) {
if (!topic.equals(topicToRemove)) {
newTopicList.add(topic);
}
@@ -1145,7 +1147,7 @@ public class MMRestService {
}
private void callPubSubForWhitelist(String randomStr, DMaaPContext ctx, InputStream inStream, String namespace) {
-
+
try {
mirrorService.pushEvents(ctx, topic, inStream, null, null);
long startTime = System.currentTimeMillis();
@@ -1167,7 +1169,7 @@ public class MMRestService {
for (int i = 0; i < jsonArray.length(); i++) {
jsonObj = jsonArray.getJSONObject(i);
-
+
JSONObject obj = new JSONObject();
if (jsonObj.has(MESSAGE)) {
obj = jsonObj.getJSONObject(MESSAGE);
@@ -1231,18 +1233,18 @@ public class MMRestService {
return whitelist;
}
-
+
private JSONArray getListMirrorMaker(String msgFrmSubscribe, String randomStr) {
JSONObject jsonObj;
JSONArray jsonArray;
JSONArray listMirrorMaker = new JSONArray();
-
+
msgFrmSubscribe = removeExtraChar(msgFrmSubscribe);
jsonArray = new JSONArray(msgFrmSubscribe);
for (int i = 0; i < jsonArray.length(); i++) {
jsonObj = jsonArray.getJSONObject(i);
-
+
JSONObject obj = new JSONObject();
if (jsonObj.has(MESSAGE)) {
obj = jsonObj.getJSONObject(MESSAGE);
@@ -1252,6 +1254,6 @@ public class MMRestService {
break;
}
}
- return listMirrorMaker;
+ return listMirrorMaker;
}
}
diff --git a/src/main/java/com/att/nsa/dmaap/service/TopicRestService.java b/src/main/java/com/att/nsa/dmaap/service/TopicRestService.java
index 6742cd5..50bd069 100644
--- a/src/main/java/com/att/nsa/dmaap/service/TopicRestService.java
+++ b/src/main/java/com/att/nsa/dmaap/service/TopicRestService.java
@@ -62,8 +62,8 @@ import com.att.nsa.configs.ConfigDbException;
import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
/**
- * This class is a CXF REST service which acts
- * as gateway for MR Topic Service.
+ * This class is a CXF REST service which acts as gateway for MR Topic Service.
+ *
* @author author
*
*/
@@ -75,7 +75,8 @@ public class TopicRestService {
/**
* Logger obj
*/
- //private static final Logger LOGGER = Logger .getLogger(TopicRestService.class);
+ // private static final Logger LOGGER = Logger
+ // .getLogger(TopicRestService.class);
private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(TopicRestService.class);
/**
* Config Reader
@@ -100,76 +101,72 @@ public class TopicRestService {
* TopicService obj
*/
@Autowired
- private TopicService topicService;
-
+ private TopicService tService;
+
/**
* DMaaPErrorMessages obj
*/
@Autowired
private DMaaPErrorMessages errorMessages;
-
+
+ private DMaaPContext dmaapContext = new DMaaPContext();
+
/**
* mrNamespace
*/
- //@Value("${msgRtr.namespace.aaf}")
-// private String mrNamespace;
-
+ // @Value("${msgRtr.namespace.aaf}")
+ // private String mrNamespace;
/**
* Fetches a list of topics from the current kafka instance and converted
* into json object.
*
* @return list of the topics in json format
- * @throws AccessDeniedException
- * @throws CambriaApiException
+ * @throws AccessDeniedException
+ * @throws CambriaApiException
* @throws IOException
* @throws JSONException
- * */
+ */
@GET
- //@Produces(MediaType.TEXT_PLAIN)
+ // @Produces(MediaType.TEXT_PLAIN)
public void getTopics() throws CambriaApiException {
try {
-
+
LOGGER.info("Authenticating the user before fetching the topics");
- //String permission = "com.att.dmaap.mr.topic|*|view";
- String mrNameS= com.att.ajsc.beans.PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop,"msgRtr.namespace.aaf");
- String permission =mrNameS+"|"+"*"+"|"+"view";
+ // String permission = "com.att.dmaap.mr.topic|*|view";
+ String mrNameS = com.att.ajsc.beans.PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop,
+ "msgRtr.namespace.aaf");
+ String permission = mrNameS + "|" + "*" + "|" + "view";
DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
- //Check if client is using AAF CADI Basic Authorization
- //If yes then check for AAF role authentication else display all topics
- if(null!=getDmaapContext().getRequest().getHeader("Authorization"))
- {
- if(!aaf.aafAuthentication(getDmaapContext().getRequest(), permission))
- {
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
- errorMessages.getNotPermitted1()+" read "+errorMessages.getNotPermitted2());
+ // Check if client is using AAF CADI Basic Authorization
+ // If yes then check for AAF role authentication else display all
+ // topics
+ if (null != getDmaapContext().getRequest().getHeader("Authorization")) {
+ if (!aaf.aafAuthentication(getDmaapContext().getRequest(), permission)) {
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
+ errorMessages.getNotPermitted1() + " read " + errorMessages.getNotPermitted2());
LOGGER.info(errRes.toString());
throw new DMaaPAccessDeniedException(errRes);
-
-
+
}
- }
-
- LOGGER.info("Fetching all Topics");
-
- topicService.getTopics(getDmaapContext());
-
- LOGGER.info("Returning List of all Topics");
-
-
+ }
+
+ LOGGER.info("Fetching all Topics");
+
+ tService.getTopics(getDmaapContext());
+
+ LOGGER.info("Returning List of all Topics");
+
} catch (JSONException | ConfigDbException | IOException excp) {
- LOGGER.error(
- "Failed to retrieve list of all topics: "
- + excp.getMessage(), excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.GET_TOPICS_FAIL.getResponseCode(),
- errorMessages.getTopicsfailure()+ excp.getMessage());
+ LOGGER.error("Failed to retrieve list of all topics: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.GET_TOPICS_FAIL.getResponseCode(),
+ errorMessages.getTopicsfailure() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
}
}
@@ -179,62 +176,56 @@ public class TopicRestService {
* into json object.
*
* @return list of the topics in json format
- * @throws AccessDeniedException
- * @throws CambriaApiException
+ * @throws AccessDeniedException
+ * @throws CambriaApiException
* @throws IOException
* @throws JSONException
- * */
+ */
@GET
@Path("/listAll")
- //@Produces(MediaType.TEXT_PLAIN)
+ // @Produces(MediaType.TEXT_PLAIN)
public void getAllTopics() throws CambriaApiException {
try {
-
+
LOGGER.info("Authenticating the user before fetching the topics");
- //String permission = "com.att.dmaap.mr.topic|*|view";
- String mrNameS= com.att.ajsc.beans.PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop,"msgRtr.namespace.aaf");
- String permission =mrNameS+"|"+"*"+"|"+"view";
+ // String permission = "com.att.dmaap.mr.topic|*|view";
+ String mrNameS = com.att.ajsc.beans.PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop,
+ "msgRtr.namespace.aaf");
+ String permission = mrNameS + "|" + "*" + "|" + "view";
DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
- //Check if client is using AAF CADI Basic Authorization
- //If yes then check for AAF role authentication else display all topics
- if(null!=getDmaapContext().getRequest().getHeader("Authorization"))
- {
- if(!aaf.aafAuthentication(getDmaapContext().getRequest(), permission))
- {
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
- errorMessages.getNotPermitted1()+" read "+errorMessages.getNotPermitted2());
+ // Check if client is using AAF CADI Basic Authorization
+ // If yes then check for AAF role authentication else display all
+ // topics
+ if (null != getDmaapContext().getRequest().getHeader("Authorization")) {
+ if (!aaf.aafAuthentication(getDmaapContext().getRequest(), permission)) {
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
+ errorMessages.getNotPermitted1() + " read " + errorMessages.getNotPermitted2());
LOGGER.info(errRes.toString());
throw new DMaaPAccessDeniedException(errRes);
-
-
+
}
- }
-
- LOGGER.info("Fetching all Topics");
-
- topicService.getAllTopics(getDmaapContext());
-
- LOGGER.info("Returning List of all Topics");
-
-
+ }
+
+ LOGGER.info("Fetching all Topics");
+
+ tService.getAllTopics(getDmaapContext());
+
+ LOGGER.info("Returning List of all Topics");
+
} catch (JSONException | ConfigDbException | IOException excp) {
- LOGGER.error(
- "Failed to retrieve list of all topics: "
- + excp.getMessage(), excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.GET_TOPICS_FAIL.getResponseCode(),
- errorMessages.getTopicsfailure()+ excp.getMessage());
+ LOGGER.error("Failed to retrieve list of all topics: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.GET_TOPICS_FAIL.getResponseCode(),
+ errorMessages.getTopicsfailure() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
}
}
-
/**
* Returns details of the topic whose name is passed as a parameter
*
@@ -242,59 +233,55 @@ public class TopicRestService {
* - name of the topic
* @return details of a topic whose name is mentioned in the request in json
* format.
- * @throws AccessDeniedException
- * @throws DMaaPAccessDeniedException
+ * @throws AccessDeniedException
+ * @throws DMaaPAccessDeniedException
* @throws IOException
- * */
+ */
@GET
@Path("/{topicName}")
- //@Produces(MediaType.TEXT_PLAIN)
+ // @Produces(MediaType.TEXT_PLAIN)
public void getTopic(@PathParam("topicName") String topicName) throws CambriaApiException {
try {
-
- LOGGER.info("Authenticating the user before fetching the details about topic = "+ topicName);
+
+ LOGGER.info("Authenticating the user before fetching the details about topic = " + topicName);
DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
-
- //String permission= "com.att.ecomp_test.crm.mr.topic|:topic.com.att.ecomp_test.crm.preDemo|view";
-
- //Check if client is using AAF CADI Basic Authorization
- //If yes then check for AAF role authentication else display all topics
- if(null!=getDmaapContext().getRequest().getHeader("Authorization"))
- {
+
+ // String permission=
+ // "com.att.ecomp_test.crm.mr.topic|:topic.com.att.ecomp_test.crm.preDemo|view";
+
+ // Check if client is using AAF CADI Basic Authorization
+ // If yes then check for AAF role authentication else display all
+ // topics
+ if (null != getDmaapContext().getRequest().getHeader("Authorization")) {
String permission = aaf.aafPermissionString(topicName, "view");
- if(!aaf.aafAuthentication(getDmaapContext().getRequest(), permission))
- {
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
- errorMessages.getNotPermitted1()+" read "+errorMessages.getNotPermitted2());
- LOGGER.info(errRes.toString());
- throw new DMaaPAccessDeniedException(errRes);
- }
- }
-
- LOGGER.info("Fetching Topic: " + topicName);
-
- topicService.getTopic(getDmaapContext(), topicName);
-
- LOGGER.info("Fetched details of topic: " + topicName);
-
+ if (!aaf.aafAuthentication(getDmaapContext().getRequest(), permission)) {
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
+ errorMessages.getNotPermitted1() + " read " + errorMessages.getNotPermitted2());
+ LOGGER.info(errRes.toString());
+ throw new DMaaPAccessDeniedException(errRes);
+ }
+ }
+
+ LOGGER.info("Fetching Topic: " + topicName);
+
+ tService.getTopic(getDmaapContext(), topicName);
+
+ LOGGER.info("Fetched details of topic: " + topicName);
+
} catch (ConfigDbException | IOException | TopicExistsException excp) {
- LOGGER.error("Failed to retrieve details of topic: " + topicName,
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.GET_TOPICS_DETAILS_FAIL.getResponseCode(),
- errorMessages.getTopicDetailsFail()+topicName+ excp.getMessage());
+ LOGGER.error("Failed to retrieve details of topic: " + topicName, excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.GET_TOPICS_DETAILS_FAIL.getResponseCode(),
+ errorMessages.getTopicDetailsFail() + topicName + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
-
+
}
}
-
-
/**
* This method is still not working. Need to check on post call and how to
* accept parameters for post call
@@ -303,57 +290,50 @@ public class TopicRestService {
* it will have the bean object
* @throws TopicExistsException
* @throws CambriaApiException
- * @throws JSONException
+ * @throws JSONException
* @throws IOException
* @throws AccessDeniedException
*
- * */
+ */
@POST
@Path("/create")
@Consumes({ MediaType.APPLICATION_JSON })
- //@Produces(MediaType.TEXT_PLAIN)
+ // @Produces(MediaType.TEXT_PLAIN)
public void createTopic(TopicBean topicBean) throws CambriaApiException, JSONException {
- try {
- LOGGER.info("Creating Topic."+topicBean.getTopicName());
-
- topicService.createTopic(getDmaapContext(), topicBean);
+ try {
+ LOGGER.info("Creating Topic." + topicBean.getTopicName());
+
+ tService.createTopic(getDmaapContext(), topicBean);
LOGGER.info("Topic created Successfully.");
- }
- catch (TopicExistsException ex){
-
- LOGGER.error("Error while creating a topic: " + ex.getMessage(),
- ex);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_CONFLICT,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ ex.getMessage());
- LOGGER.info(errRes.toString());
- throw new CambriaApiException(errRes);
-
-
-
-
- }catch (AccessDeniedException | DMaaPAccessDeniedException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+ } catch (TopicExistsException ex) {
+
+ LOGGER.error("Error while creating a topic: " + ex.getMessage(), ex);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_CONFLICT,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + ex.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
- }catch (CambriaApiException | IOException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+
+ } catch (AccessDeniedException | DMaaPAccessDeniedException excp) {
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
+ } catch (CambriaApiException | IOException excp) {
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
+ LOGGER.info(errRes.toString());
+ throw new CambriaApiException(errRes);
+
}
}
@@ -362,45 +342,42 @@ public class TopicRestService {
*
* @param topicName
* topic
- * @throws CambriaApiException
+ * @throws CambriaApiException
* @throws IOException
- * */
+ */
@DELETE
@Path("/{topicName}")
- //@Produces(MediaType.TEXT_PLAIN)
+ // @Produces(MediaType.TEXT_PLAIN)
public void deleteTopic(@PathParam("topicName") String topicName) throws CambriaApiException {
try {
LOGGER.info("Deleting Topic: " + topicName);
- topicService.deleteTopic(getDmaapContext(), topicName);
+ tService.deleteTopic(getDmaapContext(), topicName);
LOGGER.info("Topic [" + topicName + "] deleted successfully.");
- } catch (DMaaPAccessDeniedException| AccessDeniedException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+ } catch (DMaaPAccessDeniedException | AccessDeniedException excp) {
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
- }catch (IOException | ConfigDbException
- | CambriaApiException | TopicExistsException excp) {
+
+ } catch (IOException | ConfigDbException | CambriaApiException | TopicExistsException excp) {
LOGGER.error("Error while deleting topic: " + topicName, excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.DELETE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getDeleteTopicFail()+ topicName + excp.getMessage());
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.DELETE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getDeleteTopicFail() + topicName + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
}
}
private DMaaPContext getDmaapContext() {
- DMaaPContext dmaapContext = new DMaaPContext();
dmaapContext.setRequest(request);
dmaapContext.setResponse(response);
dmaapContext.setConfigReader(configReader);
@@ -413,49 +390,48 @@ public class TopicRestService {
* This method will fetch the details of publisher by giving topic name
*
* @param topicName
- * @throws CambriaApiException
- * @throws AccessDeniedException
+ * @throws CambriaApiException
+ * @throws AccessDeniedException
*/
@GET
@Path("/{topicName}/producers")
- //@Produces(MediaType.TEXT_PLAIN)
- public void getPublishersByTopicName(
- @PathParam("topicName") String topicName) throws CambriaApiException {
+ // @Produces(MediaType.TEXT_PLAIN)
+ public void getPublishersByTopicName(@PathParam("topicName") String topicName) throws CambriaApiException {
try {
-
-// String permission = "com.att.dmaap.mr.topic"+"|"+topicName+"|"+"manage";
-// DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
-// String permission = aaf.aafPermissionString(topicName, "view");
-// if(aaf.aafAuthentication(getDmaapContext().getRequest(), permission))
-// {
- LOGGER.info("Fetching list of all the publishers for topic "
- + topicName);
-
- topicService.getPublishersByTopicName(getDmaapContext(), topicName);
-
- LOGGER.info("Returning list of all the publishers for topic "
- + topicName);
-// }else{
-// LOGGER.error("Error while fetching list of publishers for topic "+ topicName);
-//
-// ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
-// DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
-// errorMessages.getNotPermitted1()+" fetch list of publishers "+errorMessages.getNotPermitted2());
-// LOGGER.info(errRes);
-// throw new DMaaPAccessDeniedException(errRes);
-//
-// }
-
+
+ // String permission =
+ // "com.att.dmaap.mr.topic"+"|"+topicName+"|"+"manage";
+ // DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
+ // String permission = aaf.aafPermissionString(topicName, "view");
+ // if(aaf.aafAuthentication(getDmaapContext().getRequest(),
+ // permission))
+ // {
+ LOGGER.info("Fetching list of all the publishers for topic " + topicName);
+
+ tService.getPublishersByTopicName(getDmaapContext(), topicName);
+
+ LOGGER.info("Returning list of all the publishers for topic " + topicName);
+ // }else{
+ // LOGGER.error("Error while fetching list of publishers for topic
+ // "+ topicName);
+ //
+ // ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ // DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
+ // errorMessages.getNotPermitted1()+" fetch list of publishers
+ // "+errorMessages.getNotPermitted2());
+ // LOGGER.info(errRes);
+ // throw new DMaaPAccessDeniedException(errRes);
+ //
+ // }
+
} catch (IOException | ConfigDbException | TopicExistsException excp) {
- LOGGER.error("Error while fetching list of publishers for topic "
- + topicName, excp);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.GET_PUBLISHERS_BY_TOPIC.getResponseCode(),
- "Error while fetching list of publishers for topic: "
- + topicName + excp.getMessage());
+ LOGGER.error("Error while fetching list of publishers for topic " + topicName, excp);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.GET_PUBLISHERS_BY_TOPIC.getResponseCode(),
+ "Error while fetching list of publishers for topic: " + topicName + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
}
}
@@ -464,44 +440,38 @@ public class TopicRestService {
*
* @param topicName
* @param producerId
- * @throws CambriaApiException
+ * @throws CambriaApiException
*/
@PUT
@Path("/{topicName}/producers/{producerId}")
- public void permitPublisherForTopic(
- @PathParam("topicName") String topicName,
+ public void permitPublisherForTopic(@PathParam("topicName") String topicName,
@PathParam("producerId") String producerId) throws CambriaApiException {
try {
- LOGGER.info("Granting write access to producer [" + producerId
- + "] for topic " + topicName);
+ LOGGER.info("Granting write access to producer [" + producerId + "] for topic " + topicName);
- topicService.permitPublisherForTopic(getDmaapContext(), topicName,
- producerId);
+ tService.permitPublisherForTopic(getDmaapContext(), topicName, producerId);
- LOGGER.info("Write access has been granted to producer ["
- + producerId + "] for topic " + topicName);
+ LOGGER.info("Write access has been granted to producer [" + producerId + "] for topic " + topicName);
} catch (AccessDeniedException | DMaaPAccessDeniedException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
- }catch ( ConfigDbException | IOException
- | TopicExistsException excp) {
- LOGGER.error("Error while granting write access to producer ["
- + producerId + "] for topic " + topicName, excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
- DMaaPResponseCode.PERMIT_PUBLISHER_FOR_TOPIC.getResponseCode(),
- "Error while granting write access to producer ["
- + producerId + "] for topic " + topicName + excp.getMessage());
+
+ } catch (ConfigDbException | IOException | TopicExistsException excp) {
+ LOGGER.error("Error while granting write access to producer [" + producerId + "] for topic " + topicName,
+ excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_NOT_FOUND,
+ DMaaPResponseCode.PERMIT_PUBLISHER_FOR_TOPIC.getResponseCode(),
+ "Error while granting write access to producer [" + producerId + "] for topic " + topicName
+ + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
}
}
@@ -510,39 +480,34 @@ public class TopicRestService {
*
* @param topicName
* @param producerId
- * @throws CambriaApiException
+ * @throws CambriaApiException
*/
@DELETE
@Path("/{topicName}/producers/{producerId}")
public void denyPublisherForTopic(@PathParam("topicName") String topicName,
@PathParam("producerId") String producerId) throws CambriaApiException {
try {
- LOGGER.info("Revoking write access to producer [" + producerId
- + "] for topic " + topicName);
+ LOGGER.info("Revoking write access to producer [" + producerId + "] for topic " + topicName);
- topicService.denyPublisherForTopic(getDmaapContext(), topicName,
- producerId);
+ tService.denyPublisherForTopic(getDmaapContext(), topicName, producerId);
- LOGGER.info("Write access revoked for producer [" + producerId
- + "] for topic " + topicName);
+ LOGGER.info("Write access revoked for producer [" + producerId + "] for topic " + topicName);
} catch (DMaaPAccessDeniedException | AccessDeniedException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
- excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
- }catch ( ConfigDbException | IOException
- | TopicExistsException excp) {
- LOGGER.error("Error while revoking write access for producer ["
- + producerId + "] for topic " + topicName, excp);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.REVOKE_PUBLISHER_FOR_TOPIC.getResponseCode(),
- "Error while revoking write access to producer ["
- + producerId + "] for topic " + topicName + excp.getMessage());
+
+ } catch (ConfigDbException | IOException | TopicExistsException excp) {
+ LOGGER.error("Error while revoking write access for producer [" + producerId + "] for topic " + topicName,
+ excp);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.REVOKE_PUBLISHER_FOR_TOPIC.getResponseCode(),
+ "Error while revoking write access to producer [" + producerId + "] for topic " + topicName
+ + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
}
@@ -552,55 +517,51 @@ public class TopicRestService {
* Get the consumer details by the topic name
*
* @param topicName
- * @throws AccessDeniedException
- * @throws CambriaApiException
+ * @throws AccessDeniedException
+ * @throws CambriaApiException
*/
@GET
@Path("/{topicName}/consumers")
- //@Produces(MediaType.TEXT_PLAIN)
- public void getConsumersByTopicName(@PathParam("topicName") String topicName) throws AccessDeniedException,
- CambriaApiException {
+ // @Produces(MediaType.TEXT_PLAIN)
+ public void getConsumersByTopicName(@PathParam("topicName") String topicName)
+ throws AccessDeniedException, CambriaApiException {
try {
-
-
-// String permission = "com.att.dmaap.mr.topic"+"|"+topicName+"|"+"view";
-// DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
-// String permission = aaf.aafPermissionString(topicName, "view");
-// if(aaf.aafAuthentication(getDmaapContext().getRequest(), permission))
-// {
- LOGGER.info("Fetching list of all consumers for topic " + topicName);
-
- topicService.getConsumersByTopicName(getDmaapContext(), topicName);
-
- LOGGER.info("Returning list of all consumers for topic "
- + topicName);
-
-// }else{
-// LOGGER.error(
-// "Error while fetching list of all consumers for topic "
-// + topicName);
-// ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
-// DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
-// errorMessages.getNotPermitted1()+" fetch list of consumers "+errorMessages.getNotPermitted2());
-// LOGGER.info(errRes);
-// throw new DMaaPAccessDeniedException(errRes);
-//
-//
-// }
-
-
-
+
+ // String permission =
+ // "com.att.dmaap.mr.topic"+"|"+topicName+"|"+"view";
+ // DMaaPAAFAuthenticator aaf = new DMaaPAAFAuthenticatorImpl();
+ // String permission = aaf.aafPermissionString(topicName, "view");
+ // if(aaf.aafAuthentication(getDmaapContext().getRequest(),
+ // permission))
+ // {
+ LOGGER.info("Fetching list of all consumers for topic " + topicName);
+
+ tService.getConsumersByTopicName(getDmaapContext(), topicName);
+
+ LOGGER.info("Returning list of all consumers for topic " + topicName);
+
+ // }else{
+ // LOGGER.error(
+ // "Error while fetching list of all consumers for topic "
+ // + topicName);
+ // ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ // DMaaPResponseCode.ACCESS_NOT_PERMITTED.getResponseCode(),
+ // errorMessages.getNotPermitted1()+" fetch list of consumers
+ // "+errorMessages.getNotPermitted2());
+ // LOGGER.info(errRes);
+ // throw new DMaaPAccessDeniedException(errRes);
+ //
+ //
+ // }
+
} catch (IOException | ConfigDbException | TopicExistsException excp) {
- LOGGER.error(
- "Error while fetching list of all consumers for topic "
- + topicName, excp);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.GET_CONSUMERS_BY_TOPIC.getResponseCode(),
- "Error while fetching list of all consumers for topic: "
- + topicName+ excp.getMessage());
+ LOGGER.error("Error while fetching list of all consumers for topic " + topicName, excp);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.GET_CONSUMERS_BY_TOPIC.getResponseCode(),
+ "Error while fetching list of all consumers for topic: " + topicName + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
}
}
@@ -609,33 +570,28 @@ public class TopicRestService {
*
* @param topicName
* @param consumerId
- * @throws CambriaApiException
+ * @throws CambriaApiException
*/
@PUT
@Path("/{topicName}/consumers/{consumerId}")
- public void permitConsumerForTopic(
- @PathParam("topicName") String topicName,
+ public void permitConsumerForTopic(@PathParam("topicName") String topicName,
@PathParam("consumerId") String consumerId) throws CambriaApiException {
try {
- LOGGER.info("Granting read access to consumer [" + consumerId
- + "] for topic " + topicName);
-
- topicService.permitConsumerForTopic(getDmaapContext(), topicName,
- consumerId);
-
- LOGGER.info("Read access granted to consumer [" + consumerId
- + "] for topic " + topicName);
- } catch (AccessDeniedException | ConfigDbException | IOException
- | TopicExistsException excp) {
- LOGGER.error("Error while granting read access to consumer ["
- + consumerId + "] for topic " + topicName, excp);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.PERMIT_CONSUMER_FOR_TOPIC.getResponseCode(),
- "Error while granting read access to consumer ["
- + consumerId + "] for topic " + topicName+ excp.getMessage());
+ LOGGER.info("Granting read access to consumer [" + consumerId + "] for topic " + topicName);
+
+ tService.permitConsumerForTopic(getDmaapContext(), topicName, consumerId);
+
+ LOGGER.info("Read access granted to consumer [" + consumerId + "] for topic " + topicName);
+ } catch (AccessDeniedException | ConfigDbException | IOException | TopicExistsException excp) {
+ LOGGER.error("Error while granting read access to consumer [" + consumerId + "] for topic " + topicName,
+ excp);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.PERMIT_CONSUMER_FOR_TOPIC.getResponseCode(),
+ "Error while granting read access to consumer [" + consumerId + "] for topic " + topicName
+ + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
+
}
}
@@ -644,45 +600,37 @@ public class TopicRestService {
*
* @param topicName
* @param consumerId
- * @throws CambriaApiException
+ * @throws CambriaApiException
*/
@DELETE
@Path("/{topicName}/consumers/{consumerId}")
public void denyConsumerForTopic(@PathParam("topicName") String topicName,
@PathParam("consumerId") String consumerId) throws CambriaApiException {
try {
- LOGGER.info("Revoking read access to consumer [" + consumerId
- + "] for topic " + topicName);
-
- topicService.denyConsumerForTopic(getDmaapContext(), topicName,
- consumerId);
-
- LOGGER.info("Read access revoked to consumer [" + consumerId
- + "] for topic " + topicName);
- } catch ( ConfigDbException | IOException
- | TopicExistsException excp) {
- LOGGER.error("Error while revoking read access to consumer ["
- + consumerId + "] for topic " + topicName, excp);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
- DMaaPResponseCode.REVOKE_CONSUMER_FOR_TOPIC.getResponseCode(),
- "Error while revoking read access to consumer ["
- + consumerId + "] for topic " + topicName+ excp.getMessage());
- LOGGER.info(errRes.toString());
- throw new CambriaApiException(errRes);
- }catch (DMaaPAccessDeniedException | AccessDeniedException excp) {
- LOGGER.error("Error while creating a topic: " + excp.getMessage(),
+ LOGGER.info("Revoking read access to consumer [" + consumerId + "] for topic " + topicName);
+
+ tService.denyConsumerForTopic(getDmaapContext(), topicName, consumerId);
+
+ LOGGER.info("Read access revoked to consumer [" + consumerId + "] for topic " + topicName);
+ } catch (ConfigDbException | IOException | TopicExistsException excp) {
+ LOGGER.error("Error while revoking read access to consumer [" + consumerId + "] for topic " + topicName,
excp);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
- DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
- errorMessages.getCreateTopicFail()+ excp.getMessage());
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_FORBIDDEN,
+ DMaaPResponseCode.REVOKE_CONSUMER_FOR_TOPIC.getResponseCode(),
+ "Error while revoking read access to consumer [" + consumerId + "] for topic " + topicName
+ + excp.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
-
- }
- }
+ } catch (DMaaPAccessDeniedException | AccessDeniedException excp) {
+ LOGGER.error("Error while creating a topic: " + excp.getMessage(), excp);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_UNAUTHORIZED,
+ DMaaPResponseCode.CREATE_TOPIC_FAIL.getResponseCode(),
+ errorMessages.getCreateTopicFail() + excp.getMessage());
+ LOGGER.info(errRes.toString());
+ throw new CambriaApiException(errRes);
-
+ }
+ }
}
diff --git a/src/main/java/com/att/nsa/dmaap/service/TransactionRestService.java b/src/main/java/com/att/nsa/dmaap/service/TransactionRestService.java
index a44c2ad..1a870a1 100644
--- a/src/main/java/com/att/nsa/dmaap/service/TransactionRestService.java
+++ b/src/main/java/com/att/nsa/dmaap/service/TransactionRestService.java
@@ -47,9 +47,9 @@ import com.att.nsa.cambria.utils.ConfigurationReader;
import com.att.nsa.configs.ConfigDbException;
/**
- * This class is a CXF REST service
- * which acts as gateway for DMaaP
- * Transaction Ids.
+ * This class is a CXF REST service which acts as gateway for DMaaP Transaction
+ * Ids.
+ *
* @author author
*
*/
@@ -84,10 +84,13 @@ public class TransactionRestService {
@Autowired
private TransactionService transactionService;
+ private DMaaPContext dmaapContext = new DMaaPContext();
+
/**
*
* Returns a list of all the existing Transaction Ids
- * @throws CambriaApiException
+ *
+ * @throws CambriaApiException
*
* @throws IOException
* @exception ConfigDbException
@@ -104,11 +107,10 @@ public class TransactionRestService {
LOGGER.info("Returning list of all transactions.");
} catch (ConfigDbException | IOException e) {
- LOGGER.error("Error while retrieving list of all transactions: "
- + e.getMessage(), e);
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_EXPECTATION_FAILED,
- DMaaPResponseCode.RETRIEVE_TRANSACTIONS.getResponseCode(),
- "Error while retrieving list of all transactions:"+e.getMessage());
+ LOGGER.error("Error while retrieving list of all transactions: " + e.getMessage(), e);
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_EXPECTATION_FAILED,
+ DMaaPResponseCode.RETRIEVE_TRANSACTIONS.getResponseCode(),
+ "Error while retrieving list of all transactions:" + e.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
}
@@ -121,7 +123,7 @@ public class TransactionRestService {
*
* @param transactionId
* - id of transaction
- * @throws CambriaApiException
+ * @throws CambriaApiException
* @throws IOException
* @exception ConfigDbException
* @exception IOException
@@ -131,22 +133,18 @@ public class TransactionRestService {
*/
@GET
@Path("/{transactionId}")
- public void getTransactionObj(
- @PathParam("transactionId") String transactionId) throws CambriaApiException {
+ public void getTransactionObj(@PathParam("transactionId") String transactionId) throws CambriaApiException {
LOGGER.info("Fetching details of Transaction ID : " + transactionId);
try {
- transactionService.getTransactionObj(getDmaapContext(),
- transactionId);
+ transactionService.getTransactionObj(getDmaapContext(), transactionId);
} catch (ConfigDbException | JSONException | IOException e) {
- LOGGER.error("Error while retrieving transaction details for id: "
- + transactionId, e);
-
- ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_EXPECTATION_FAILED,
- DMaaPResponseCode.RETRIEVE_TRANSACTIONS_DETAILS.getResponseCode(),
- "Error while retrieving transaction details for id: ["
- + transactionId + "]: " + e.getMessage());
+ LOGGER.error("Error while retrieving transaction details for id: " + transactionId, e);
+
+ ErrorResponse errRes = new ErrorResponse(HttpStatus.SC_EXPECTATION_FAILED,
+ DMaaPResponseCode.RETRIEVE_TRANSACTIONS_DETAILS.getResponseCode(),
+ "Error while retrieving transaction details for id: [" + transactionId + "]: " + e.getMessage());
LOGGER.info(errRes.toString());
throw new CambriaApiException(errRes);
@@ -165,8 +163,7 @@ public class TransactionRestService {
* Object,HttpServlet Object
*
*/
- private DMaaPContext getDmaapContext() {
- DMaaPContext dmaapContext = new DMaaPContext();
+ public DMaaPContext getDmaapContext() {
dmaapContext.setConfigReader(configReader);
dmaapContext.setRequest(request);
dmaapContext.setResponse(response);
diff --git a/src/test/java/com/att/nsa/dmaap/service/EventsRestServiceTest.java b/src/test/java/com/att/nsa/dmaap/service/EventsRestServiceTest.java
index ff90bd7..05d39ba 100644
--- a/src/test/java/com/att/nsa/dmaap/service/EventsRestServiceTest.java
+++ b/src/test/java/com/att/nsa/dmaap/service/EventsRestServiceTest.java
@@ -19,6 +19,8 @@
*/
package com.att.nsa.dmaap.service;
+import java.util.Date;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -28,20 +30,26 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
+import static org.mockito.Mockito.when;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.powermock.api.mockito.PowerMockito;
import com.att.ajsc.beans.PropertiesMapBean;
import com.att.nsa.cambria.CambriaApiException;
import com.att.nsa.cambria.backends.ConsumerFactory.UnavailableException;
+import com.att.nsa.cambria.exception.DMaaPErrorMessages;
import com.att.nsa.cambria.service.EventsService;
import com.att.nsa.configs.ConfigDbException;
+import com.att.nsa.cambria.utils.Utils;
+import com.att.nsa.drumlin.till.nv.rrNvReadable.missingReqdSetting;
import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
-import static org.mockito.Mockito.when;
+import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Date;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
@@ -61,10 +69,10 @@ public class EventsRestServiceTest {
@Mock
private EventsService eventsService;
-
+
@Mock
ErrorResponse errorResponse;
-
+
@Mock
DMaaPContext dmaapContext;
@@ -75,7 +83,10 @@ public class EventsRestServiceTest {
ServletInputStream servletInputStream;
@Mock
- HttpServletRequest httpServReq;
+ HttpServletRequest request;
+
+ @Mock
+ private DMaaPErrorMessages errorMessages;
@Before
public void setUp() throws Exception {
@@ -93,6 +104,59 @@ public class EventsRestServiceTest {
}
+ @Test
+ public void testGetEvents_error() {
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(eventsService).getEvents(dmaapContext, "topicName",
+ "consumergroup", "consumerid");
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | UnavailableException | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.getEvents("topicName", "consumergroup", "consumerid");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(eventsService).getEvents(dmaapContext, "topicName",
+ "consumergroup", "consumerid");
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | UnavailableException | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.getEvents("topicName", "consumergroup", "consumerid");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new TopicExistsException("error")).when(eventsService).getEvents(dmaapContext,
+ "topicName", "consumergroup", "consumerid");
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | UnavailableException | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.getEvents("topicName", "consumergroup", "consumerid");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ }
+
@Test(expected = TopicExistsException.class)
public void testGetEvents_TopicExistException() throws CambriaApiException, ConfigDbException, TopicExistsException,
UnavailableException, IOException, AccessDeniedException {
@@ -103,10 +167,10 @@ public class EventsRestServiceTest {
eventsService.getEvents(dmaapContext, "topicName", "consumergroup", "consumerid");
}
-
+
@Test(expected = DMaaPAccessDeniedException.class)
- public void testGetEvents_DMaaPAccessDeniedException() throws CambriaApiException, ConfigDbException, TopicExistsException,
- UnavailableException, IOException, AccessDeniedException {
+ public void testGetEvents_DMaaPAccessDeniedException() throws CambriaApiException, ConfigDbException,
+ TopicExistsException, UnavailableException, IOException, AccessDeniedException {
Mockito.doThrow(new DMaaPAccessDeniedException(errorResponse)).when(eventsService).getEvents(dmaapContext,
"topicName", "consumergroup", "consumerid");
@@ -114,17 +178,22 @@ public class EventsRestServiceTest {
eventsService.getEvents(dmaapContext, "topicName", "consumergroup", "consumerid");
}
-
- /*@Test(expected = DMaaPAccessDeniedException.class)
- public void testGetEvents_DMaaPAccessDeniedException() throws CambriaApiException, ConfigDbException, TopicExistsException,
- UnavailableException, IOException, AccessDeniedException {
- Mockito.doThrow(new DMaaPAccessDeniedException(errorResponse)).when(eventsService).getEvents(dmaapContext,
- "topicName", "consumergroup", "consumerid");
-
- eventsService.getEvents(dmaapContext, "topicName", "consumergroup", "consumerid");
-
- }*/
+ /*
+ * @Test(expected = DMaaPAccessDeniedException.class) public void
+ * testGetEvents_DMaaPAccessDeniedException() throws CambriaApiException,
+ * ConfigDbException, TopicExistsException, UnavailableException,
+ * IOException, AccessDeniedException {
+ *
+ * Mockito.doThrow(new
+ * DMaaPAccessDeniedException(errorResponse)).when(eventsService).getEvents(
+ * dmaapContext, "topicName", "consumergroup", "consumerid");
+ *
+ * eventsService.getEvents(dmaapContext, "topicName", "consumergroup",
+ * "consumerid");
+ *
+ * }
+ */
@Test
public void testPushEvents() throws CambriaApiException {
@@ -132,7 +201,59 @@ public class EventsRestServiceTest {
eventsRestRestService.pushEvents("topicName", iStream, "partitionKey");
}
-
+
+ @Test
+ public void testPushEvents_error() {
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(eventsService).pushEvents(dmaapContext, "topicName", iStream,
+ "partitionKey", null);
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEvents("topicName", iStream, "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(eventsService).pushEvents(dmaapContext, "topicName",
+ iStream, "partitionKey", null);
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEvents("topicName", iStream, "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new TopicExistsException("error")).when(eventsService).pushEvents(dmaapContext,
+ "topicName", iStream, "partitionKey", null);
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEvents("topicName", iStream, "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ }
@Test
public void testPushEvents_TopicExistException() throws CambriaApiException {
@@ -143,11 +264,64 @@ public class EventsRestServiceTest {
@Test
public void tesTPushEventsWithTransaction() throws CambriaApiException, IOException {
- // when(dmaapContext.getRequest()).th
- // thenReturn(httpServReq);
- when(httpServReq.getInputStream()).thenReturn(servletInputStream);
+ when(request.getInputStream()).thenReturn(servletInputStream);
eventsRestRestService.pushEventsWithTransaction("topicName", "partitionKey");
}
+ @Test
+ public void tesTPushEventsWithTransaction_error() throws IOException {
+ when(request.getInputStream()).thenReturn(servletInputStream);
+ ServletInputStream stream = request.getInputStream();
+
+ try {
+ PowerMockito.doThrow(new TopicExistsException("error")).when(eventsService).pushEvents(dmaapContext,
+ "topicName", stream, "partitionKey", Utils.getFormattedDate(new Date()));
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEventsWithTransaction("topicName", "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(eventsService).pushEvents(dmaapContext, "topicName",
+ stream, "partitionKey", Utils.getFormattedDate(new Date()));
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEventsWithTransaction("topicName", "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(eventsService).pushEvents(dmaapContext, "topicName", stream,
+ "partitionKey", Utils.getFormattedDate(new Date()));
+ } catch (TopicExistsException | DMaaPAccessDeniedException | AccessDeniedException | ConfigDbException
+ | missingReqdSetting | IOException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException e) {
+ assertTrue(false);
+ }
+
+ try {
+ eventsRestRestService.pushEventsWithTransaction("topicName", "partitionKey");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ }
+
}
diff --git a/src/test/java/com/att/nsa/dmaap/service/MMRestServiceTest.java b/src/test/java/com/att/nsa/dmaap/service/MMRestServiceTest.java
index 6fa5592..d85ef9b 100644
--- a/src/test/java/com/att/nsa/dmaap/service/MMRestServiceTest.java
+++ b/src/test/java/com/att/nsa/dmaap/service/MMRestServiceTest.java
@@ -163,19 +163,23 @@ public class MMRestServiceTest {
public void testCallCreateMirrorMaker() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, JSONException, ConfigDbException {
prepareForTestCommon();
-
- String sampleJson = "{\"test\":\"test\"}";
+
+ // String sampleJson = ""{ messageID:\"test\", createMirrorMaker: {
+ // name:\"test\", consumer:\"test\", producer:\"test\",
+ // whitelist:\"test\",status:\"test\" }}";
+ String sampleJson = "{ messageID:\"test\", createMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
- mmRestService.callCreateMirrorMaker(iStream);
+ mmRestService.callCreateMirrorMaker(inputSteam);
assertTrue(true);
+
}
@Test
public void testCallListAllMirrorMaker() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, JSONException, ConfigDbException {
prepareForTestCommon();
-
- String sampleJson = "{\"test\":\"test\"}";
+
+ String sampleJson = "{ messageID:\"test\", createMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
mmRestService.callListAllMirrorMaker(inputSteam);
assertTrue(true);
@@ -184,24 +188,28 @@ public class MMRestServiceTest {
@Test
public void testCallUpdateMirrorMaker() throws ConfigDbException, CambriaApiException {
prepareForTestCommon();
-
-
- mmRestService.callUpdateMirrorMaker(iStream);
+
+ String sampleJson = "{ messageID:\"test\", updateMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\"}}";
+ InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
+ mmRestService.callUpdateMirrorMaker(inputSteam);
assertTrue(true);
}
@Test
public void testCallDeleteMirrorMaker() throws ConfigDbException, CambriaApiException {
prepareForTestCommon();
- mmRestService.callDeleteMirrorMaker(iStream);
+
+ String sampleJson = "{ messageID:\"test\", deleteMirrorMaker: { name:\"test\", consumer:\"test\", producer:\"test\", whitelist:\"test\",status:\"test\" }}";
+ InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
+ mmRestService.callDeleteMirrorMaker(inputSteam);
assertTrue(true);
}
@Test
public void testListWhiteList() throws ConfigDbException {
prepareForTestCommon();
-
- String sampleJson = "{\"test\":\"test\"}";
+
+ String sampleJson = "{ name:\"test\", namespace:\"test\"}}";
InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
mmRestService.listWhiteList(inputSteam);
assertTrue(true);
@@ -210,9 +218,9 @@ public class MMRestServiceTest {
@Test
public void testCreateWhiteList() throws ConfigDbException {
prepareForTestCommon();
- String sampleJson = "{\"test\":\"test\"}";
+ String sampleJson = "{ name:\"test\", namespace:\"test\", whitelistTopicName:\"test\"}}";
InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
-
+
mmRestService.createWhiteList(inputSteam);
assertTrue(true);
}
@@ -220,13 +228,13 @@ public class MMRestServiceTest {
@Test
public void testDeleteWhiteList() throws ConfigDbException {
prepareForTestCommon();
-
- String sampleJson = "{\"test\":\"test\"}";
+
+ String sampleJson = "{ name:\"test\", namespace:\"test\", whitelistTopicName:\"test\"}}";
InputStream inputSteam = new ByteArrayInputStream(sampleJson.getBytes());
mmRestService.deleteWhiteList(inputSteam);
assertTrue(true);
}
-
+
private void prepareForTestCommon() throws ConfigDbException {
Assert.assertNotNull(mmRestService);
PowerMockito.when(dmaapContext.getRequest()).thenReturn(httpServReq);
@@ -239,6 +247,9 @@ public class MMRestServiceTest {
PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.mirrormakeradmin.aaf"))
.thenReturn("admin");
+ PowerMockito
+ .when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.mirrormakeruser.aaf.create"))
+ .thenReturn("aafcreate");
PowerMockito.when(AJSCPropertiesMap.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.mirrormakeruser.aaf"))
.thenReturn("admin");
@@ -265,6 +276,8 @@ public class MMRestServiceTest {
PowerMockito.when(dmaapAAFauthenticator.aafAuthentication(httpServReq, "admin")).thenReturn(true);
PowerMockito.when(httpServReq.getHeader("Authorization")).thenReturn("Admin");
PowerMockito.when(dmaapAAFauthenticator.aafAuthentication(httpServReq, "admin")).thenReturn(true);
+ PowerMockito.when(dmaapAAFauthenticator.aafAuthentication(httpServReq, "aafcreatetest|create"))
+ .thenReturn(true);
PowerMockito.when(cMirroMaker.getCreateMirrorMaker()).thenReturn(mMaker);
diff --git a/src/test/java/com/att/nsa/dmaap/service/TopicRestServiceTest.java b/src/test/java/com/att/nsa/dmaap/service/TopicRestServiceTest.java
index abaac0f..8778602 100644
--- a/src/test/java/com/att/nsa/dmaap/service/TopicRestServiceTest.java
+++ b/src/test/java/com/att/nsa/dmaap/service/TopicRestServiceTest.java
@@ -185,6 +185,40 @@ public class TopicRestServiceTest {
topicService.getTopics();
}
+ @Test
+ public void testGetTopics_error() throws DMaaPAccessDeniedException, TopicExistsException, ConfigDbException {
+
+ Assert.assertNotNull(topicService);
+
+ PowerMockito.mockStatic(PropertiesMapBean.class);
+
+ assertTrue(true);
+ when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.namespace.aaf"))
+ .thenReturn("namespace");
+
+ PowerMockito.mockStatic(DMaaPResponseBuilder.class);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(httpServReq.getHeader("Authorization")).thenReturn(null);
+
+ when(dmaapContext.getResponse()).thenReturn(httpServRes);
+ String perms = "namespace" + "|" + "*" + "|" + "view";
+ when(dmaapAAFauthenticator.aafAuthentication(httpServReq, perms)).thenReturn(true);
+
+ when(dmaapKafkaMetaBroker.getTopic(anyString())).thenReturn(null);
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).getTopics(dmaapContext);
+ } catch (JSONException | ConfigDbException | IOException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.getTopics();
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
@Test(expected = DMaaPAccessDeniedException.class)
public void testGetAllTopics() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, JSONException, ConfigDbException {
@@ -228,6 +262,36 @@ public class TopicRestServiceTest {
topicService.getAllTopics();
}
+ @Test
+ public void testGetAllTopics_error() throws DMaaPAccessDeniedException, TopicExistsException, ConfigDbException {
+
+ Assert.assertNotNull(topicService);
+ PowerMockito.mockStatic(PropertiesMapBean.class);
+
+ assertTrue(true);
+ when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "msgRtr.namespace.aaf"))
+ .thenReturn("namespace");
+
+ PowerMockito.mockStatic(DMaaPResponseBuilder.class);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(httpServReq.getHeader("Authorization")).thenReturn(null);
+
+ when(dmaapContext.getResponse()).thenReturn(httpServRes);
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).getAllTopics(dmaapContext);
+ } catch (JSONException | ConfigDbException | IOException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.getAllTopics();
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
@Test(expected = DMaaPAccessDeniedException.class)
public void testGetTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, JSONException, ConfigDbException {
@@ -273,6 +337,37 @@ public class TopicRestServiceTest {
}
@Test
+ public void testGetTopic_error() throws DMaaPAccessDeniedException, ConfigDbException {
+
+ Assert.assertNotNull(topicService);
+
+ PowerMockito.mockStatic(PropertiesMapBean.class);
+
+ assertTrue(true);
+ when(PropertiesMapBean.getProperty(CambriaConstants.msgRtr_prop, "enforced.topic.name.AAF"))
+ .thenReturn("enfTopicName");
+
+ PowerMockito.mockStatic(DMaaPResponseBuilder.class);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(httpServReq.getHeader("Authorization")).thenReturn(null);
+
+ when(dmaapContext.getResponse()).thenReturn(httpServRes);
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).getTopic(dmaapContext, "topicName");
+ } catch (TopicExistsException | ConfigDbException | IOException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.getTopic("topicName");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testCreateTopic()
throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
@@ -290,6 +385,62 @@ public class TopicRestServiceTest {
}
@Test
+ public void testCreateTopic_error() {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).createTopic(dmaapContext, topicBean);
+ } catch (TopicExistsException | IOException | AccessDeniedException | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.createTopic(topicBean);
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new TopicExistsException("error")).when(tService).createTopic(dmaapContext, topicBean);
+ } catch (TopicExistsException | IOException | AccessDeniedException | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.createTopic(topicBean);
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(tService).createTopic(dmaapContext, topicBean);
+ } catch (TopicExistsException | IOException | AccessDeniedException | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ } catch (CambriaApiException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.createTopic(topicBean);
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testDeleteTopic()
throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
@@ -307,6 +458,48 @@ public class TopicRestServiceTest {
}
@Test
+ public void testDeleteTopic_error()
+ throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).deleteTopic(dmaapContext, "enfTopicNamePlusExtra");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.deleteTopic("enfTopicNamePlusExtra");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(tService).deleteTopic(dmaapContext,
+ "enfTopicNamePlusExtra");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.deleteTopic("enfTopicNamePlusExtra");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testGetPublishersByTopicName()
throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
@@ -324,6 +517,33 @@ public class TopicRestServiceTest {
}
@Test
+ public void testGetPublishersByTopicName_error() {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).getPublishersByTopicName(dmaapContext,
+ "enfTopicNamePlusExtra");
+ } catch (TopicExistsException | ConfigDbException | IOException e) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.getPublishersByTopicName("enfTopicNamePlusExtra");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testPermitPublisherForTopic()
throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
@@ -341,6 +561,49 @@ public class TopicRestServiceTest {
}
@Test
+ public void testPermitPublisherForTopic_error()
+ throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).permitPublisherForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "producerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.permitPublisherForTopic("enfTopicNamePlusExtra", "producerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(tService).permitPublisherForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "producerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.permitPublisherForTopic("enfTopicNamePlusExtra", "producerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testDenyPublisherForTopic()
throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
@@ -358,6 +621,50 @@ public class TopicRestServiceTest {
}
@Test
+ public void testDenyPublisherForTopic_error()
+ throws DMaaPAccessDeniedException, CambriaApiException, IOException, TopicExistsException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).denyPublisherForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "producerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.denyPublisherForTopic("enfTopicNamePlusExtra", "producerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(tService).denyPublisherForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "producerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.denyPublisherForTopic("enfTopicNamePlusExtra", "producerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ }
+
+ @Test
public void testGetConsumersByTopicName() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, AccessDeniedException {
@@ -375,6 +682,34 @@ public class TopicRestServiceTest {
}
@Test
+ public void testGetConsumersByTopicName_error() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
+ TopicExistsException, AccessDeniedException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).getConsumersByTopicName(dmaapContext,
+ "enfTopicNamePlusExtra");
+ } catch (TopicExistsException | ConfigDbException | IOException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.getConsumersByTopicName("enfTopicNamePlusExtra");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
public void testPermitConsumerForTopic() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, AccessDeniedException {
@@ -390,9 +725,9 @@ public class TopicRestServiceTest {
topicService.permitConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
}
-
+
@Test
- public void testPermitConsumerForTopicWithException() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
+ public void testPermitConsumerForTopic_error() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
TopicExistsException, AccessDeniedException {
Assert.assertNotNull(topicService);
@@ -405,6 +740,35 @@ public class TopicRestServiceTest {
TopicBean topicBean = new TopicBean();
topicBean.setTopicName("enfTopicNamePlusExtra");
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).permitConsumerForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "consumerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.permitConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
+ @Test
+ public void testPermitConsumerForTopicWithException() throws DMaaPAccessDeniedException, CambriaApiException,
+ IOException, TopicExistsException, AccessDeniedException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
topicService.permitConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
}
@@ -425,4 +789,47 @@ public class TopicRestServiceTest {
topicService.denyConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
}
+ @Test
+ public void testDenyConsumerForTopic_error() throws DMaaPAccessDeniedException, CambriaApiException, IOException,
+ TopicExistsException, AccessDeniedException {
+
+ Assert.assertNotNull(topicService);
+
+ when(dmaapContext.getRequest()).thenReturn(httpServReq);
+ when(dmaaPAuthenticator.authenticate(dmaapContext)).thenReturn(nsaSimpleApiKey);
+ when(configReader.getfSecurityManager()).thenReturn(dmaaPAuthenticator);
+ when(dmaapContext.getConfigReader()).thenReturn(configReader);
+
+ TopicBean topicBean = new TopicBean();
+ topicBean.setTopicName("enfTopicNamePlusExtra");
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(tService).denyConsumerForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "consumerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.denyConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+
+ try {
+ PowerMockito.doThrow(new AccessDeniedException()).when(tService).denyConsumerForTopic(dmaapContext,
+ "enfTopicNamePlusExtra", "consumerID");
+ } catch (TopicExistsException | ConfigDbException | IOException | AccessDeniedException
+ | DMaaPAccessDeniedException excp) {
+ assertTrue(false);
+ }
+
+ try {
+ topicService.denyConsumerForTopic("enfTopicNamePlusExtra", "consumerID");
+ } catch (CambriaApiException excp) {
+ assertTrue(true);
+ }
+ }
+
}
diff --git a/src/test/java/com/att/nsa/dmaap/service/TransactionRestServiceTest.java b/src/test/java/com/att/nsa/dmaap/service/TransactionRestServiceTest.java
index 701cb3c..0952c25 100644
--- a/src/test/java/com/att/nsa/dmaap/service/TransactionRestServiceTest.java
+++ b/src/test/java/com/att/nsa/dmaap/service/TransactionRestServiceTest.java
@@ -22,6 +22,7 @@ package com.att.nsa.dmaap.service;
import static org.junit.Assert.*;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -42,6 +43,8 @@ import com.att.nsa.cambria.service.EventsService;
import com.att.nsa.cambria.service.TransactionService;
import com.att.nsa.configs.ConfigDbException;
import com.att.nsa.security.ReadWriteSecuredResource.AccessDeniedException;
+import com.att.aft.dme2.internal.jettison.json.JSONException;
+import org.powermock.api.mockito.PowerMockito;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ PropertiesMapBean.class })
@@ -70,6 +73,7 @@ public class TransactionRestServiceTest {
public void testGetAllTransactionObjs() throws CambriaApiException {
transactionRestService.getAllTransactionObjs();
+ assertTrue(true);
}
@@ -77,6 +81,42 @@ public class TransactionRestServiceTest {
public void testGetTransactionObj() throws CambriaApiException {
transactionRestService.getTransactionObj("transactionId");
+ assertTrue(true);
+
+ }
+
+ @Test
+ public void testGetAllTransactionObjsError() throws CambriaApiException {
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(transactionService).getAllTransactionObjs(dmaapContext);
+ } catch (ConfigDbException | IOException e) {
+ assertTrue(false);
+ }
+
+ try {
+ transactionRestService.getAllTransactionObjs();
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
+
+ }
+
+ @Test
+ public void testGetTransactionObjError() {
+
+ try {
+ PowerMockito.doThrow(new IOException()).when(transactionService).getTransactionObj(dmaapContext,
+ "transactionId");
+ } catch (ConfigDbException | JSONException | IOException e) {
+ assertTrue(false);
+ }
+
+ try {
+ transactionRestService.getTransactionObj("transactionId");
+ } catch (CambriaApiException e) {
+ assertTrue(true);
+ }
}