summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-BE-os
diff options
context:
space:
mode:
authorChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 18:27:19 -0400
committerChristopher Lott (cl778h) <clott@research.att.com>2017-08-23 21:12:56 -0400
commit978dbcf0a196acbafad72fe1e2478ec0e384f02f (patch)
tree17e1ceaa4a12a599320cbb317947e990bf1a5383 /ecomp-portal-BE-os
parentbc7350dce5b7b1dcd1c472a3922b42c4ea99809d (diff)
Deliver centralized role management feature
Repair multiple defects also. Revise deployment to use docker-compose. Remove all zip archives. Issue: PORTAL-21, PORTAL-25, PORTAL-28, PORTAL-52, PORTAL-69, PORTAL-74, PORTAL-76, PORTAL-80, PORTAL-82 Change-Id: Ie72fec7d35ba78beb162bba6ed27b2caee340c61 Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'ecomp-portal-BE-os')
-rw-r--r--ecomp-portal-BE-os/README.md9
-rw-r--r--ecomp-portal-BE-os/pom.xml192
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/OpenIdConnectLoginStrategy.java2
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/SimpleLoginStrategy.java6
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java2
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/controller/LoginController.java9
-rw-r--r--ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/portal/transport/OnboardingApp.java4
-rw-r--r--ecomp-portal-BE-os/src/main/resources/portal.properties5
-rw-r--r--ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/raptor.properties2
-rw-r--r--ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties5
-rw-r--r--ecomp-portal-BE-os/src/main/webapp/WEB-INF/jsp/login.jsp3
-rw-r--r--ecomp-portal-BE-os/src/test/java/org/openecomp/portalapp/portal/framework/MockTestSuite.java68
12 files changed, 268 insertions, 39 deletions
diff --git a/ecomp-portal-BE-os/README.md b/ecomp-portal-BE-os/README.md
index aa406022..e116bc6d 100644
--- a/ecomp-portal-BE-os/README.md
+++ b/ecomp-portal-BE-os/README.md
@@ -14,10 +14,11 @@ https://www.eclipse.org/m2e-wtp/
## Release Notes
-Version 1.1.0, July 2017
+Version 1.1.0 (Amsterdam), November 2017
- [Portal-6] Updates to License and Trademark in the PORTAL Source Code
- [Portal-7] Improvements added as part of the rebasing process
- [Portal-17] Remove jfree related items
+- [PORTAL-21] FE changes to OS for AAF centralization and name space field; DB script updates for EcompPortalDDLMySql_1710_Common.sql under ecomp-portal-DB-common, EcompPortalDMLMySql_1710_OS.sql under ecomp-portal-DB-os;
- [Portal-30] Failed to communicate with the widget microservice: Fixed
- [Portal-35] Replaced the portal logo with onap logo on the login screen.
- [Portal-40] Fix to add user roles
@@ -26,6 +27,12 @@ Version 1.1.0, July 2017
- [Portal-48] Fix to save a new app on Application onboarding
- [Portal-49] image icon is missing on Widget corner
- [Portal-63] remove att_abs_tpls*.js and greensock url
+- [Portal-69] unable to pick role in Functional Menu Update
+- [Portal-73] unable to onboard new Application fix
+- [Portal-50] Enabled the junit coverage in ONAP
+- [Portal-76] Edit functional menu modal doesn't show
+- [Portal-61] Fixed the routing problem, loaded data and changed the notification hyperlink
+- [Portal-77] Changes to remove preview image and update the new image automatically on App onbarding page
Version 1.0.0, February 2017
- Initial release
diff --git a/ecomp-portal-BE-os/pom.xml b/ecomp-portal-BE-os/pom.xml
index d00d47a0..a8c19a54 100644
--- a/ecomp-portal-BE-os/pom.xml
+++ b/ecomp-portal-BE-os/pom.xml
@@ -1,7 +1,7 @@
<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>
- <groupId>org.openecomp.portal</groupId>
+ <groupId>org.onap.portal</groupId>
<artifactId>ecompportal-be-os</artifactId>
<packaging>war</packaging>
<version>1.1</version>
@@ -10,18 +10,17 @@
<springframework.version>4.2.0.RELEASE</springframework.version>
<hibernate.version>4.3.11.Final</hibernate.version>
<eelf.version>1.0.0</eelf.version>
- <epsdk.version>1.1.0</epsdk.version>
- <portal.version>1.1.0</portal.version>
+ <epsdk.version>1.3.0-SNAPSHOT</epsdk.version>
+ <portal.version>1.3.0-SNAPSHOT</portal.version>
<encoding>UTF-8</encoding>
<!-- Tests usually require some setup that maven cannot do, so skip. -->
- <skiptests>false</skiptests>
- <!-- Jenkins invokes mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
+ <skipTests>true</skipTests>
+ <!-- Jenkins SHOULD invoke mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
<build.number>0</build.number>
<sonar.exclusions>**.js</sonar.exclusions>
<nexusproxy>https://nexus.onap.org</nexusproxy>
<snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
<releaseNexusPath>content/repositories/releases/</releaseNexusPath>
- <sitePath>/content/sites/site/org/onap/portal/${project.version}</sitePath>
</properties>
<reporting>
@@ -42,28 +41,26 @@
<useStandardDocletOptions>true</useStandardDocletOptions>
</configuration>
</plugin>
+
</plugins>
</reporting>
<distributionManagement>
<site>
<id>ecomp-site</id>
- <url>dav:${nexusproxy}${sitePath}</url>
+ <url>dav:${nexusproxy}/content/sites/site/org/onap/portal/${project.version}</url>
</site>
</distributionManagement>
<repositories>
<repository>
- <id>ecomp-releases</id>
- <name>OpenECOMP - Release Repository</name>
+ <id>onap-releases</id>
<url>${nexusproxy}/${releaseNexusPath}</url>
</repository>
<repository>
- <id>ecomp-snapshots</id>
- <name>OpenECOMP - Snapshot Repository</name>
+ <id>onap-snapshots</id>
<url>${nexusproxy}/${snapshotNexusPath}</url>
</repository>
<repository>
- <id>ecomp-public</id>
- <name>ecomp onap public Repository</name>
+ <id>onap-public</id>
<url>https://nexus.onap.org/content/groups/public</url>
</repository>
</repositories>
@@ -99,6 +96,121 @@
<target>1.8</target>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.7.5.201505241946</version>
+ <executions>
+
+ <!-- Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed. -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${basedir}/target/coverage-reports/jacoco-ut.exec</destFile>
+ <!-- Sets the name of the property containing the settings for JaCoCo
+ runtime agent. -->
+ <propertyName>surefireArgLine</propertyName>
+ <skip>${skipTests}</skip>
+ </configuration>
+
+ </execution>
+ <!-- Ensures that the code coverage report for unit tests is created
+ after unit tests have been run. -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ <skip>${skipTests}</skip>
+
+ </configuration>
+ </execution>
+ <!-- Will see build errors while running the test cases because of dual
+ instrumentation -->
+ <execution>
+ <id>default-instrument</id>
+ <goals>
+ <goal>instrument</goal>
+ </goals>
+ <configuration>
+ <skip>${skipTests}</skip>
+ </configuration>
+ </execution>
+ <execution>
+ <id>default-restore-instrumented-classes</id>
+ <goals>
+ <goal>restore-instrumented-classes</goal>
+ </goals>
+ <configuration>
+ <skip>${skipTests}</skip>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.0.2</version>
+ <executions>
+ <execution>
+ <id>copy-src</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${basedir}/target/classes</outputDirectory>
+ <overwrite>false</overwrite>
+ <skip>${skipTests}</skip>
+ <resources>
+ <resource>
+ <directory>${basedir}/../ecomp-portal-BE-common/target/classes</directory>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+
+ </executions>
+ </plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.19.1</version>
+ <configuration>
+ <skipTests>${skipTests}</skipTests>
+ <includes>
+ <include>**/*Test.java</include>
+ <include>**/*TestCase.java</include>
+ <inlcude>**/*TestSuite.java</inlcude>
+ </includes>
+ <!-- Intentionally Excluding TestFromSuite -->
+ <excludes>
+ <exclude>**/*TestFromSuite.java</exclude>
+ </excludes>
+ <additionalClasspathElements>
+ <additionalClasspathElement>${basedir}/src/main/webapp</additionalClasspathElement>
+ <additionalClasspathElement>../ecomp-portal-BE-common/src/main/webapp</additionalClasspathElement>
+ <additionalClasspathElement>../ecomp-portal-BE-common</additionalClasspathElement>
+ </additionalClasspathElements>
+ <systemPropertyVariables>
+ <container.classpath>classpath:</container.classpath>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
@@ -118,13 +230,13 @@
<overlays>
<!-- specify the order in which these should be applied -->
<overlay>
- <groupId>org.openecomp.portal</groupId>
+ <groupId>org.onap.portal</groupId>
<artifactId>ecompportal-be-common</artifactId>
</overlay>
<overlay>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-app-overlay</artifactId>
- </overlay>
+ </overlay>
</overlays>
</configuration>
</plugin>
@@ -249,17 +361,29 @@
</build>
<dependencies>
+ <!--
<dependency>
<groupId>com.att.eelf</groupId>
<artifactId>eelf-core</artifactId>
<version>${eelf.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
+
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.5</version>
</dependency>
-
+ -->
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
@@ -412,7 +536,6 @@
<artifactId>*</artifactId>
</exclusion>
</exclusions>
- <!-- -->
</dependency>
<dependency>
@@ -540,14 +663,14 @@
<!-- SDK overlay war -->
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-app-overlay</artifactId>
<version>${epsdk.version}</version>
<type>war</type>
</dependency>
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-app-common</artifactId>
<version>${epsdk.version}</version>
<type>jar</type>
@@ -555,14 +678,14 @@
<!-- EcompPortal common overlay -->
<dependency>
- <groupId>org.openecomp.portal</groupId>
+ <groupId>org.onap.portal</groupId>
<artifactId>ecompportal-be-common</artifactId>
<version>${portal.version}</version>
<type>war</type>
</dependency>
<dependency>
- <groupId>org.openecomp.portal</groupId>
+ <groupId>org.onap.portal</groupId>
<artifactId>ecompportal-be-common</artifactId>
<version>${portal.version}</version>
<type>jar</type>
@@ -570,7 +693,7 @@
</dependency>
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-fw</artifactId>
<version>${epsdk.version}</version>
<exclusions>
@@ -594,13 +717,13 @@
</dependency>
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-core</artifactId>
<version>${epsdk.version}</version>
</dependency>
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-workflow</artifactId>
<version>${epsdk.version}</version>
</dependency>
@@ -608,7 +731,7 @@
<!-- Raptor required Libraries -->
<!-- for static charts -->
<dependency>
- <groupId>org.openecomp.ecompsdkos</groupId>
+ <groupId>org.onap.portal.sdk</groupId>
<artifactId>epsdk-analytics</artifactId>
<version>${epsdk.version}</version>
</dependency>
@@ -628,13 +751,26 @@
<version>4.11</version>
<scope>test</scope>
</dependency>
-
<dependency>
+ <groupId>org.onap.portal</groupId>
+ <artifactId>ecomp-portal-BE-common-test</artifactId>
+ <version>${portal.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.8.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.2</version>
</dependency>
-
+
+
+
<!-- OpenID Connect Dependencies -->
<dependency>
<groupId>org.mitre</groupId>
diff --git a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/OpenIdConnectLoginStrategy.java b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/OpenIdConnectLoginStrategy.java
index 8365ebc2..48f447b4 100644
--- a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/OpenIdConnectLoginStrategy.java
+++ b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/OpenIdConnectLoginStrategy.java
@@ -64,7 +64,7 @@ public class OpenIdConnectLoginStrategy extends org.openecomp.portalsdk.core.aut
user.setLastName(userInfo.getFamilyName());
//store the currently logged in user's information in the session
- EPUserUtils.setUserSession(request, user, new HashSet(), new HashSet(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM), null);
+ EPUserUtils.setUserSession(request, user, new HashSet(), new HashSet(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM),null);
logger.info(EELFLoggerDelegate.errorLogger, request.getContextPath());
SessionCookieUtil.preSetUp(request, response);
diff --git a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/SimpleLoginStrategy.java b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/SimpleLoginStrategy.java
index c1fee7f3..0c3c4996 100644
--- a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/SimpleLoginStrategy.java
+++ b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/authentication/SimpleLoginStrategy.java
@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletResponse;
import org.openecomp.portalapp.command.EPLoginBean;
import org.openecomp.portalapp.portal.service.EPLoginService;
+import org.openecomp.portalapp.portal.service.EPRoleFunctionService;
import org.openecomp.portalapp.portal.service.EPRoleService;
import org.openecomp.portalapp.portal.utils.EPSystemProperties;
import org.openecomp.portalapp.portal.utils.EcompPortalUtils;
@@ -45,6 +46,9 @@ public class SimpleLoginStrategy extends org.openecomp.portalsdk.core.auth.Login
@Autowired
private EPRoleService roleService;
+ @Autowired
+ private EPRoleFunctionService ePRoleFunctionService;
+
private static final String GLOBAL_LOCATION_KEY = "Location";
EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(SimpleLoginStrategy.class);
@@ -66,7 +70,7 @@ public class SimpleLoginStrategy extends org.openecomp.portalsdk.core.auth.Login
}
else {
// store the currently logged in user's information in the session
- EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), "", roleService.getRoleFunctions());
+ EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), "", ePRoleFunctionService);
logger.info(EELFLoggerDelegate.debugLogger, commandBean.getUser().getOrgUserId() + " exists in the the system.");
}
diff --git a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java
index a16cf56b..92d63742 100644
--- a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java
+++ b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/conf/ExternalAppConfig.java
@@ -200,7 +200,7 @@ public class ExternalAppConfig extends AppConfig implements Configurable {
registry.addInterceptor(sessionTimeoutInterceptor()).excludePathPatterns("/oid-login", "/portalApi/healthCheck",
"/portalApi/healthCheck/", "/portalApi/healthCheckSuspend", "/portalApi/healthCheckSuspend/",
"/portalApi/healthCheckResume", "/portalApi/healthCheckResume/", "/login_external",
- "/login_external.htm*", "login", "/login.htm*", "/auxapi/*", "/context/*", "/api*",
+ "/login_external.htm*", "login", "/login.htm*","/auxapi/*","/context/*", "/api*",
"/single_signon.htm", "/single_signon", "/dashboard", "/OpenSourceLogin.htm");
registry.addInterceptor(portalResourceInterceptor());
diff --git a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/controller/LoginController.java b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/controller/LoginController.java
index 6f3d2278..33cc4dd7 100644
--- a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/controller/LoginController.java
+++ b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/controller/LoginController.java
@@ -36,6 +36,7 @@ import org.json.JSONObject;
import org.openecomp.portalapp.command.EPLoginBean;
import org.openecomp.portalapp.portal.domain.SharedContext;
import org.openecomp.portalapp.portal.service.EPLoginService;
+import org.openecomp.portalapp.portal.service.EPRoleFunctionService;
import org.openecomp.portalapp.portal.service.EPRoleService;
import org.openecomp.portalapp.portal.service.SharedContextService;
import org.openecomp.portalapp.portal.utils.EPSystemProperties;
@@ -84,6 +85,9 @@ public class LoginController extends EPUnRestrictedBaseController implements Log
@Autowired
private EPRoleService roleService;
+ @Autowired
+ private EPRoleFunctionService ePRoleFunctionService;
+
String viewName = "login";
private String welcomeView;
@@ -142,8 +146,7 @@ public class LoginController extends EPUnRestrictedBaseController implements Log
}
else {
// store the currently logged in user's information in the session
- EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM),
- roleService.getRoleFunctions());
+ EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM),ePRoleFunctionService);
try{
logger.info(EELFLoggerDelegate.debugLogger, "******************* store user info into share context begins");
@@ -249,7 +252,7 @@ public class LoginController extends EPUnRestrictedBaseController implements Log
sbAdditionalInfo.append(String.format("Login-Id: %s, Login-Method: %s, Request-URL: %s", orgUserId, "", fullURL));
logger.info(EELFLoggerDelegate.debugLogger, "*********************** now set up user session for " + orgUserId);
- EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM), roleService.getRoleFunctions());
+ EPUserUtils.setUserSession(request, commandBean.getUser(), commandBean.getMenu(), commandBean.getBusinessDirectMenu(), SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM),ePRoleFunctionService);
logger.info(EELFLoggerDelegate.debugLogger, "*********************** now set up user session for " + orgUserId + " finished");
//Store user's information into share context
diff --git a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/portal/transport/OnboardingApp.java b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/portal/transport/OnboardingApp.java
index f953634a..eee12234 100644
--- a/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/portal/transport/OnboardingApp.java
+++ b/ecomp-portal-BE-os/src/main/java/org/openecomp/portalapp/portal/transport/OnboardingApp.java
@@ -56,6 +56,10 @@ public class OnboardingApp {
public String uebSecret;
public Boolean restrictedApp;
+
+ public Boolean isCentralAuth;
+
+ public String nameSpace;
public void normalize() {
this.name = (this.name == null) ? "" : this.name.trim();
diff --git a/ecomp-portal-BE-os/src/main/resources/portal.properties b/ecomp-portal-BE-os/src/main/resources/portal.properties
index a1982632..e23d04e4 100644
--- a/ecomp-portal-BE-os/src/main/resources/portal.properties
+++ b/ecomp-portal-BE-os/src/main/resources/portal.properties
@@ -42,3 +42,8 @@ ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX-DEV-LOCAL
# Consumer group name for UEB topic.
# Use the special tag to generate a unique one for each sdk-app server.
ueb_app_consumer_group_name = {UUID}
+
+role_access_centralized = remote
+
+ext_req_connection_timeout = 15000
+ext_req_read_timeout = 20000
diff --git a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/raptor.properties b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/raptor.properties
index 0c32ef65..68d60140 100644
--- a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/raptor.properties
+++ b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/raptor.properties
@@ -107,7 +107,7 @@ flat_file_upper_limit=200000
request_get_params=c_master,isEmbedded
print_footer_in_download=yes
## footer mentioned here appears in downloaded excel
-footer_first_line=AT&T Proprietary
+footer_first_line=Raptor
footer_second_line=Use Pursuant to Company Instructions
## to run report in popup window
report_in_popup_window=yes
diff --git a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties
index 0fc2c69d..8f74a9f2 100644
--- a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties
+++ b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/conf/system.properties
@@ -35,7 +35,7 @@ hb.idle_connection_test_period = 3600
# Ecomp portal title
app_display_name = Portal
-files_path = /demeter/WebApps/dev/ECOMP_APP/files
+files_path = /tmp
context_root = ECOMPPORTAL
# menu settings
menu_query_name = menuData
@@ -116,3 +116,6 @@ authenticate_user_server=http://todo_enter_auth_server_hostname:8383/openid-conn
#window width threshold to collapse left/right menu when page onload
window_width_threshold_left_menu = 1400
window_width_threshold_right_menu = 1350
+
+#External system notification URL
+external_system_notification_url= http://todo_external_system_notification_url?
diff --git a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/jsp/login.jsp b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/jsp/login.jsp
index 1b269d80..a8265c71 100644
--- a/ecomp-portal-BE-os/src/main/webapp/WEB-INF/jsp/login.jsp
+++ b/ecomp-portal-BE-os/src/main/webapp/WEB-INF/jsp/login.jsp
@@ -37,11 +37,9 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
- <link rel="stylesheet" type="text/css" href="static/fusion/css/jquery-ui.css">
<script src="static/js/jquery-1.10.2.js" type="text/javascript"></script>
<script src= "static/ebz/angular_js/angular.js"></script>
<script src= "static/ebz/angular_js/angular-sanitize.js"></script>
- <script src= "static/ebz/angular_js/app.js"></script>
<script src= "static/ebz/angular_js/gestures.js"></script>
<style>
.terms {
@@ -126,6 +124,7 @@
</div>
</body>
<script>
+var app=angular.module("abs", []);
app.controller("externalLoginController", function ($scope) {
// Table Data
diff --git a/ecomp-portal-BE-os/src/test/java/org/openecomp/portalapp/portal/framework/MockTestSuite.java b/ecomp-portal-BE-os/src/test/java/org/openecomp/portalapp/portal/framework/MockTestSuite.java
new file mode 100644
index 00000000..ec464fd6
--- /dev/null
+++ b/ecomp-portal-BE-os/src/test/java/org/openecomp/portalapp/portal/framework/MockTestSuite.java
@@ -0,0 +1,68 @@
+package org.openecomp.portalapp.portal.framework;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.openecomp.portalapp.portal.test.controller.AppCatalogControllerTest;
+import org.openecomp.portalapp.portal.test.controller.AppContactUsControllerTest;
+import org.openecomp.portalapp.portal.test.controller.AppsControllerExternalRequestTest;
+import org.openecomp.portalapp.portal.test.controller.AppsControllerTest;
+import org.openecomp.portalapp.portal.test.controller.BEPropertyReaderControllerTest;
+import org.openecomp.portalapp.portal.test.controller.BasicAuthAccountControllerTest;
+import org.openecomp.portalapp.portal.test.controller.CommonWidgetControllerTest;
+import org.openecomp.portalapp.portal.test.controller.ConsulClientControllerTest;
+import org.openecomp.portalapp.portal.test.controller.DashboardSearchResultControllerTest;
+import org.openecomp.portalapp.portal.test.controller.ExternalAppsRestfulControllerTest;
+import org.openecomp.portalapp.portal.test.controller.FunctionalMenuControllerTest;
+import org.openecomp.portalapp.portal.test.controller.GetAccessControllerTest;
+import org.openecomp.portalapp.portal.test.controller.ManifestControllerTest;
+import org.openecomp.portalapp.portal.test.controller.MicroserviceControllerTest;
+import org.openecomp.portalapp.portal.test.controller.MicroserviceProxyControllerTest;
+import org.openecomp.portalapp.portal.test.controller.PortalAdminControllerTest;
+import org.openecomp.portalapp.portal.test.controller.RolesApprovalSystemControllerTest;
+import org.openecomp.portalapp.portal.test.controller.TicketEventControllerTest;
+import org.openecomp.portalapp.portal.test.controller.UserControllerTest;
+import org.openecomp.portalapp.portal.test.controller.UserNotificationControllerTest;
+import org.openecomp.portalapp.portal.test.controller.UserRolesControllerTest;
+import org.openecomp.portalapp.portal.test.controller.WebAnalyticsExtAppControllerTest;
+import org.openecomp.portalapp.portal.test.controller.WidgetsCatalogMarkupControllerTest;
+
+
+
+/**
+ *
+ *
+ * Create the Test class in ecmop-portal-BE-common-test and extend from MockitoTestSuite
+ * Add the class in Suite to test it
+ *
+ */
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+UserRolesControllerTest.class,
+FunctionalMenuControllerTest.class,
+AppCatalogControllerTest.class,
+AppContactUsControllerTest.class,
+UserNotificationControllerTest.class,
+TicketEventControllerTest.class,
+CommonWidgetControllerTest.class,
+ConsulClientControllerTest.class,
+GetAccessControllerTest.class,
+AppsControllerTest.class,
+BasicAuthAccountControllerTest.class,
+DashboardSearchResultControllerTest.class,
+PortalAdminControllerTest.class,
+ManifestControllerTest.class,
+BEPropertyReaderControllerTest.class,
+WebAnalyticsExtAppControllerTest.class,
+AppsControllerExternalRequestTest.class,
+WidgetsCatalogMarkupControllerTest.class,
+RolesApprovalSystemControllerTest.class,
+MicroserviceProxyControllerTest.class,
+MicroserviceControllerTest.class,
+ExternalAppsRestfulControllerTest.class,
+UserControllerTest.class
+})
+public class MockTestSuite {
+
+}
+