Repository: jhipster/generator-jhipster
Pull request #9269 (2019-02-14 22:55:08)

Update elasticsearch version to 6.4.3
-   Please make sure the below checklist is followed for Pull Requests.

-   [x] [Travis tests](https://travis-ci.org/jhipster/generator-jhipster/pull_requests) are green
-   [x] Tests are added where necessary
-   [x] Documentation is added/updated where necessary
-   [x] Coding Rules & Commit Guidelines as per our [CONTRIBUTING.md document](https://github.com/jhipster/generator-jhipster/blob/master/CONTRIBUTING.md) are followed

<!--
Please also reference the issue number in a commit message to [automatically close the related Github issue](https://help.github.com/articles/closing-issues-via-commit-messages/)

Note: It is also possible to add `[skip ci]` to your commit message to skip Travis tests
-->



Patch:
diff --git a/.prettierignore b/.prettierignore
index adacca64d4..2f01b6af9e 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,7 +1,6 @@
 node_modules
 travis
 docs
-.git
 .jhipster
 .vscode
 **/templates/**/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 014e6fe703..b4e6bb3ebf 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -272,7 +272,7 @@ To ensure consistency throughout the source code, keep these rules in mind as yo
 -   Java files **must be** formatted using Intellij IDEA default code style.
 -   Generators JavaScript files **must follow** the eslint configuration defined at the project root, which is based on [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript).
 -   Any client side feature/change should be done for both Angular and react clients
--   Web apps JavaScript files **must follow** [Google's JavaScript Style Guide](https://google.github.io/styleguide/jsguide.html).
+-   Web apps JavaScript files **must follow** [Google's JavaScript Style Guide](https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml).
 -   Angular Typescript files **must follow** the [Official Angular style guide](https://angular.io/styleguide).
 -   React/Redux Typescript files **may follow** the [React/Redux Typescript guide](https://github.com/piotrwitek/react-redux-typescript-guide).
 
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 63d4172972..926fca67ca 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -47,7 +47,6 @@ jobs:
         JHI_ENTITY: sql
       react-noi18n-es-ws-gradle-session:
         JHI_APP: react-noi18n-es-ws-gradle-session
-        JHI_PROFILE: prod
         JHI_PROTRACTOR: 1
         JHI_ENTITY: sql
       ms-ngx-gateway-eureka-oauth2:
diff --git a/generators/cleanup.js b/generators/cleanup.js
index 2e1b27043c..579ad72237 100644
--- a/generators/cleanup.js
+++ b/generators/cleanup.js
@@ -157,7 +157,7 @@ function cleanupOldServerFiles(generator, javaDir, testDir, mainResourceDir, tes
         generator.removeFile(`${mainResourceDir}mails/passwordResetEmail.html`);
         generator.removeFile(`${mainResourceDir}mails/socialRegistrationValidationEmail.html`);
         generator.removeFile(`${testResourceDir}mail/testEmail.html`);
-        generator.removeFile(`${testDir}web/rest/ProfileInfoResourceIT.java`);
+        generator.removeFile(`${testDir}web/rest/ProfileInfoResourceIntTest.java`);
         generator.removeFile('gradle/mapstruct.gradle');
     }
     if (generator.isJhipsterVersionLessThan('5.2.2')) {
diff --git a/generators/client/files-react.js b/generators/client/files-react.js
index 9d9c874474..e760157298 100644
--- a/generators/client/files-react.js
+++ b/generators/client/files-react.js
@@ -310,7 +310,6 @@ const files = {
                 { file: 'shared/auth/private-route.tsx', method: 'processJsx' },
                 { file: 'shared/error/error-boundary.tsx', method: 'processJsx' },
                 { file: 'shared/error/error-boundary-route.tsx', method: 'processJsx' },
-                { file: 'shared/error/page-not-found.tsx', method: 'processJsx' },
                 // model
                 'shared/model/user.model.ts'
             ]
diff --git a/generators/client/index.js b/generators/client/index.js
index e6f3cbb47c..f411ce07fd 100644
--- a/generators/client/index.js
+++ b/generators/client/index.js
@@ -330,7 +330,7 @@ module.exports = class extends BaseBlueprintGenerator {
 
                 this.styleSheetExt = this.useSass ? 'scss' : 'css';
                 this.pkType = this.getPkType(this.databaseType);
-                this.apiUaaPath = `${this.authenticationType === 'uaa' ? `services/${this.uaaBaseName.toLowerCase()}/` : ''}`;
+                this.apiUaaPath = `${this.authenticationType === 'uaa' ? `${this.uaaBaseName.toLowerCase()}/` : ''}`;
                 this.DIST_DIR = this.getResourceBuildDirectoryForBuildTool(this.configOptions.buildTool) + constants.CLIENT_DIST_DIR;
                 this.AOT_DIR = `${this.getResourceBuildDirectoryForBuildTool(this.configOptions.buildTool)}aot`;
                 this.CLIENT_MAIN_SRC_DIR = constants.CLIENT_MAIN_SRC_DIR;
diff --git a/generators/client/templates/angular/package.json.ejs b/generators/client/templates/angular/package.json.ejs
index 4a8409cf88..5ca7dc69bb 100644
--- a/generators/client/templates/angular/package.json.ejs
+++ b/generators/client/templates/angular/package.json.ejs
@@ -43,7 +43,7 @@
     "bootstrap": "4.2.1",
     "core-js": "2.6.4",
     "moment": "2.24.0",
-    "ng-jhipster": "0.9.3",
+    "ng-jhipster": "0.9.1",
     "ngx-cookie": "2.0.1",
     "ngx-infinite-scroll": "7.0.1",
     "ngx-webstorage": "2.0.1",
@@ -75,7 +75,6 @@
     "angular-router-loader": "0.8.5",
     "angular2-template-loader": "0.6.2",
     "autoprefixer": "9.4.7",
-    "base-href-webpack-plugin": "2.0.0",
     "browser-sync": "2.26.3",
     "browser-sync-webpack-plugin": "2.2.2",
     "cache-loader": "2.0.1",
diff --git a/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs b/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs
index 2c51e04251..3ce2af545d 100644
--- a/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs
+++ b/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs
@@ -36,7 +36,7 @@ const LAYOUT_ROUTES = [
                 },
                 ...LAYOUT_ROUTES
             ],
-            { enableTracing: DEBUG_INFO_ENABLED }
+            { useHash: true , enableTracing: DEBUG_INFO_ENABLED }
         )
     ],
     exports: [
diff --git a/generators/client/templates/angular/src/main/webapp/index.html.ejs b/generators/client/templates/angular/src/main/webapp/index.html.ejs
index 83a8c7ef11..9f2cc39578 100644
--- a/generators/client/templates/angular/src/main/webapp/index.html.ejs
+++ b/generators/client/templates/angular/src/main/webapp/index.html.ejs
@@ -19,7 +19,7 @@
 <!doctype html>
 <html class="no-js" lang="<% if (enableTranslation) { %><%= nativeLanguage %><% } else { %>en<% } %>" dir="ltr">
 <head>
-    <base href="/" />
+    <base href="./" />
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title><%= baseName %></title>
diff --git a/generators/client/templates/angular/src/main/webapp/manifest.webapp.ejs b/generators/client/templates/angular/src/main/webapp/manifest.webapp.ejs
index 44f810248f..e854d40762 100644
--- a/generators/client/templates/angular/src/main/webapp/manifest.webapp.ejs
+++ b/generators/client/templates/angular/src/main/webapp/manifest.webapp.ejs
@@ -25,7 +25,7 @@
   ],
   "theme_color": "#000000",
   "background_color": "#e0e0e0",
-  "start_url": ".",
+  "start_url": "/index.html",
   "display": "standalone",
   "orientation": "portrait"
 }
diff --git a/generators/client/templates/angular/webpack/webpack.dev.js.ejs b/generators/client/templates/angular/webpack/webpack.dev.js.ejs
index f114fc82b7..174172d7cf 100644
--- a/generators/client/templates/angular/webpack/webpack.dev.js.ejs
+++ b/generators/client/templates/angular/webpack/webpack.dev.js.ejs
@@ -39,8 +39,16 @@ module.exports = (options) => webpackMerge(commonConfig({ env: ENV }), {
     devServer: {
         contentBase: './<%= DIST_DIR %>',
         proxy: [{
-            context: [
-                '/'
+            context: [<% if (authenticationType === 'uaa') { %>
+                '/<%= uaaBaseName.toLowerCase() %>',<% } %>
+                /* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
+                '/api',
+                '/management',
+                '/swagger-resources',
+                '/v2/api-docs',
+                '/h2-console',<% if (authenticationType === 'oauth2') { %>
+                '/login',<% } %>
+                '/auth'
             ],
             target: `http${options.tls ? 's' : ''}://localhost:<%= serverPort %>`,
             secure: false,
diff --git a/generators/client/templates/angular/webpack/webpack.prod.js.ejs b/generators/client/templates/angular/webpack/webpack.prod.js.ejs
index 7e7e5705ff..544394e86d 100644
--- a/generators/client/templates/angular/webpack/webpack.prod.js.ejs
+++ b/generators/client/templates/angular/webpack/webpack.prod.js.ejs
@@ -18,7 +18,6 @@
 -%>
 const webpack = require('webpack');
 const webpackMerge = require('webpack-merge');
-const { BaseHrefWebpackPlugin } = require('base-href-webpack-plugin');
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
 const Visualizer = require('webpack-visualizer-plugin');
@@ -165,8 +164,7 @@ module.exports = webpackMerge(commonConfig({ env: ENV }), {
         new WorkboxPlugin.GenerateSW({
           clientsClaim: true,
           skipWaiting: true,
-        }),
-        new BaseHrefWebpackPlugin({ baseHref: '/' })
+        })
     ],
     mode: 'production'
 });
diff --git a/generators/client/templates/react/package.json.ejs b/generators/client/templates/react/package.json.ejs
index 9d8a3cf199..ab56cb9591 100644
--- a/generators/client/templates/react/package.json.ejs
+++ b/generators/client/templates/react/package.json.ejs
@@ -84,7 +84,6 @@ limitations under the License.
     <%_ } _%>
     "@types/webpack-env": "1.13.6",
     "autoprefixer": "9.2.0",
-    "base-href-webpack-plugin": "2.0.0",
     "browser-sync": "2.26.3",
     "browser-sync-webpack-plugin": "2.2.2",
     "cache-loader": "1.2.2",
diff --git a/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs b/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs
index 277617e9a7..c35b43dffa 100644
--- a/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs
+++ b/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs
@@ -22,7 +22,7 @@ import './app.<%= styleSheetExt %>';
 import React from 'react';
 import { connect } from 'react-redux';
 import { Card } from 'reactstrap';
-import { BrowserRouter as Router } from 'react-router-dom';
+import { HashRouter as Router } from 'react-router-dom';
 import { ToastContainer, ToastPosition, toast } from 'react-toastify';
 
 import { IRootState } from 'app/shared/reducers';
diff --git a/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs b/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs
index 04eb46ed08..b783c77b77 100644
--- a/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs
+++ b/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs
@@ -32,7 +32,6 @@ import Home from 'app/modules/home/home';
 import Entities from 'app/entities';
 import PrivateRoute from 'app/shared/auth/private-route';
 import ErrorBoundaryRoute from 'app/shared/error/error-boundary-route';
-import PageNotFound from 'app/shared/error/page-not-found';
 import { AUTHORITIES } from 'app/config/constants';
 
 // tslint:disable:space-in-parens
@@ -51,10 +50,10 @@ const Admin = Loadable({
 
 const Routes = () => (
   <div className="view-routes">
-    <Switch>
     <%_ if (authenticationType !== 'oauth2') { _%>
-      <ErrorBoundaryRoute path="/login" component={Login} />
+    <ErrorBoundaryRoute path="/login" component={Login} />
     <%_ } _%>
+    <Switch>
       <ErrorBoundaryRoute path="/logout" component={Logout} />
     <%_ if (authenticationType !== 'oauth2') { _%>
       <ErrorBoundaryRoute path="/register" component={Register} />
@@ -67,8 +66,7 @@ const Routes = () => (
       <PrivateRoute path="/account" component={Account} hasAnyAuthorities={[AUTHORITIES.ADMIN, AUTHORITIES.USER]}/>
     <%_ } _%>
       <PrivateRoute path="/entity" component={Entities} hasAnyAuthorities={[AUTHORITIES.USER]}/>
-      <ErrorBoundaryRoute path="/" exact component={Home}/>
-      <ErrorBoundaryRoute component={PageNotFound} />
+      <ErrorBoundaryRoute path="/" component={Home}/>
     </Switch>
   </div>
 );
diff --git a/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs b/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs
deleted file mode 100644
index 21abc39eba..0000000000
--- a/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs
+++ /dev/null
@@ -1,19 +0,0 @@
-import React from 'react';
-import { Translate } from 'react-jhipster';
-import { Row, Col, Alert } from 'reactstrap';
-
-class PageNotFound extends React.Component {
-  render() {
-    return (
-      <div>
-        <Alert color="danger">
-          <Translate contentKey="error.http.404">
-            The page does not exist.
-          </Translate>
-        </Alert>
-      </div>
-    );
-  }
-}
-
-export default PageNotFound;
diff --git a/generators/client/templates/react/src/main/webapp/index.html.ejs b/generators/client/templates/react/src/main/webapp/index.html.ejs
index a9ba2daff6..f4fd783136 100644
--- a/generators/client/templates/react/src/main/webapp/index.html.ejs
+++ b/generators/client/templates/react/src/main/webapp/index.html.ejs
@@ -19,7 +19,7 @@
 <!doctype html>
 <html class="no-js" lang="<%= nativeLanguage %>" dir="ltr">
 <head>
-    <base href="/" />
+    <base href="./" />
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title><%= baseName %></title>
diff --git a/generators/client/templates/react/src/main/webapp/manifest.webapp.ejs b/generators/client/templates/react/src/main/webapp/manifest.webapp.ejs
index fcd8c3ca0b..c28140adde 100644
--- a/generators/client/templates/react/src/main/webapp/manifest.webapp.ejs
+++ b/generators/client/templates/react/src/main/webapp/manifest.webapp.ejs
@@ -25,7 +25,7 @@
   ],
   "theme_color": "#000000",
   "background_color": "#e0e0e0",
-  "start_url": ".",
+  "start_url": "/index.html",
   "display": "standalone",
   "orientation": "portrait"
 }
diff --git a/generators/client/templates/react/webpack/webpack.dev.js.ejs b/generators/client/templates/react/webpack/webpack.dev.js.ejs
index a2213cc4e6..bd8e436ab2 100644
--- a/generators/client/templates/react/webpack/webpack.dev.js.ejs
+++ b/generators/client/templates/react/webpack/webpack.dev.js.ejs
@@ -69,8 +69,16 @@ module.exports = (options) => webpackMerge(commonConfig({ env: ENV }), {
     hot: true,
     contentBase: './<%= DIST_DIR %>',
     proxy: [{
-      context: [
-        '/'
+      context: [<% if (authenticationType === 'uaa') { %>
+        '/<%= uaaBaseName.toLowerCase() %>',<% } %>
+        /* jhipster-needle-add-entity-to-webpack - JHipster will add entity api paths here */
+        '/api',
+        '/management',
+        '/swagger-resources',
+        '/v2/api-docs',
+        '/h2-console',<% if (authenticationType === 'oauth2') { %>
+        '/login',<% } %>        
+        '/auth'
       ],
       target: `http${options.tls ? 's' : ''}://localhost:<%= serverPort %>`,
       secure: false,
diff --git a/generators/client/templates/react/webpack/webpack.prod.js.ejs b/generators/client/templates/react/webpack/webpack.prod.js.ejs
index a65dddf29d..2df3bfa8be 100644
--- a/generators/client/templates/react/webpack/webpack.prod.js.ejs
+++ b/generators/client/templates/react/webpack/webpack.prod.js.ejs
@@ -18,7 +18,6 @@
 -%>
 const webpack = require('webpack');
 const webpackMerge = require('webpack-merge');
-const { BaseHrefWebpackPlugin } = require('base-href-webpack-plugin');
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const WorkboxPlugin = require('workbox-webpack-plugin');
 const TerserPlugin = require('terser-webpack-plugin');
@@ -125,7 +124,6 @@ module.exports = webpackMerge(commonConfig({ env: ENV }), {
     new WorkboxPlugin.GenerateSW({
       clientsClaim: true,
       skipWaiting: true,
-    }),
-    new BaseHrefWebpackPlugin({ baseHref: '/' })
+    })
   ]
 });
diff --git a/generators/common/templates/.prettierignore.ejs b/generators/common/templates/.prettierignore.ejs
index 91b1ba356d..151fcf7916 100644
--- a/generators/common/templates/.prettierignore.ejs
+++ b/generators/common/templates/.prettierignore.ejs
@@ -1,4 +1,3 @@
 node_modules
 target
 package-lock.json
-.git
diff --git a/generators/docker-compose/templates/traefik/traefik.toml.ejs b/generators/docker-compose/templates/traefik/traefik.toml.ejs
index a15bc3ad25..2f1a6db1c7 100644
--- a/generators/docker-compose/templates/traefik/traefik.toml.ejs
+++ b/generators/docker-compose/templates/traefik/traefik.toml.ejs
@@ -20,4 +20,4 @@
 endpoint = "consul:8500"
 exposedByDefault = true
 prefix = "traefik"
-frontEndRule = "PathPrefixStrip: /services/{{.ServiceName}}"
+frontEndRule = "PathPrefixStrip: /{{.ServiceName}}"
diff --git a/generators/entity-client/files.js b/generators/entity-client/files.js
index 5c71041c08..989996ef04 100644
--- a/generators/entity-client/files.js
+++ b/generators/entity-client/files.js
@@ -16,6 +16,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+const _ = require('lodash');
 const constants = require('../generator-constants');
 
 /* Constants use throughout */
@@ -265,6 +266,9 @@ function writeFiles() {
                     this.clientFramework
                 );
             }
+            if (this.applicationType === 'gateway' && !_.isUndefined(this.microserviceName)) {
+                this.addEntityToWebpack(this.microserviceName, this.clientFramework);
+            }
             this.addEntityToMenu(this.entityStateName, this.enableTranslation, this.clientFramework, this.entityTranslationKeyMenu);
         }
     };
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-update.component.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-update.component.ts.ejs
index 2f6ea9cc2a..38412f5c23 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-update.component.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-update.component.ts.ejs
@@ -34,7 +34,7 @@ import { DATE_TIME_FORMAT } from 'app/shared/constants/input.constants';
     <%_ } _%>
 <%_ } _%>
 <%_ if (queries && queries.length > 0 || fieldsContainBlob) { _%>
-import { <% if (fieldsContainBlob || queries && queries.length > 0) { %>JhiAlertService, <% } %><% if (fieldsContainBlob) { %>JhiDataUtils<% } %> } from 'ng-jhipster';
+import { <% if (queries && queries.length > 0) { %>JhiAlertService, <% } %><% if (fieldsContainBlob) { %>JhiDataUtils<% } %> } from 'ng-jhipster';
 <%_ } _%>
 import { I<%= entityAngularName %> } from 'app/shared/model/<%= entityModelFileName %>.model';
 import { <%= entityAngularName %>Service } from './<%= entityFileName %>.service';
@@ -88,7 +88,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
         <%_ if (fieldsContainBlob) { _%>
         protected dataUtils: JhiDataUtils,
         <%_ } _%>
-        <%_ if (fieldsContainBlob || queries && queries.length > 0) { _%>
+        <%_ if (queries && queries.length > 0) { _%>
         protected jhiAlertService: JhiAlertService,
         <%_ } _%>
         protected <%= entityInstance %>Service: <%= entityAngularName %>Service,
@@ -135,11 +135,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
     }
 
     setFileData(event, entity, field, isImage) {
-        this.dataUtils.setFileData(event, entity, field, isImage)
-            .then(
-                modifiedEntity => entity = { ...modifiedEntity },
-                this.onError
-            );
+        this.dataUtils.setFileData(event, entity, field, isImage);
     }
 
     <%_ if (fieldsContainImageBlob) { _%>
@@ -184,7 +180,7 @@ export class <%= entityAngularName %>UpdateComponent implements OnInit {
     protected onSaveError() {
         this.isSaving = false;
     }
-    <%_ if (fieldsContainBlob || queries && queries.length > 0) { _%>
+    <%_ if (queries && queries.length > 0) { _%>
 
     protected onError(errorMessage: string) {
         this.jhiAlertService.error(errorMessage, null, null);
diff --git a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.service.ts.ejs b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.service.ts.ejs
index 61b9f41228..768840d4a4 100644
--- a/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.service.ts.ejs
+++ b/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.service.ts.ejs
@@ -35,9 +35,9 @@ type EntityArrayResponseType = HttpResponse<I<%= entityAngularName %>[]>;
 @Injectable({providedIn: 'root'})
 export class <%= entityAngularName %>Service {
 
-    public resourceUrl = SERVER_API_URL + '<% if (applicationType === 'gateway' && locals.microserviceName) { %>services/<%= microserviceName.toLowerCase() %>/<% } %>api/<%= entityApiUrl %>';
+    public resourceUrl = SERVER_API_URL + '<% if (applicationType === 'gateway' && locals.microserviceName) { %><%= microserviceName.toLowerCase() %>/<% } %>api/<%= entityApiUrl %>';
     <%_ if (searchEngine === 'elasticsearch') { _%>
-    public resourceSearchUrl = SERVER_API_URL + '<% if (applicationType === 'gateway' && locals.microserviceName) { %>services/<%= microserviceName.toLowerCase() %>/<% } %>api/_search/<%= entityApiUrl %>';
+    public resourceSearchUrl = SERVER_API_URL + '<% if (applicationType === 'gateway' && locals.microserviceName) { %><%= microserviceName.toLowerCase() %>/<% } %>api/_search/<%= entityApiUrl %>';
     <%_ } _%>
 
     constructor(protected http: HttpClient) { }
diff --git a/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs b/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs
index 71047a8062..c989aaf0fc 100644
--- a/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs
+++ b/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs
@@ -176,9 +176,9 @@ export default (state: <%= entityReactName %>State = initialState, action): <%=
   }
 };
 
-const apiUrl = '<% if (applicationType === 'gateway' && locals.microserviceName) { %>services/<%= microserviceName.toLowerCase() %>/<% } %>api/<%= entityApiUrl %>';
+const apiUrl = '<% if (applicationType === 'gateway' && locals.microserviceName) { %><%= microserviceName.toLowerCase() %>/<% } %>api/<%= entityApiUrl %>';
 <%_ if (searchEngine === 'elasticsearch') { _%>
-const apiSearchUrl = '<% if (applicationType === 'gateway' && locals.microserviceName) { %>services/<%= microserviceName.toLowerCase() %>/<% } %>api/_search/<%= entityApiUrl %>';
+const apiSearchUrl = '<% if (applicationType === 'gateway' && locals.microserviceName) { %><%= microserviceName.toLowerCase() %>/<% } %>api/_search/<%= entityApiUrl %>';
 <%_ } _%>
 
 // Actions
diff --git a/generators/entity-server/files.js b/generators/entity-server/files.js
index f492a1bc31..e214ab01ef 100644
--- a/generators/entity-server/files.js
+++ b/generators/entity-server/files.js
@@ -19,7 +19,6 @@
 const _ = require('lodash');
 const randexp = require('randexp');
 const chalk = require('chalk');
-const faker = require('faker');
 const fs = require('fs');
 const utils = require('../utils');
 const constants = require('../generator-constants');
@@ -31,9 +30,6 @@ const SERVER_MAIN_RES_DIR = constants.SERVER_MAIN_RES_DIR;
 const TEST_DIR = constants.TEST_DIR;
 const SERVER_TEST_SRC_DIR = constants.SERVER_TEST_SRC_DIR;
 
-// In order to have consistent results with Faker, the seed is fixed.
-faker.seed(42);
-
 /**
  * The default is to use a file path string. It implies use of the template method.
  * For any other config an object { file:.., method:.., template:.. } can be used
@@ -48,16 +44,6 @@ const serverFiles = {
                     file: 'config/liquibase/changelog/added_entity.xml',
                     options: { interpolate: INTERPOLATE_REGEX },
                     renameTo: generator => `config/liquibase/changelog/${generator.changelogDate}_added_entity_${generator.entityClass}.xml`
-                },
-                {
-                    file: 'config/liquibase/data/table.csv',
-                    options: {
-                        interpolate: INTERPOLATE_REGEX,
-                        context: {
-                            faker
-                        }
-                    },
-                    renameTo: generator => `config/liquibase/data/${generator.entityTableName}.csv`
                 }
             ]
         },
@@ -188,7 +174,7 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/EntityResourceIT.java',
+                    file: 'package/web/rest/EntityResourceIntTest.java',
                     options: {
                         context: {
                             randexp,
@@ -198,7 +184,7 @@ const serverFiles = {
                             SERVER_TEST_SRC_DIR
                         }
                     },
-                    renameTo: generator => `${generator.packageFolder}/web/rest/${generator.entityClass}ResourceIT.java`
+                    renameTo: generator => `${generator.packageFolder}/web/rest/${generator.entityClass}ResourceIntTest.java`
                 }
             ]
         },
diff --git a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
index 95209ed831..8b1ee90284 100644
--- a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
+++ b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs
@@ -25,9 +25,9 @@
                         http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
 
     <property name="now" value="now()" dbms="h2"/>
-    <% let autoIncrementValue = true;
+    <% let autoIncrementValue = true; 
         for (idx in relationships) {
-            if (relationships[idx].useJPADerivedIdentifier === true) {
+            if (relationships[idx].useJPADerivedIdentifier === true) { 
                 autoIncrementValue = false;
                 break;
             }
@@ -120,17 +120,12 @@
                 <constraints nullable="<%= nullable %>" />
                 <%_ } _%>
             </column>
-                <%_ if (fieldType === 'byte[]' && fieldTypeBlobContent !== 'text') {
-                    columnType = "varchar(255)"; _%>
-            <column name="<%=columnName %>_content_type" type="<%=columnType %>">
+            <%_ if (fieldType === 'byte[]' && fieldTypeBlobContent !== 'text') { _%>
+            <column name="<%=columnName %>_content_type" type="varchar(255)">
                 <constraints nullable="<%= nullable %>" />
             </column>
-                <%_ } _%>
-            <%_
-            fields[idx].columnType = columnType;
-            _%>
-            <%_ } _%>
-            <%_ for (idx in relationships) {
+            <%_ }  _%>
+            <%_ } _%><% for (idx in relationships) {
                 let nullable_relation = true,
                 relationshipType = relationships[idx].relationshipType,
                 relationshipName = relationships[idx].relationshipName,
@@ -138,13 +133,12 @@
                 if (relationships[idx].relationshipValidate === true && relationships[idx].relationshipRequired) {
                     nullable_relation = false;
                 }
-                if (relationships[idx].relationshipType === 'many-to-one') { _%>
-
+                if (relationships[idx].relationshipType === 'many-to-one') { %>
             <column name="<%=getColumnName(relationshipName) %>_id" type="<%= relationshipColumnType %>">
                 <constraints nullable="<%= nullable_relation %>" />
             </column>
-            <%_ } else if (relationshipType === 'one-to-one' && relationships[idx].ownerSide === true
-                            && (relationships[idx].useJPADerivedIdentifier == null || relationships[idx].useJPADerivedIdentifier === false)) {
+            <%_ } else if (relationshipType === 'one-to-one' && relationships[idx].ownerSide === true 
+                            && (relationships[idx].useJPADerivedIdentifier == null || relationships[idx].useJPADerivedIdentifier === false)) { 
                 const uniqueConstraintName = getUXConstraintName(entityTableName, getColumnName(relationshipName) + '_id', prodDatabaseType);
             _%>
             <column name="<%=getColumnName(relationshipName) %>_id" type="<%= relationshipColumnType %>">
@@ -152,54 +146,12 @@
             </column><% } %><% } %>
             <!-- jhipster-needle-liquibase-add-column - JHipster will add columns here, do not remove-->
         </createTable>
-
         <%_ for (const idx in fields) {
             if (fields[idx].fieldType === 'ZonedDateTime' || fields[idx].fieldType === 'Instant') { _%>
         <dropDefaultValue tableName="<%= entityTableName %>" columnName="<%=fields[idx].fieldNameAsDatabaseColumn %>" columnDataType="datetime"/>
         <%_ }
         } _%>
-    </changeSet>
-
-    <!--
-        Load sample data generated with Faker.js
-        - This data can be easily edited using a CSV editor (or even MS Excel) and
-          is located in the 'src/main/resources/config/liquibase/data' directory
-        - By default this data is applied when running with the JHipster 'dev' profile.
-          This can be customized by adding or removing 'faker' in the 'spring.liquibase.contexts'
-          Spring Boot configuration key.
-    -->
-    <changeSet id="<%= changelogDate %>-1-data" author="jhipster" context="faker">
-        <loadData
-                  file="config/liquibase/data/<%= entityTableName %>.csv"
-                  separator=";"
-                  tableName="<%= entityTableName %>"
-                  context="dev">
-            <column name="id" type="numeric"/>
-            <%_ for (idx in fields) {
-                let loadColumnType = 'string';
-                let columnType = fields[idx].columnType;
-                if (columnType === 'integer' || columnType === 'bigint' || columnType === 'double' || columnType === 'decimal(10,2)' || columnType === '${floatType}') {
-                    loadColumnType = 'numeric';
-                } else if (columnType === 'date' || columnType === 'datetime') {
-                    loadColumnType = 'date';
-                } else if (columnType === 'boolean') {
-                    loadColumnType = 'boolean';
-                } else if (fields[idx].fieldIsEnum) {
-                    loadColumnType = 'string';
-                } else if (columnType === 'clob' || columnType === 'blob' || columnType === 'longblob') {
-                    loadColumnType = 'string';
-                }
-                _%>
-            <column name="<%=fields[idx].fieldNameAsDatabaseColumn%>" type="<%=loadColumnType%>"/>
-                <%_ if (fields[idx].fieldType === 'byte[]' && fields[idx].fieldTypeBlobContent !== 'text') { _%>
-            <column name="<%=fields[idx].fieldNameAsDatabaseColumn%>_content_type" type="string"/>
-                <%_ } _%>
-            <%_ } _%>
-        </loadData>
-    </changeSet>
-
-    <changeSet id="<%= changelogDate %>-1-relations" author="jhipster">
-        <%_ for (idx in relationships) {
+        <% for (idx in relationships) {
             const relationshipType = relationships[idx].relationshipType,
             relationshipName = relationships[idx].relationshipName,
             ownerSide = relationships[idx].ownerSide,
diff --git a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs
index 52dc1c82b0..7e521b7a08 100644
--- a/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs
+++ b/generators/entity-server/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs
@@ -52,7 +52,6 @@
                                  constraintName="<%= constraintName %>"
                                  referencedColumnNames="id"
                                  referencedTableName="<%= entityTableName %>"/>
-
         <addForeignKeyConstraint baseColumnNames="<%= getColumnName(relationshipName) %>_id"
                                  baseTableName="<%= joinTableName %>"
                                  constraintName="<%= getColumnName(otherEntityConstraintName) %>"
diff --git a/generators/entity-server/templates/src/main/resources/config/liquibase/data/table.csv.ejs b/generators/entity-server/templates/src/main/resources/config/liquibase/data/table.csv.ejs
deleted file mode 100644
index 4ab84aa160..0000000000
--- a/generators/entity-server/templates/src/main/resources/config/liquibase/data/table.csv.ejs
+++ /dev/null
@@ -1,141 +0,0 @@
-<%#
- Copyright 2013-2019 the original author or authors from the JHipster project.
-
- This file is part of the JHipster project, see https://www.jhipster.tech/
- for more information.
-
- 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.
--%>
-<%_
-let table = [];
-
-// Generate CSV header
-let header = [];
-header.push('id');
-for (idx in fields) {
-    header.push(fields[idx].fieldNameAsDatabaseColumn);
-    if (fields[idx].fieldType === 'byte[]' && fields[idx].fieldTypeBlobContent !== 'text') {
-        header.push(fields[idx].fieldNameAsDatabaseColumn + '_content_type');
-    }
-}
-for (idx in relationships) {
-    if (relationships[idx].relationshipValidate === true && relationships[idx].relationshipRequired) {
-        header.push(getColumnName(relationships[idx].relationshipName) + '_id');
-    }
-}
-table.push(header);
-
-// Generate CSV rows
-
-for (lineNb = 1; lineNb <= 10; lineNb++) {
-    let line = [ lineNb ];
-    for (idx in fields) {
-        let data = '';
-        let columnType = fields[idx].columnType;
-        let fieldType = fields[idx].fieldType;
-        if (columnType === 'integer'
-            || columnType === 'bigint'
-            || columnType === 'double'
-            || columnType.startsWith('decimal')) {
-            data = this.faker.random.number();
-        } else if (columnType === '${floatType}') {
-            data = this.faker.random.number();
-        } else if (columnType === 'boolean') {
-            data = this.faker.random.boolean();
-        } else if (columnType === 'date' || columnType === 'datetime') {
-            // Write the date without milliseconds so Java can parse it
-            // See https://stackoverflow.com/a/34053802/150868
-            data = this.faker.date.recent().toISOString().split('.')[0];
-        } else if (columnType.startsWith('varchar')) {
-            let columnName = fields[idx].fieldNameAsDatabaseColumn;
-            if (columnName === 'first_name') {
-                data = this.faker.name.firstName();
-            } else if (columnName === 'last_name') {
-                data = this.faker.name.lastName();
-            } else if (columnName === 'job_title') {
-                data = this.faker.name.jobTitle();
-            } else if (columnName === 'telephone' || columnName === 'phone') {
-                data = this.faker.phone.phoneNumber();
-            } else if (columnName === 'zip_code' || columnName === 'post_code') {
-                data = this.faker.address.zipCode();
-            } else if (columnName === 'city') {
-                data = this.faker.address.city();
-            } else if (columnName === 'street_name' || columnName === 'street') {
-                data = this.faker.address.streetName();
-            } else if (columnName === 'country') {
-                data = this.faker.address.country();
-            } else if (columnName === 'country_code') {
-                data = this.faker.address.countryCode();
-            } else if (columnName === 'color') {
-                data = this.faker.commerce.color();
-            } else if (columnName === 'account') {
-                data = this.faker.commerce.account();
-            } else if (columnName === 'account_name') {
-                data = this.faker.finance.accountName();
-            } else if (columnName === 'currency_code') {
-                data = this.faker.finance.currencyCode();
-            } else if (columnName === 'currency_name') {
-                data = this.faker.finance.currencyName();
-            } else if (columnName === 'currency_symbol') {
-                data = this.faker.finance.currencySymbol();
-            } else if (columnName === 'iban') {
-                data = this.faker.finance.iban();
-            } else if (columnName === 'bic') {
-                data = this.faker.finance.bic();
-            } else if (columnName === 'email') {
-                data = this.faker.internet.email();
-            } else if (columnName === 'url') {
-                data = this.faker.internet.url();
-            } else {
-                data = this.faker.random.words();
-            }
-            // manage String max length
-            if (fields[idx].fieldValidate === true && fields[idx].fieldValidateRules.includes('maxlength')) {
-                let maxlength = fields[idx].fieldValidateRulesMaxlength;
-                data = data.substring(0, maxlength);
-            }
-        }
-        if (fields[idx].fieldIsEnum) {
-            if (fields[idx].fieldValues.length !== 0) {
-                const enums = fields[idx].fieldValues.split(',');
-                data = enums[0];
-            } else {
-                data = '';
-            }
-        }
-        if (fieldType === 'byte[]') {
-            data = Buffer.from(this.faker.random.words(), 'utf8').toString('hex');
-        }
-        line.push(data);
-        if (fieldType === 'byte[]' && fields[idx].fieldTypeBlobContent !== 'text') {
-            line.push('image/png');
-        }
-    }
-    for (idx in relationships) {
-        if (relationships[idx].relationshipValidate === true && relationships[idx].relationshipRequired) {
-            line.push(this.faker.random.number({min: 1, max: 10}));
-        }
-    }
-    table.push(line);
-}
-
-let result = table
-        .map(line =>
-            line.map(data => {
-                    return data;
-                })
-                .join(';')
-        )
-        .join('\n');
- _%>
-<%-result%>
diff --git a/generators/entity/prompts.js b/generators/entity/prompts.js
index 51ca27b3d1..b7b4b415b2 100644
--- a/generators/entity/prompts.js
+++ b/generators/entity/prompts.js
@@ -60,7 +60,7 @@ function askForMicroserviceJson() {
             message: 'Enter the path to the microservice root directory:',
             store: true,
             validate: input => {
-                let fromPath;
+                let fromPath = '';
                 if (path.isAbsolute(input)) {
                     fromPath = `${input}/${context.filename}`;
                 } else {
diff --git a/generators/generator-base.js b/generators/generator-base.js
index 54d632e6b1..9dcfa02f4c 100644
--- a/generators/generator-base.js
+++ b/generators/generator-base.js
@@ -115,13 +115,21 @@ module.exports = class extends PrivateBase {
         }
     }
 
+    /**
+     * Add a new entity route path to webpacks config
+     *
+     * @param {string} microserviceName - The name of the microservice to put into the url
+     */
+    addEntityToWebpack(microserviceName) {
+        this.needleApi.clientWebpack.addEntity(microserviceName);
+    }
+
     /**
      * Add a new entity in the "entities" menu.
      *
      * @param {string} routerName - The name of the Angular router (which by default is the name of the entity).
      * @param {boolean} enableTranslation - If translations are enabled or not
      * @param {string} clientFramework - The name of the client framework
-     * @param {string} entityTranslationKeyMenu - i18n key for entity entry in menu
      */
     addEntityToMenu(routerName, enableTranslation, clientFramework, entityTranslationKeyMenu = _.camelCase(routerName)) {
         if (this.clientFramework === 'angularX') {
@@ -141,7 +149,6 @@ module.exports = class extends PrivateBase {
      * @param {string} entityFileName - Entity File Name
      * @param {boolean} entityUrl - Entity router URL
      * @param {string} clientFramework - The name of the client framework
-     * @param {string} microServiceName - Microservice Name
      */
     addEntityToModule(
         entityInstance,
@@ -674,10 +681,8 @@ module.exports = class extends PrivateBase {
     /**
      * Add a distributionManagement to the Maven build.
      *
-     * @param {string} snapshotsId Snapshots Repository Id
-     * @param {string} snapshotsUrl Snapshots Repository Url
-     * @param {string} releasesId Repository Id
-     * @param {string} releasesUrl Repository Url
+     * @param {string} id - id of the repository
+     * @param {string} url - url of the repository
      */
     addMavenDistributionManagement(snapshotsId, snapshotsUrl, releasesId, releasesUrl) {
         this.needleApi.serverMaven.addDistributionManagement(snapshotsId, snapshotsUrl, releasesId, releasesUrl);
@@ -798,7 +803,6 @@ module.exports = class extends PrivateBase {
     /**
      * A new dependency to build.gradle file in a specific folder.
      *
-     * @param {string} directory - directory
      * @param {string} scope - scope of the new dependency, e.g. compile
      * @param {string} group - maven GroupId
      * @param {string} name - maven ArtifactId
diff --git a/generators/generator-constants.js b/generators/generator-constants.js
index 95293443c0..e67281fa0e 100644
--- a/generators/generator-constants.js
+++ b/generators/generator-constants.js
@@ -25,13 +25,13 @@ const DOCKER_MARIADB = 'mariadb:10.4.2';
 const DOCKER_POSTGRESQL = 'postgres:11.1';
 const DOCKER_MONGODB = 'mongo:4.0.6';
 const DOCKER_COUCHBASE = 'couchbase/server:6.0.1';
-const DOCKER_CASSANDRA = 'cassandra:3.11.4';
+const DOCKER_CASSANDRA = 'cassandra:3.11.3';
 const DOCKER_MSSQL = 'microsoft/mssql-server-linux:latest';
 const DOCKER_ORACLE = 'sath89/oracle-12c:latest';
 const DOCKER_HAZELCAST_MANAGEMENT_CENTER = 'hazelcast/management-center:3.11.3';
 const DOCKER_MEMCACHED = 'memcached:1.5.12-alpine';
 const DOCKER_KEYCLOAK = 'jboss/keycloak:4.8.3.Final';
-const DOCKER_ELASTICSEARCH = 'docker.elastic.co/elasticsearch/elasticsearch:6.2.4'; // The version should be coerent with the one from spring-data-elasticsearch project
+const DOCKER_ELASTICSEARCH = 'docker.elastic.co/elasticsearch/elasticsearch:6.4.3'; // The version should be coerent with the one from spring-data-elasticsearch project
 const DOCKER_KAFKA = 'wurstmeister/kafka:2.11-2.0.1';
 const DOCKER_ZOOKEEPER = 'wurstmeister/zookeeper:3.4.6';
 const DOCKER_SONAR = 'sonarqube:7.1';
diff --git a/generators/internal/needle-api/needle-client-webpack.js b/generators/internal/needle-api/needle-client-webpack.js
index 6d2dc1c913..c2c1c8b708 100644
--- a/generators/internal/needle-api/needle-client-webpack.js
+++ b/generators/internal/needle-api/needle-client-webpack.js
@@ -16,6 +16,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+const chalk = require('chalk');
+
 const needleClient = require('./needle-client');
 const constants = require('../../generator-constants');
 
@@ -23,6 +25,18 @@ const CLIENT_MAIN_SRC_DIR = constants.CLIENT_MAIN_SRC_DIR;
 const CLIENT_WEBPACK_DIR = constants.CLIENT_WEBPACK_DIR;
 
 module.exports = class extends needleClient {
+    addEntity(microserviceName) {
+        const errorMessage = `${chalk.yellow(' Reference to ') + microserviceName} ${chalk.yellow('not added to menu.')}`;
+        const webpackDevPath = `${CLIENT_WEBPACK_DIR}/webpack.dev.js`;
+        const rewriteFileModel = this.generateFileModel(
+            webpackDevPath,
+            'jhipster-needle-add-entity-to-webpack',
+            `'/${microserviceName.toLowerCase()}',`
+        );
+
+        this.addBlockContentToFile(rewriteFileModel, errorMessage);
+    }
+
     copyExternalAssets(sourceFolder, targetFolder) {
         const errorMessage = 'Resource path not added to JHipster app.';
         const from = `${CLIENT_MAIN_SRC_DIR}content/${sourceFolder}/`;
diff --git a/generators/server/files.js b/generators/server/files.js
index 0f44274f5e..05cb8e65c2 100644
--- a/generators/server/files.js
+++ b/generators/server/files.js
@@ -1150,16 +1150,6 @@ const serverFiles = {
 
                 { file: 'package/web/rest/LogsResource.java', renameTo: generator => `${generator.javaDir}web/rest/LogsResource.java` }
             ]
-        },
-        {
-            condition: generator => !generator.skipClient,
-            path: SERVER_MAIN_SRC_DIR,
-            templates: [
-                {
-                    file: 'package/web/rest/ClientForwardController.java',
-                    renameTo: generator => `${generator.javaDir}web/rest/ClientForwardController.java`
-                }
-            ]
         }
     ],
     serverJavaWebsocket: [
@@ -1192,13 +1182,13 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/CassandraKeyspaceIT.java',
-                    renameTo: generator => `${generator.testDir}CassandraKeyspaceIT.java`
+                    file: 'package/CassandraKeyspaceUnitTest.java',
+                    renameTo: generator => `${generator.testDir}CassandraKeyspaceUnitTest.java`
                 },
                 { file: 'package/AbstractCassandraTest.java', renameTo: generator => `${generator.testDir}AbstractCassandraTest.java` },
                 {
-                    file: 'package/config/CassandraConfigurationIT.java',
-                    renameTo: generator => `${generator.testDir}config/CassandraConfigurationIT.java`
+                    file: 'package/config/CassandraTestConfiguration.java',
+                    renameTo: generator => `${generator.testDir}config/CassandraTestConfiguration.java`
                 }
             ]
         },
@@ -1207,8 +1197,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/config/DatabaseConfigurationIT.java',
-                    renameTo: generator => `${generator.testDir}config/DatabaseConfigurationIT.java`
+                    file: 'package/config/DatabaseTestConfiguration.java',
+                    renameTo: generator => `${generator.testDir}config/DatabaseTestConfiguration.java`
                 }
             ]
         },
@@ -1217,12 +1207,12 @@ const serverFiles = {
             templates: [
                 { file: 'package/web/rest/TestUtil.java', renameTo: generator => `${generator.testDir}web/rest/TestUtil.java` },
                 {
-                    file: 'package/web/rest/LogsResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/LogsResourceIT.java`
+                    file: 'package/web/rest/LogsResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/LogsResourceIntTest.java`
                 },
                 {
-                    file: 'package/web/rest/errors/ExceptionTranslatorIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/errors/ExceptionTranslatorIT.java`
+                    file: 'package/web/rest/errors/ExceptionTranslatorIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/errors/ExceptionTranslatorIntTest.java`
                 },
                 {
                     file: 'package/web/rest/errors/ExceptionTranslatorTestController.java',
@@ -1234,23 +1224,13 @@ const serverFiles = {
                 }
             ]
         },
-        {
-            condition: generator => !generator.skipClient,
-            path: SERVER_TEST_SRC_DIR,
-            templates: [
-                {
-                    file: 'package/web/rest/ClientForwardControllerIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/ClientForwardControllerIT.java`
-                }
-            ]
-        },
         {
             condition: generator => generator.databaseType === 'sql',
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/config/timezone/HibernateTimeZoneIT.java',
-                    renameTo: generator => `${generator.testDir}config/timezone/HibernateTimeZoneIT.java`
+                    file: 'package/config/timezone/HibernateTimeZoneTest.java',
+                    renameTo: generator => `${generator.testDir}config/timezone/HibernateTimeZoneTest.java`
                 },
                 {
                     file: 'package/repository/timezone/DateTimeWrapper.java',
@@ -1340,8 +1320,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/LogoutResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/LogoutResourceIT.java`
+                    file: 'package/web/rest/LogoutResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/LogoutResourceIntTest.java`
                 }
             ]
         },
@@ -1367,7 +1347,7 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 // Create Cucumber test files
-                { file: 'package/cucumber/CucumberIT.java', renameTo: generator => `${generator.testDir}cucumber/CucumberIT.java` },
+                { file: 'package/cucumber/CucumberTest.java', renameTo: generator => `${generator.testDir}cucumber/CucumberTest.java` },
                 {
                     file: 'package/cucumber/stepdefs/StepDefs.java',
                     renameTo: generator => `${generator.testDir}cucumber/stepdefs/StepDefs.java`
@@ -1385,8 +1365,8 @@ const serverFiles = {
             templates: [
                 // Create auth config test files
                 {
-                    file: 'package/security/DomainUserDetailsServiceIT.java',
-                    renameTo: generator => `${generator.testDir}security/DomainUserDetailsServiceIT.java`
+                    file: 'package/security/DomainUserDetailsServiceIntTest.java',
+                    renameTo: generator => `${generator.testDir}security/DomainUserDetailsServiceIntTest.java`
                 }
             ]
         }
@@ -1399,7 +1379,7 @@ const serverFiles = {
                     generator.applicationType !== 'microservice') ||
                 (!generator.skipUserManagement && generator.databaseType === 'sql'),
             path: SERVER_MAIN_RES_DIR,
-            templates: ['config/liquibase/data/user.csv']
+            templates: ['config/liquibase/users.csv']
         },
         {
             condition: generator =>
@@ -1409,7 +1389,7 @@ const serverFiles = {
                     generator.databaseType === 'sql') ||
                 (!generator.skipUserManagement && generator.databaseType === 'sql'),
             path: SERVER_MAIN_RES_DIR,
-            templates: ['config/liquibase/data/authority.csv', 'config/liquibase/data/user_authority.csv']
+            templates: ['config/liquibase/authorities.csv', 'config/liquibase/users_authorities.csv']
         },
         {
             condition: generator => generator.skipUserManagement && generator.authenticationType === 'oauth2',
@@ -1470,16 +1450,16 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/service/UserServiceIT.java',
-                    renameTo: generator => `${generator.testDir}service/UserServiceIT.java`
+                    file: 'package/service/UserServiceIntTest.java',
+                    renameTo: generator => `${generator.testDir}service/UserServiceIntTest.java`
                 },
                 {
-                    file: 'package/service/mapper/UserMapperIT.java',
-                    renameTo: generator => `${generator.testDir}service/mapper/UserMapperIT.java`
+                    file: 'package/service/mapper/UserMapperTest.java',
+                    renameTo: generator => `${generator.testDir}service/mapper/UserMapperTest.java`
                 },
                 {
-                    file: 'package/web/rest/UserResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/UserResourceIT.java`
+                    file: 'package/web/rest/UserResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/UserResourceIntTest.java`
                 }
             ]
         },
@@ -1491,8 +1471,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/AccountResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/AccountResourceIT.java`
+                    file: 'package/web/rest/AccountResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/AccountResourceIntTest.java`
                 }
             ]
         },
@@ -1552,12 +1532,12 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/repository/CustomAuditEventRepositoryIT.java',
-                    renameTo: generator => `${generator.testDir}repository/CustomAuditEventRepositoryIT.java`
+                    file: 'package/repository/CustomAuditEventRepositoryIntTest.java',
+                    renameTo: generator => `${generator.testDir}repository/CustomAuditEventRepositoryIntTest.java`
                 },
                 {
-                    file: 'package/web/rest/AuditResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/AuditResourceIT.java`
+                    file: 'package/web/rest/AuditResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/AuditResourceIntTest.java`
                 }
             ]
         },
@@ -1687,8 +1667,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/UserJWTControllerIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/UserJWTControllerIT.java`
+                    file: 'package/web/rest/UserJWTControllerIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/UserJWTControllerIntTest.java`
                 }
             ]
         },
@@ -1699,8 +1679,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/web/rest/AuditResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/AuditResourceIT.java`
+                    file: 'package/web/rest/AuditResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/AuditResourceIntTest.java`
                 }
             ]
         },
@@ -1709,8 +1689,8 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/repository/CustomAuditEventRepositoryIT.java',
-                    renameTo: generator => `${generator.testDir}repository/CustomAuditEventRepositoryIT.java`
+                    file: 'package/repository/CustomAuditEventRepositoryIntTest.java',
+                    renameTo: generator => `${generator.testDir}repository/CustomAuditEventRepositoryIntTest.java`
                 }
             ]
         },
@@ -1739,24 +1719,24 @@ const serverFiles = {
             path: SERVER_TEST_SRC_DIR,
             templates: [
                 {
-                    file: 'package/service/MailServiceIT.java',
-                    renameTo: generator => `${generator.testDir}service/MailServiceIT.java`
+                    file: 'package/service/MailServiceIntTest.java',
+                    renameTo: generator => `${generator.testDir}service/MailServiceIntTest.java`
                 },
                 {
-                    file: 'package/service/UserServiceIT.java',
-                    renameTo: generator => `${generator.testDir}service/UserServiceIT.java`
+                    file: 'package/service/UserServiceIntTest.java',
+                    renameTo: generator => `${generator.testDir}service/UserServiceIntTest.java`
                 },
                 {
-                    file: 'package/service/mapper/UserMapperIT.java',
-                    renameTo: generator => `${generator.testDir}service/mapper/UserMapperIT.java`
+                    file: 'package/service/mapper/UserMapperTest.java',
+                    renameTo: generator => `${generator.testDir}service/mapper/UserMapperTest.java`
                 },
                 {
-                    file: 'package/web/rest/AccountResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/AccountResourceIT.java`
+                    file: 'package/web/rest/AccountResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/AccountResourceIntTest.java`
                 },
                 {
-                    file: 'package/web/rest/UserResourceIT.java',
-                    renameTo: generator => `${generator.testDir}web/rest/UserResourceIT.java`
+                    file: 'package/web/rest/UserResourceIntTest.java',
+                    renameTo: generator => `${generator.testDir}web/rest/UserResourceIntTest.java`
                 }
             ]
         }
diff --git a/generators/server/templates/build.gradle.ejs b/generators/server/templates/build.gradle.ejs
index 031a56b3bb..40b5a94a33 100644
--- a/generators/server/templates/build.gradle.ejs
+++ b/generators/server/templates/build.gradle.ejs
@@ -139,7 +139,7 @@ if (OperatingSystem.current().isWindows()) {
 }
 
 test {
-    exclude '**/*CucumberIT*'
+    exclude '**/CucumberTest*'
 
     // uncomment if the tests reports are not generated
     // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
@@ -151,7 +151,7 @@ test {
 task cucumberTest(type: Test) {
     description = "Execute cucumber BDD tests."
     group = "verification"
-    include '**/*CucumberIT*'
+    include '**/CucumberTest*'
 
     // uncomment if the tests reports are not generated
     // see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
diff --git a/generators/server/templates/src/main/java/package/web/rest/ClientForwardController.java.ejs b/generators/server/templates/src/main/java/package/web/rest/ClientForwardController.java.ejs
deleted file mode 100644
index 426c6f6f69..0000000000
--- a/generators/server/templates/src/main/java/package/web/rest/ClientForwardController.java.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<%#
-Copyright 2013-2019 the original author or authors from the JHipster project.
-
-This file is part of the JHipster project, see https://www.jhipster.tech/
-for more information.
-
-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.
--%>
-package <%=packageName%>.web.rest;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-
-@Controller
-public class ClientForwardController {
-    /**
-     * Forwards any unmapped paths (except those containing a period) to the client index.html
-     */
-    @GetMapping(value = "/**/{path:[^\\.]*}")
-    public String forward() {
-        return "forward:/";
-    }
-}
diff --git a/generators/server/templates/src/main/resources/config/application-dev.yml.ejs b/generators/server/templates/src/main/resources/config/application-dev.yml.ejs
index a28b149651..650fd61488 100644
--- a/generators/server/templates/src/main/resources/config/application-dev.yml.ejs
+++ b/generators/server/templates/src/main/resources/config/application-dev.yml.ejs
@@ -212,8 +212,7 @@ spring:
     <%_ } _%>
     <%_ if (databaseType === 'sql') { _%>
     liquibase:
-        # Remove 'faker' if you do not want the sample data to be loaded automatically
-        contexts: dev, faker
+        contexts: dev
     <%_ } _%>
     mail:
         host: localhost
diff --git a/generators/server/templates/src/main/resources/config/application-prod.yml.ejs b/generators/server/templates/src/main/resources/config/application-prod.yml.ejs
index 83c36d3d9f..876feed516 100644
--- a/generators/server/templates/src/main/resources/config/application-prod.yml.ejs
+++ b/generators/server/templates/src/main/resources/config/application-prod.yml.ejs
@@ -181,7 +181,6 @@ spring:
             password: password
     <%_ } _%>
     <%_ if (databaseType === 'sql') { _%>
-    # Replace by 'prod, faker' to add the faker context and have sample data loaded in production
     liquibase:
         contexts: prod
     <%_ } _%>
diff --git a/generators/server/templates/src/main/resources/config/application.yml.ejs b/generators/server/templates/src/main/resources/config/application.yml.ejs
index 87348bca02..7a5d084025 100644
--- a/generators/server/templates/src/main/resources/config/application.yml.ejs
+++ b/generators/server/templates/src/main/resources/config/application.yml.ejs
@@ -67,7 +67,6 @@ zuul: # those values must be configured depending on the application specific ne
     host:
         max-total-connections: 1000
         max-per-route-connections: 100
-    prefix: /services
     semaphore:
         max-semaphores: 500
     <%_ if (serviceDiscoveryType === 'consul') { _%>
@@ -269,7 +268,7 @@ security:
 server:
     servlet:
         <%_ if ((applicationType === 'microservice' || applicationType === 'uaa') && !serviceDiscoveryType) { _%>
-        context-path: /services/${spring.application.name}
+        context-path: /${spring.application.name}
         <%_ } _%>
         session:
             cookie:
diff --git a/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs b/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
index ed1e1f3748..9490ba722f 100644
--- a/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
+++ b/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs
@@ -29,7 +29,7 @@
     <%_ } _%>
     <%_ if (prodDatabaseType === 'postgresql' || prodDatabaseType === 'oracle' || prodDatabaseType === 'mssql') { _%>
     <changeSet id="00000000000000" author="jhipster">
-        <createSequence sequenceName="sequence_generator" startValue="1050" incrementBy="50"/>
+        <createSequence sequenceName="sequence_generator" startValue="1000" incrementBy="50"/>
     </changeSet>
     <%_ } _%>
 
@@ -140,8 +140,8 @@
                                  referencedTableName="<%= jhiTablePrefix %>_user"/>
     <%_ } _%>
     <%_ if (authenticationType !== 'oauth2' || (authenticationType === 'oauth2' && applicationType !== 'microservice')) { _%>
-        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData
-                  file="config/liquibase/data/user.csv"
+        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData encoding="UTF-8"
+                  file="config/liquibase/users.csv"
                   separator=";"
                   <%_ if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { _%>
                   identityInsertEnabled="true"
@@ -154,16 +154,16 @@
             <column name="created_date" type="timestamp"/>
         </<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData>
         <dropDefaultValue tableName="<%= jhiTablePrefix %>_user" columnName="created_date" columnDataType="datetime"/>
-        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData
-                  file="config/liquibase/data/authority.csv"
+        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData encoding="UTF-8"
+                  file="config/liquibase/authorities.csv"
                   separator=";"
                   <%_ if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { _%>
                   identityInsertEnabled="true"
                   <%_ } _%>
                   tableName="<%= jhiTablePrefix %>_authority"/>
 
-        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData
-                  file="config/liquibase/data/user_authority.csv"
+        <<% if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { %>ext:<% } %>loadData encoding="UTF-8"
+                  file="config/liquibase/users_authorities.csv"
                   separator=";"
                   <%_ if (devDatabaseType === 'mssql' || prodDatabaseType === 'mssql') { _%>
                   identityInsertEnabled="true"
diff --git a/generators/server/templates/src/main/resources/config/liquibase/data/authority.csv.ejs b/generators/server/templates/src/main/resources/config/liquibase/data/authority.csv.ejs
deleted file mode 100644
index af5c6dfa18..0000000000
--- a/generators/server/templates/src/main/resources/config/liquibase/data/authority.csv.ejs
+++ /dev/null
@@ -1,3 +0,0 @@
-name
-ROLE_ADMIN
-ROLE_USER
diff --git a/generators/server/templates/src/main/resources/config/liquibase/data/oauth_client_details.csv.ejs b/generators/server/templates/src/main/resources/config/liquibase/data/oauth_client_details.csv.ejs
deleted file mode 100644
index ad3d52d67b..0000000000
--- a/generators/server/templates/src/main/resources/config/liquibase/data/oauth_client_details.csv.ejs
+++ /dev/null
@@ -1,2 +0,0 @@
-client_id;resource_ids;client_secret;scope;authorized_grant_types;web_server_redirect_uri;authorities;access_token_validity;refresh_token_validity;additional_information;autoapprove
-<%= baseName %>app;res_<%= baseName %>;bXktc2VjcmV0LXRva2VuLXRvLWNoYW5nZS1pbi1wcm9kdWN0aW9uLWFuZC10by1rZWVwLWluLWEtc2VjdXJlLXBsYWNl;read,write;password,refresh_token,authorization_code,implicit;;ROLE_ADMIN,ROLE_USER;1800;2000;{};true
diff --git a/generators/server/templates/src/main/resources/config/liquibase/data/user.csv.ejs b/generators/server/templates/src/main/resources/config/liquibase/data/user.csv.ejs
deleted file mode 100644
index 590a55c9cf..0000000000
--- a/generators/server/templates/src/main/resources/config/liquibase/data/user.csv.ejs
+++ /dev/null
@@ -1,7 +0,0 @@
-id;login;<% if (authenticationType !== 'oauth2') { %>password_hash;<% } %>first_name;last_name;email;image_url;activated;lang_key;created_by;last_modified_by
-1;system;<% if (authenticationType !== 'oauth2') { %>$2a$10$mE.qmcV0mFU5NcKh73TZx.z4ueI/.bDWbj0T1BYyqP481kGGarKLG;<% } %>System;System;system@localhost;;true;<%= nativeLanguage %>;system;system
-2;anonymoususer;<% if (authenticationType !== 'oauth2') { %>$2a$10$j8S5d7Sr7.8VTOYNviDPOeWX8KcYILUVJBsYV83Y5NtECayypx9lO;<% } %>Anonymous;User;anonymous@localhost;;true;<%= nativeLanguage %>;system;system
-<%_ if (authenticationType !== 'oauth2') { _%>
-3;admin;$2a$10$gSAhZrxMllrbgj/kkK9UceBPpChGWJA7SYIb1Mqo.n5aNLq1/oRrC;Administrator;Administrator;admin@localhost;;true;<%= nativeLanguage %>;system;system
-4;user;$2a$10$VEjxo0jq2YG9Rbk2HmX9S.k1uZBGYUHdUcid3g/vfiEl7lwWgOH/K;User;User;user@localhost;;true;<%= nativeLanguage %>;system;system
-<%_ } _%>
diff --git a/generators/server/templates/src/main/resources/config/liquibase/data/user_authority.csv.ejs b/generators/server/templates/src/main/resources/config/liquibase/data/user_authority.csv.ejs
deleted file mode 100644
index 7d17146cc5..0000000000
--- a/generators/server/templates/src/main/resources/config/liquibase/data/user_authority.csv.ejs
+++ /dev/null
@@ -1,8 +0,0 @@
-user_id;authority_name
-1;ROLE_ADMIN
-1;ROLE_USER
-<%_ if (authenticationType !== 'oauth2') { _%>
-3;ROLE_ADMIN
-3;ROLE_USER
-4;ROLE_USER
-<%_ } _%>
diff --git a/generators/server/templates/src/main/resources/templates/mail/activationEmail.html.ejs b/generators/server/templates/src/main/resources/templates/mail/activationEmail.html.ejs
index 1ae9445d97..cb021d8e6a 100644
--- a/generators/server/templates/src/main/resources/templates/mail/activationEmail.html.ejs
+++ b/generators/server/templates/src/main/resources/templates/mail/activationEmail.html.ejs
@@ -13,7 +13,7 @@
             Your JHipster account has been created, please click on the URL below to activate it:
         </p>
         <p>
-            <a th:with="url=(@{|${baseUrl}/activate?key=${user.activationKey}|})" th:href="${url}"
+            <a th:with="url=(@{|${baseUrl}/#/activate?key=${user.activationKey}|})" th:href="${url}"
             th:text="${url}">Activation link</a>
         </p>
         <p>
diff --git a/generators/server/templates/src/main/resources/templates/mail/creationEmail.html.ejs b/generators/server/templates/src/main/resources/templates/mail/creationEmail.html.ejs
index a4455edfd2..dc0cff5883 100644
--- a/generators/server/templates/src/main/resources/templates/mail/creationEmail.html.ejs
+++ b/generators/server/templates/src/main/resources/templates/mail/creationEmail.html.ejs
@@ -13,7 +13,7 @@
             Your JHipster account has been created, please click on the URL below to access it:
         </p>
         <p>
-            <a th:with="url=(@{|${baseUrl}/reset/finish?key=${user.resetKey}|})" th:href="${url}"
+            <a th:with="url=(@{|${baseUrl}/#/reset/finish?key=${user.resetKey}|})" th:href="${url}"
             th:text="${url}">Login link</a>
         </p>
         <p>
diff --git a/generators/server/templates/src/main/resources/templates/mail/passwordResetEmail.html.ejs b/generators/server/templates/src/main/resources/templates/mail/passwordResetEmail.html.ejs
index 4bdca2ca93..f44511265b 100644
--- a/generators/server/templates/src/main/resources/templates/mail/passwordResetEmail.html.ejs
+++ b/generators/server/templates/src/main/resources/templates/mail/passwordResetEmail.html.ejs
@@ -13,7 +13,7 @@
             For your JHipster account a password reset was requested, please click on the URL below to reset it:
         </p>
         <p>
-            <a th:with="url=(@{|${baseUrl}/reset/finish?key=${user.resetKey}|})" th:href="${url}"
+            <a th:with="url=(@{|${baseUrl}/#/reset/finish?key=${user.resetKey}|})" th:href="${url}"
             th:text="${url}">Login link</a>
         </p>
         <p>
diff --git a/generators/spring-controller/index.js b/generators/spring-controller/index.js
index e3904c0eed..4273f7c12f 100644
--- a/generators/spring-controller/index.js
+++ b/generators/spring-controller/index.js
@@ -167,8 +167,8 @@ module.exports = class extends BaseBlueprintGenerator {
                 this.template(
                     `${this.fetchFromInstalledJHipster(
                         'spring-controller/templates'
-                    )}/${SERVER_TEST_SRC_DIR}package/web/rest/ResourceIT.java.ejs`,
-                    `${SERVER_TEST_SRC_DIR}${this.packageFolder}/web/rest/${this.controllerClass}IT.java`
+                    )}/${SERVER_TEST_SRC_DIR}package/web/rest/ResourceIntTest.java.ejs`,
+                    `${SERVER_TEST_SRC_DIR}${this.packageFolder}/web/rest/${this.controllerClass}IntTest.java`
                 );
             }
         };
diff --git a/package-lock.json b/package-lock.json
index 208413ad1c..56cd1da6ed 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -769,6 +769,17 @@
             "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
             "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
         },
+        "concat-stream": {
+            "version": "1.6.2",
+            "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+            "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+            "requires": {
+                "buffer-from": "^1.0.0",
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.2.2",
+                "typedarray": "^0.0.6"
+            }
+        },
         "conf": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/conf/-/conf-2.0.0.tgz",
@@ -1730,11 +1741,6 @@
             "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
             "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
         },
-        "faker": {
-            "version": "4.1.0",
-            "resolved": "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz",
-            "integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8="
-        },
         "fast-deep-equal": {
             "version": "2.0.1",
             "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
@@ -2052,13 +2058,6 @@
                 "timed-out": "^4.0.0",
                 "url-parse-lax": "^1.0.0",
                 "url-to-options": "^1.0.1"
-            },
-            "dependencies": {
-                "get-stream": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-                    "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
-                }
             }
         },
         "graceful-fs": {
@@ -4224,19 +4223,6 @@
             "requires": {
                 "concat-stream": "^1.4.7",
                 "os-shim": "^0.1.2"
-            },
-            "dependencies": {
-                "concat-stream": {
-                    "version": "1.6.2",
-                    "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
-                    "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-                    "requires": {
-                        "buffer-from": "^1.0.0",
-                        "inherits": "^2.0.3",
-                        "readable-stream": "^2.2.2",
-                        "typedarray": "^0.0.6"
-                    }
-                }
             }
         },
         "spdx-correct": {
diff --git a/package.json b/package.json
index 11ff0c967e..4a56c89503 100644
--- a/package.json
+++ b/package.json
@@ -56,7 +56,6 @@
         "conf": "2.0.0",
         "didyoumean": "1.2.1",
         "ejs": "2.6.1",
-        "faker": "4.1.0",
         "glob": "7.1.2",
         "gulp-filter": "5.1.0",
         "insight": "0.10.1",


Test patch:
diff --git a/generators/client/templates/react/src/test/javascript/e2e/modules/account/account.spec.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/modules/account/account.spec.ts.ejs
index cc8861b1c4..405d349736 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/modules/account/account.spec.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/modules/account/account.spec.ts.ejs
@@ -335,7 +335,7 @@ describe('Account', () => {
   });
 
   it('should delete previously created fake user', async () => {
-    await browser.get('/admin/user-management/user_test/delete');
+    await browser.get('#/admin/user-management/user_test/delete');
     const deleteModal = element(by.className('modal'));
     await waitUntilDisplayed(deleteModal);
 
diff --git a/generators/client/templates/react/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs
index e70cd6e1f5..04540f45c9 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs
@@ -38,7 +38,7 @@ export default class NavBarPage extends BasePage {
 
   async getRegisterPage() {
     await this.clickOnAccountMenu();
-    await this.clickOnTabMenu('/register');
+    await this.clickOnTabMenu('#/register');
     return new RegisterPage();
   }
   <%_ } _%>
@@ -46,7 +46,7 @@ export default class NavBarPage extends BasePage {
   async getSignInPage() {
     await this.clickOnAccountMenu();
     <%_ if (authenticationType !== 'oauth2') { _%>
-    await this.clickOnTabMenu('/login');
+    await this.clickOnTabMenu('#/login');
     <%_ } else { _%>
     await this.loginItem.click();
     <%_ } _%>
@@ -71,12 +71,12 @@ export default class NavBarPage extends BasePage {
 
   async clickOnAccountMenuItem(item: string) {
     await this.accountMenu.click();
-    await this.selector.$(`.dropdown-item[href="/account/${item}"`).click();
+    await this.selector.$(`.dropdown-item[href="#/account/${item}"`).click();
   }
 
   async clickOnAdminMenuItem(item: string) {
     await this.adminMenu.click();
-    await this.selector.$(`.dropdown-item[href="/admin/${item}"]`).click();
+    await this.selector.$(`.dropdown-item[href="#/admin/${item}"]`).click();
   }
 
   async clickOnEntityMenu() {
@@ -84,7 +84,7 @@ export default class NavBarPage extends BasePage {
   }
 
   async clickOnEntity(entityName: string) {
-    await this.selector.$(`.dropdown-item[href="/entity/${entityName}"]`).click();
+    await this.selector.$(`.dropdown-item[href="#/entity/${entityName}"]`).click();
   }
 
   async autoSignIn() {
@@ -97,7 +97,6 @@ export default class NavBarPage extends BasePage {
   }
 
   async autoSignOut() {
-    await this.accountMenu.click();
-    await this.selector.$(`.dropdown-item[href="/logout"`).click();
+    await this.signInPage.autoSignOut();
   }
 }
diff --git a/generators/client/templates/react/src/test/javascript/e2e/page-objects/password-page.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/page-objects/password-page.ts.ejs
index dd0bb1b527..69d1fe8bb0 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/page-objects/password-page.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/page-objects/password-page.ts.ejs
@@ -17,7 +17,7 @@ export default class PasswordPage extends BasePage {
   }
 
   async get() {
-    await browser.get('/account/password');
+    await browser.get('#/account/password');
     await this.waitUntilDisplayed();
   }
 
diff --git a/generators/client/templates/react/src/test/javascript/e2e/page-objects/register-page.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/page-objects/register-page.ts.ejs
index 9d15b84f3c..675baff1d8 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/page-objects/register-page.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/page-objects/register-page.ts.ejs
@@ -18,7 +18,7 @@ export default class RegisterPage extends BasePage {
   }
 
   async get() {
-    await browser.get('/register');
+    await browser.get('#/register');
     await this.waitUntilDisplayed();
   }
 
diff --git a/generators/client/templates/react/src/test/javascript/e2e/page-objects/settings-page.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/page-objects/settings-page.ts.ejs
index 7fc176f415..dee5214da6 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/page-objects/settings-page.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/page-objects/settings-page.ts.ejs
@@ -18,7 +18,7 @@ export default class SettingsPage extends BasePage {
   }
 
   async get() {
-    await browser.get('/account/settings');
+    await browser.get('#/account/settings');
     await this.waitUntilDisplayed();
   }
 
diff --git a/generators/client/templates/react/src/test/javascript/e2e/page-objects/signin-page.ts.ejs b/generators/client/templates/react/src/test/javascript/e2e/page-objects/signin-page.ts.ejs
index 89b2d23d33..1e627bc8b0 100644
--- a/generators/client/templates/react/src/test/javascript/e2e/page-objects/signin-page.ts.ejs
+++ b/generators/client/templates/react/src/test/javascript/e2e/page-objects/signin-page.ts.ejs
@@ -22,7 +22,7 @@ export default class SignInPage extends BasePage {
   }
 
   async get() {
-    await browser.get('/login');
+    await browser.get('#/login');
     await this.waitUntilDisplayed();
   }
 
@@ -63,7 +63,7 @@ export default class SignInPage extends BasePage {
   <%_ } _%>
 
   async autoSignOut() {
-    await browser.get('/logout');
+    await browser.get('#/logout');
   }
 
   async login() {
diff --git a/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs b/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
index bd9e83bf13..163b3aa050 100644
--- a/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
+++ b/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity.spec.ts.ejs
@@ -91,73 +91,66 @@ describe('<%= entityClass %> e2e test', () => {
         expect(await <%= entityInstance %>UpdatePage.getPageTitle().getText())
             .to.match(/Create or edit a <%= entityClass %>/);
         <%_ } _%>
-        await <%= entityInstance %>UpdatePage.cancel();
     });
 
    <%= openBlockComment %> it('should create and save <%= entityClassPlural %>', async () => {
-        async function create<%= entityClass %>() {
-            await <%= entityInstance %>ComponentsPage.clickOnCreateButton();
-            <%_ fields.forEach((field) => {
-                const fieldName = field.fieldName;
-                const fieldNameCapitalized = field.fieldNameCapitalized;
-                const fieldType = field.fieldType;
-                const fieldTypeBlobContent = field.fieldTypeBlobContent;
-                const fieldIsEnum = field.fieldIsEnum;
-            _%>
-            <%_ if (['Integer', 'Long', 'Float', 'Double', 'BigDecimal'].includes(fieldType)) { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('5');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.eq('5');
-            <%_ } else if (fieldType === 'LocalDate') { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('01-01-2001');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.eq('2001-01-01');
-            <%_ } else if (['Instant', 'ZonedDateTime'].includes(fieldType)) { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('01/01/2001' + protractor.Key.TAB + '02:30AM');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.contain('2001-01-01T02:30');
-            <%_ } else if (fieldType === 'Boolean') { _%>
-            const selected<%= fieldNameCapitalized %> = await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected();
-            if (selected<%= fieldNameCapitalized %>) {
-                await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().click();
-                expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected()).to.be.false;
-            } else {
-                await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().click();
-                expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected()).to.be.true;
-            }
-            <%_ } else if (['byte[]', 'ByteBuffer'].includes(fieldType) && fieldTypeBlobContent === 'text') { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('<%= fieldName %>');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/<%= fieldName %>/);
-            <%_ } else if (['byte[]', 'ByteBuffer'].includes(fieldType)) { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input(absolutePath);
-            <%_ } else if (fieldIsEnum) { _%>
-            await <%= entityInstance %>UpdatePage.<%=fieldName %>SelectLastOption();
-            <%_ } else if (fieldType === 'UUID'){ _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('64c99148-3908-465d-8c4a-e510e3ade974');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/64c99148-3908-465d-8c4a-e510e3ade974/);
-            <%_ } else { _%>
-            await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('<%= fieldName %>');
-            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/<%= fieldName %>/);
-            <%_ } _%>
-            <%_ }); _%>
-            <%_ relationships.forEach((relationship) => {
-                const relationshipType = relationship.relationshipType;
-                const ownerSide = relationship.ownerSide;
-                const relationshipName = relationship.relationshipName;
-                const relationshipFieldName = relationship.relationshipFieldName; _%>
-            <%_ if (relationshipType === 'many-to-one' || (relationshipType === 'one-to-one' && ownerSide === true)) { _%>
-            await <%= entityInstance %>UpdatePage.<%=relationshipName %>SelectLastOption();
-            <%_ } else if ((relationshipType === 'many-to-many' && ownerSide === true)) { _%>
-            // <%= entityInstance %>UpdatePage.<%=relationshipName %>SelectLastOption();
-            <%_ } _%>
-            <%_ }); _%>
-            await waitUntilDisplayed(<%= entityInstance %>UpdatePage.getSaveButton());
-            await <%= entityInstance %>UpdatePage.save();
-            await waitUntilHidden(<%= entityInstance %>UpdatePage.getSaveButton());
-            expect(await <%= entityInstance %>UpdatePage.getSaveButton().isPresent()).to.be.false;
-        }
-
-        await create<%= entityClass %>();
-        <%= entityInstance %>ComponentsPage.waitUntilLoaded();
         const nbButtonsBeforeCreate = await <%= entityInstance %>ComponentsPage.countDeleteButtons();
-        await create<%= entityClass %>();
+
+        <%_ fields.forEach((field) => {
+            const fieldName = field.fieldName;
+            const fieldNameCapitalized = field.fieldNameCapitalized;
+            const fieldType = field.fieldType;
+            const fieldTypeBlobContent = field.fieldTypeBlobContent;
+            const fieldIsEnum = field.fieldIsEnum;
+        _%>
+        <%_ if (['Integer', 'Long', 'Float', 'Double', 'BigDecimal'].includes(fieldType)) { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('5');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.eq('5');
+        <%_ } else if (fieldType === 'LocalDate') { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('01-01-2001');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.eq('2001-01-01');
+        <%_ } else if (['Instant', 'ZonedDateTime'].includes(fieldType)) { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('01/01/2001' + protractor.Key.TAB + '02:30AM');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.contain('2001-01-01T02:30');
+        <%_ } else if (fieldType === 'Boolean') { _%>
+        const selected<%= fieldNameCapitalized %> = await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected();
+        if (selected<%= fieldNameCapitalized %>) {
+            await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().click();
+            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected()).to.be.false;
+        } else {
+            await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().click();
+            expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input().isSelected()).to.be.true;
+        }
+        <%_ } else if (['byte[]', 'ByteBuffer'].includes(fieldType) && fieldTypeBlobContent === 'text') { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('<%= fieldName %>');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/<%= fieldName %>/);
+        <%_ } else if (['byte[]', 'ByteBuffer'].includes(fieldType)) { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input(absolutePath);
+        <%_ } else if (fieldIsEnum) { _%>
+        await <%= entityInstance %>UpdatePage.<%=fieldName %>SelectLastOption();
+        <%_ } else if (fieldType === 'UUID'){ _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('64c99148-3908-465d-8c4a-e510e3ade974');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/64c99148-3908-465d-8c4a-e510e3ade974/);
+        <%_ } else { _%>
+        await <%= entityInstance %>UpdatePage.set<%= fieldNameCapitalized %>Input('<%= fieldName %>');
+        expect(await <%= entityInstance %>UpdatePage.get<%= fieldNameCapitalized %>Input()).to.match(/<%= fieldName %>/);
+        <%_ } _%>
+        <%_ }); _%>
+        <%_ relationships.forEach((relationship) => {
+            const relationshipType = relationship.relationshipType;
+            const ownerSide = relationship.ownerSide;
+            const relationshipName = relationship.relationshipName;
+            const relationshipFieldName = relationship.relationshipFieldName; _%>
+        <%_ if (relationshipType === 'many-to-one' || (relationshipType === 'one-to-one' && ownerSide === true)) { _%>
+        await <%= entityInstance %>UpdatePage.<%=relationshipName %>SelectLastOption();
+        <%_ } else if ((relationshipType === 'many-to-many' && ownerSide === true)) { _%>
+        // <%= entityInstance %>UpdatePage.<%=relationshipName %>SelectLastOption();
+        <%_ } _%>
+        <%_ }); _%>
+        await waitUntilDisplayed(<%= entityInstance %>UpdatePage.getSaveButton());
+        await <%= entityInstance %>UpdatePage.save();
+        await waitUntilHidden(<%= entityInstance %>UpdatePage.getSaveButton());
+        expect(await <%= entityInstance %>UpdatePage.getSaveButton().isPresent()).to.be.false;
 
         await <%= entityInstance %>ComponentsPage.waitUntilDeleteButtonsLength(nbButtonsBeforeCreate + 1);
         expect(await <%= entityInstance %>ComponentsPage.countDeleteButtons()).to.eq(nbButtonsBeforeCreate + 1);
diff --git a/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs b/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIntTest.java.ejs
similarity index 99%
rename from generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs
rename to generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIntTest.java.ejs
index 553dcac645..13b79bbc5f 100644
--- a/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs
+++ b/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIntTest.java.ejs
@@ -150,11 +150,11 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 <%_ } else { _%>
 @SpringBootTest(classes = <%= mainClass %>.class)
 <%_ } _%>
-public class <%= entityClass %>ResourceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class <%= entityClass %>ResourceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 <%_
     let oldSource = '';
     try {
-        oldSource = this.fs.readFileSync(this.SERVER_TEST_SRC_DIR + packageFolder + '/web/rest/' + entityClass + 'ResourceIT.java', 'utf8');
+        oldSource = this.fs.readFileSync(this.SERVER_TEST_SRC_DIR + packageFolder + '/web/rest/' + entityClass + 'ResourceIntTest.java', 'utf8');
     } catch (e) {}
 _%>
     <%_ for (idx in fields) {
@@ -245,7 +245,7 @@ _%>
                 updatedTextString = updatedTextString + "B";
                 log(this.chalkRed('Randomly generated first and second test values for entity "' + entityClass +
                     '" field "' + fields[idx].fieldName + '" with pattern "' + fields[idx].fieldValidateRulesPattern +
-                    '" in file "' + entityClass + 'ResourceIT" where equal, added symbol "B" to second value.'));
+                    '" in file "' + entityClass + 'ResourceIntTest" where equal, added symbol "B" to second value.'));
             }
         }_%>
 
@@ -428,7 +428,7 @@ _%>
             if ((relationshipValidate !== null && relationshipValidate === true) || mapsIdUse === true) { _%>
         // Add required entity
             <%_ if (alreadyGeneratedEntities.indexOf(otherEntityName) == -1) { _%>
-        <%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %> = <%= otherEntityNameCapitalized %>ResourceIT.createEntity(<% if (databaseType === 'sql') { %>em<% } %>);
+        <%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %> = <%= otherEntityNameCapitalized %>ResourceIntTest.createEntity(<% if (databaseType === 'sql') { %>em<% } %>);
                 <%_ if (databaseType === 'sql') { _%>
         em.persist(<%= otherEntityName %>);
         em.flush();
@@ -734,7 +734,7 @@ _%>
     @Transactional<% } %>
     public void getAll<%= entityClassPlural %>By<%= relationship.relationshipNameCapitalized %>IsEqualToSomething() throws Exception {
         // Initialize the database
-        <%= asEntity(relationship.otherEntityNameCapitalized) %> <%= relationship.relationshipFieldName %> = <%= relationship.otherEntityNameCapitalized %>ResourceIT.createEntity(em);
+        <%= asEntity(relationship.otherEntityNameCapitalized) %> <%= relationship.relationshipFieldName %> = <%= relationship.otherEntityNameCapitalized %>ResourceIntTest.createEntity(em);
         em.persist(<%= relationship.relationshipFieldName %>);
         em.flush();
 <%_ if (relationship.relationshipType === 'many-to-many' || relationship.relationshipType === 'one-to-many') { _%>
diff --git a/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs b/generators/server/templates/src/test/java/package/CassandraKeyspaceUnitTest.java.ejs
similarity index 95%
rename from generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs
rename to generators/server/templates/src/test/java/package/CassandraKeyspaceUnitTest.java.ejs
index 5facb0db11..ba2d89aa30 100644
--- a/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/CassandraKeyspaceUnitTest.java.ejs
@@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class CassandraKeyspaceIT extends AbstractCassandraTest {
+public class CassandraKeyspaceUnitTest extends AbstractCassandraTest {
 
     @Autowired
     private Session session;
diff --git a/generators/server/templates/src/test/java/package/config/CassandraConfigurationIT.java.ejs b/generators/server/templates/src/test/java/package/config/CassandraTestConfiguration.java.ejs
similarity index 95%
rename from generators/server/templates/src/test/java/package/config/CassandraConfigurationIT.java.ejs
rename to generators/server/templates/src/test/java/package/config/CassandraTestConfiguration.java.ejs
index 2e04b3addf..1f821d2dd6 100644
--- a/generators/server/templates/src/test/java/package/config/CassandraConfigurationIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/config/CassandraTestConfiguration.java.ejs
@@ -29,7 +29,7 @@ import org.springframework.context.annotation.Profile;
 
 @Configuration
 @Profile(JHipsterConstants.SPRING_PROFILE_TEST)
-public class CassandraConfigurationIT extends CassandraConfiguration {
+public class CassandraTestConfiguration extends CassandraConfiguration {
 
     /**
      * Override how to get the port to connect to the Cassandra cluster.
diff --git a/generators/server/templates/src/test/java/package/config/DatabaseConfigurationIT.java.ejs b/generators/server/templates/src/test/java/package/config/DatabaseTestConfiguration.java.ejs
similarity index 95%
rename from generators/server/templates/src/test/java/package/config/DatabaseConfigurationIT.java.ejs
rename to generators/server/templates/src/test/java/package/config/DatabaseTestConfiguration.java.ejs
index 30e14c38df..81e0d89238 100644
--- a/generators/server/templates/src/test/java/package/config/DatabaseConfigurationIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/config/DatabaseTestConfiguration.java.ejs
@@ -34,13 +34,13 @@ import org.testcontainers.couchbase.CouchbaseContainer;
 import java.util.List;
 
 @Configuration
-public class DatabaseConfigurationIT extends AbstractCouchbaseConfiguration {
+public class DatabaseTestConfiguration extends AbstractCouchbaseConfiguration {
 
     private CouchbaseProperties couchbaseProperties;
 
     private static CouchbaseContainer<? extends CouchbaseContainer<?>> couchbaseContainer;
 
-    public DatabaseConfigurationIT(CouchbaseProperties couchbaseProperties) {
+    public DatabaseTestConfiguration(CouchbaseProperties couchbaseProperties) {
         this.couchbaseProperties = couchbaseProperties;
     }
 
diff --git a/generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs b/generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs
rename to generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneTest.java.ejs
index 538543a674..6040123ae5 100644
--- a/generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/config/timezone/HibernateTimeZoneTest.java.ejs
@@ -49,7 +49,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 <%_ } else { _%>
 @SpringBootTest(classes = <%= mainClass %>.class)
 <%_ } _%>
-public class HibernateTimeZoneIT {
+public class HibernateTimeZoneTest {
 
     @Autowired
     private DateTimeWrapperRepository dateTimeWrapperRepository;
diff --git a/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs b/generators/server/templates/src/test/java/package/cucumber/CucumberTest.java.ejs
similarity index 90%
rename from generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs
rename to generators/server/templates/src/test/java/package/cucumber/CucumberTest.java.ejs
index 3a28c309e9..904c21d95c 100644
--- a/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/cucumber/CucumberTest.java.ejs
@@ -27,6 +27,6 @@ import cucumber.api.junit.Cucumber;
 
 @RunWith(Cucumber.class)
 @CucumberOptions(plugin = "pretty", features = "<%= TEST_DIR %>features")
-public class CucumberIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest<% } %> {
+public class CucumberTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest<% } %> {
 
 }
diff --git a/generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIT.java.ejs b/generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIT.java.ejs
rename to generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIntTest.java.ejs
index 52c02cf50f..2ed29a125b 100644
--- a/generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/repository/CustomAuditEventRepositoryIntTest.java.ejs
@@ -54,7 +54,7 @@ import static <%=packageName%>.repository.CustomAuditEventRepository.EVENT_DATA_
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)<% if (databaseType === 'sql') { %>
 @Transactional<% } %>
-public class CustomAuditEventRepositoryIT {
+public class CustomAuditEventRepositoryIntTest {
 
     @Autowired
     private PersistenceAuditEventRepository persistenceAuditEventRepository;
diff --git a/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs b/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIntTest.java.ejs
similarity index 98%
rename from generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs
rename to generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIntTest.java.ejs
index 9ff88f43ed..2331050363 100644
--- a/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIntTest.java.ejs
@@ -69,7 +69,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 <%_ if (databaseType === 'couchbase') { _%>
 @WithMockUser("test-user-one")
 <%_ } _%>
-public class DomainUserDetailsServiceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class DomainUserDetailsServiceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     private static final String USER_ONE_LOGIN = "test-user-one";
     private static final String USER_ONE_EMAIL = "test-user-one@localhost";
diff --git a/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs b/generators/server/templates/src/test/java/package/service/MailServiceIntTest.java.ejs
similarity index 98%
rename from generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs
rename to generators/server/templates/src/test/java/package/service/MailServiceIntTest.java.ejs
index 76e4652136..ffd0b3a79a 100644
--- a/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/service/MailServiceIntTest.java.ejs
@@ -50,7 +50,7 @@ import static org.mockito.Mockito.*;
 
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class MailServiceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class MailServiceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     @Autowired
     private JHipsterProperties jHipsterProperties;
diff --git a/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs b/generators/server/templates/src/test/java/package/service/UserServiceIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs
rename to generators/server/templates/src/test/java/package/service/UserServiceIntTest.java.ejs
index ac5215cfcf..5b9830f32d 100644
--- a/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/service/UserServiceIntTest.java.ejs
@@ -126,7 +126,7 @@ import static org.mockito.Mockito.when;
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)<% if (databaseType === 'sql') { %>
 @Transactional<% } %>
-public class UserServiceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class UserServiceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     <%_ if ((databaseType === 'sql' || databaseType === 'mongodb' || databaseType === 'couchbase') && authenticationType === 'session') { _%>
     @Autowired
diff --git a/generators/server/templates/src/test/java/package/service/mapper/UserMapperIT.java.ejs b/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs
similarity index 98%
rename from generators/server/templates/src/test/java/package/service/mapper/UserMapperIT.java.ejs
rename to generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs
index f11d9bc32d..a4f3176f67 100644
--- a/generators/server/templates/src/test/java/package/service/mapper/UserMapperIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs
@@ -29,7 +29,7 @@ import static org.assertj.core.api.Assertions.assertThat;
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class UserMapperIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class UserMapperTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     private static final String DEFAULT_LOGIN = "johndoe";
 
diff --git a/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/AccountResourceIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/AccountResourceIntTest.java.ejs
index 1a8909d979..b75b825a1b 100644
--- a/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/AccountResourceIntTest.java.ejs
@@ -61,7 +61,7 @@ import org.springframework.web.context.WebApplicationContext;
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class AccountResourceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class AccountResourceIntTest<% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     @Autowired
     private UserRepository userRepository;
@@ -248,7 +248,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class AccountResourceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class AccountResourceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     @Autowired
     private UserRepository userRepository;
diff --git a/generators/server/templates/src/test/java/package/web/rest/AuditResourceIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/AuditResourceIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/web/rest/AuditResourceIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/AuditResourceIntTest.java.ejs
index 199e84a731..ce06dbe494 100644
--- a/generators/server/templates/src/test/java/package/web/rest/AuditResourceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/AuditResourceIntTest.java.ejs
@@ -56,7 +56,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)<% if (databaseType === 'sql') { %>
 @Transactional<% } %>
-public class AuditResourceIT {
+public class AuditResourceIntTest {
 
     private static final String SAMPLE_PRINCIPAL = "SAMPLE_PRINCIPAL";
     private static final String SAMPLE_TYPE = "SAMPLE_TYPE";
diff --git a/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs
deleted file mode 100644
index 6466246cb1..0000000000
--- a/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerIT.java.ejs
+++ /dev/null
@@ -1,81 +0,0 @@
-<%#
- Copyright 2013-2019 the original author or authors from the JHipster project.
-
- This file is part of the JHipster project, see https://www.jhipster.tech/
- for more information.
-
- 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.
--%>
-package <%=packageName%>.web.rest;
-
-<%_ if (databaseType === 'cassandra') { _%>
-import <%= packageName %>.AbstractCassandraTest;
-<%_ } _%>
-import <%=packageName%>.<%= mainClass %>;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.ResultActions;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-/**
- * Test class for the ClientForwardController REST controller.
- *
- * @see ClientForwardController
- */
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = <%= mainClass %>.class)
-public class ClientForwardControllerIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
-
-    private MockMvc restMockMvc;
-
-    @Before
-    public void setup() {
-        ClientForwardController clientForwardController = new ClientForwardController();
-        LogsResource logsResource = new LogsResource();
-        this.restMockMvc = MockMvcBuilders
-            .standaloneSetup(clientForwardController, logsResource)
-            .build();
-    }
-
-    @Test
-    public void getBackendEndpoint() throws Exception {
-        restMockMvc.perform(get("/management/logs"))
-            .andExpect(status().isOk())
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
-    }
-
-    @Test
-    public void getClientEndpoint() throws Exception {
-        ResultActions perform = restMockMvc.perform(get("/non-existant-mapping"));
-        perform
-            .andExpect(status().isOk())
-            .andExpect(forwardedUrl("/"));
-    }
-
-    @Test
-    public void getNestedClientEndpoint() throws Exception {
-        restMockMvc.perform(get("/admin/user-management"))
-            .andExpect(status().isOk())
-            .andExpect(forwardedUrl("/"));
-    }
-}
diff --git a/generators/server/templates/src/test/java/package/web/rest/LogoutResourceIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/LogoutResourceIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/web/rest/LogoutResourceIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/LogoutResourceIntTest.java.ejs
index fd18547ad4..375fceaf67 100644
--- a/generators/server/templates/src/test/java/package/web/rest/LogoutResourceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/LogoutResourceIntTest.java.ejs
@@ -49,7 +49,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class LogoutResourceIT {
+public class LogoutResourceIntTest {
 
     @Autowired
     private MappingJackson2HttpMessageConverter jacksonMessageConverter;
diff --git a/generators/server/templates/src/test/java/package/web/rest/LogsResourceIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/LogsResourceIntTest.java.ejs
similarity index 97%
rename from generators/server/templates/src/test/java/package/web/rest/LogsResourceIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/LogsResourceIntTest.java.ejs
index 77674cc15c..ab7fce3df7 100644
--- a/generators/server/templates/src/test/java/package/web/rest/LogsResourceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/LogsResourceIntTest.java.ejs
@@ -61,7 +61,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 <%_ } else { _%>
 @SpringBootTest(classes = <%= mainClass %>.class)
 <%_ } _%>
-public class LogsResourceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class LogsResourceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     <%_ if (reactive) { _%>
     private WebTestClient webTestClient;
diff --git a/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIntTest.java.ejs
similarity index 98%
rename from generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIntTest.java.ejs
index c15848f864..be5f90d460 100644
--- a/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIntTest.java.ejs
@@ -65,7 +65,7 @@ import static org.hamcrest.Matchers.not;
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class UserJWTControllerIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class UserJWTControllerIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     @Autowired
     private TokenProvider tokenProvider;
diff --git a/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/UserResourceIntTest.java.ejs
similarity index 99%
rename from generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/UserResourceIntTest.java.ejs
index e39cd1297d..069155524d 100644
--- a/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/UserResourceIntTest.java.ejs
@@ -106,7 +106,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class UserResourceIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class UserResourceIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     private static final String DEFAULT_LOGIN = "johndoe";
     <%_ if (authenticationType !== 'oauth2') { _%>
diff --git a/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs b/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIntTest.java.ejs
similarity index 98%
rename from generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs
rename to generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIntTest.java.ejs
index edd0ad7c8d..a1fbc3d97d 100644
--- a/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs
+++ b/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIntTest.java.ejs
@@ -54,7 +54,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
 <%_ } else { _%>
 @SpringBootTest(classes = <%= mainClass %>.class)
 <%_ } _%>
-public class ExceptionTranslatorIT <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
+public class ExceptionTranslatorIntTest <% if (databaseType === 'cassandra') { %>extends AbstractCassandraTest <% } %>{
 
     @Autowired
     private ExceptionTranslatorTestController controller;
@@ -199,7 +199,7 @@ import java.util.List;
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class ExceptionTranslatorIT {
+public class ExceptionTranslatorIntTest {
 
     @Autowired
     private ExceptionTranslatorTestController controller;
diff --git a/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs b/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIntTest.java.ejs
similarity index 98%
rename from generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs
rename to generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIntTest.java.ejs
index 339915eb21..1d5f6267ea 100644
--- a/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs
+++ b/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIntTest.java.ejs
@@ -39,7 +39,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
  */
 @RunWith(SpringRunner.class)
 @SpringBootTest(classes = <%= mainClass %>.class)
-public class <%= controllerClass %>IT {
+public class <%= controllerClass %>IntTest {
 
     private MockMvc restMockMvc;
 
diff --git a/test-integration/samples/README.md b/test-integration/samples/README.md
index 122ff75179..d3aaa715ed 100644
--- a/test-integration/samples/README.md
+++ b/test-integration/samples/README.md
@@ -6,26 +6,31 @@ To generate test applications, either automatically by Travis or locally on the
 
 Those are described in `.yo-rc.json` files which is the descriptor file created by Yeoman to keep track of the choices selected while generating an application.
 
--   app-sample-dev: left empty for local testing, launching the generator with the VSCode debugger will generate an app in this folder
--   jdl-default
--   ms-micro-consul
--   ms-micro-eureka
--   ms-ngx-gateway-consul
--   ms-ngx-gateway-eureka
--   ms-ngx-gateway-eureka-oauth2
--   ms-ngx-gateway-uaa
--   ngx-couchbase
--   ngx-default
--   ngx-gradle-fr
--   ngx-h2mem-ws-nol2
--   ngx-mariadb-oauth2-sass-infinispan
--   ngx-mongodb-kafka-cucumber
--   ngx-psql-es-noi18n
--   ngx-session-cassandra-fr
--   react-default
--   react-noi18n-es-ws-gradle-session
+-   app-sample-dev : left empty for local testing, launching the generator with the VSCode debugger will generate an app in this folder
+-   app-ng2-default-from-scratch
+-   app-mariadb-kafka
+-   app-ng2-cassandra
+-   app-ng2-gateway-consul
+-   app-ng2-infinispan
+-   app-ng2-sass-noi18n
+-   app-gradle
+-   app-microservice-consul
+-   app-ng2-couchbase
+-   app-ng2-gateway-eureka
+-   app-ng2-mongodb
+-   app-ng2-websocket
+-   app-hazelcast-cucumber
+-   app-microservice-eureka
+-   app-ng2-cache-nol2
+-   app-ng2-gateway-uaa
+-   app-ng2-oauth2
+-   app-react-default
+-   app-jwt
 -   uaa
--   webflux-mongodb
+-   app-mysql
+-   app-ng2-default-sample
+-   app-ng2-gradle-jwt-psql
+-   app-ng2-psql-es-noi18n
 
 ## Entity configurations
 
diff --git a/test/spring-controller.spec.js b/test/spring-controller.spec.js
index 063eeb19f6..5d3550e9a1 100644
--- a/test/spring-controller.spec.js
+++ b/test/spring-controller.spec.js
@@ -25,7 +25,7 @@ describe('JHipster generator spring-controller', () => {
         it('creates controller files', () => {
             assert.file([`${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/FooResource.java`]);
 
-            assert.file([`${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIT.java`]);
+            assert.file([`${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIntTest.java`]);
         });
     });
 
@@ -44,7 +44,7 @@ describe('JHipster generator spring-controller', () => {
         it('creates controller files', () => {
             assert.file([`${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/FooResource.java`]);
 
-            assert.file([`${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIT.java`]);
+            assert.file([`${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIntTest.java`]);
         });
     });
 });
diff --git a/test/utils/expected-files.js b/test/utils/expected-files.js
index 0310720300..5448fbc527 100644
--- a/test/utils/expected-files.js
+++ b/test/utils/expected-files.js
@@ -125,7 +125,7 @@ const expectedFiles = {
             `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/repository/FooRepository.java`,
             `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/FooResource.java`,
             // SERVER_MAIN_RES_DIR + 'config/liquibase/changelog/20160120213555_added_entity_Foo.xml',
-            `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIT.java`
+            `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/FooResourceIntTest.java`
         ],
         gatling: [`${TEST_DIR}gatling/user-files/simulations/FooGatlingTest.scala`]
     },
@@ -202,16 +202,16 @@ const expectedFiles = {
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/package-info.java`,
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/LogsResource.java`,
         `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/security/SecurityUtilsUnitTest.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/LogsResourceIT.java`,
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/LogsResourceIntTest.java`,
         `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/TestUtil.java`,
         `${SERVER_TEST_RES_DIR}config/application.yml`,
         `${SERVER_TEST_RES_DIR}logback.xml`
     ],
 
     userManagementServer: [
-        `${SERVER_MAIN_RES_DIR}config/liquibase/data/authority.csv`,
-        `${SERVER_MAIN_RES_DIR}config/liquibase/data/user.csv`,
-        `${SERVER_MAIN_RES_DIR}config/liquibase/data/user_authority.csv`,
+        `${SERVER_MAIN_RES_DIR}config/liquibase/authorities.csv`,
+        `${SERVER_MAIN_RES_DIR}config/liquibase/users.csv`,
+        `${SERVER_MAIN_RES_DIR}config/liquibase/users_authorities.csv`,
         `${SERVER_MAIN_RES_DIR}templates/mail/activationEmail.html`,
         `${SERVER_MAIN_RES_DIR}templates/mail/passwordResetEmail.html`,
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/domain/Authority.java`,
@@ -235,10 +235,10 @@ const expectedFiles = {
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/UserResource.java`,
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/vm/KeyAndPasswordVM.java`,
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/web/rest/vm/ManagedUserVM.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/AccountResourceIT.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/AuditResourceIT.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/UserResourceIT.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/service/UserServiceIT.java`
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/AccountResourceIntTest.java`,
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/AuditResourceIntTest.java`,
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/web/rest/UserResourceIntTest.java`,
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/service/UserServiceIntTest.java`
     ],
 
     infinispan: [`${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/config/CacheFactoryConfiguration.java`],
@@ -644,7 +644,7 @@ const expectedFiles = {
     couchbase: [
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/repository/N1qlCouchbaseRepository.java`,
         `${SERVER_MAIN_SRC_DIR}com/mycompany/myapp/repository/CustomN1qlCouchbaseRepository.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/DatabaseConfigurationIT.java`,
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/config/DatabaseTestConfiguration.java`,
         `${SERVER_MAIN_RES_DIR}config/couchmove/changelog/V0__create_indexes.n1ql`,
         `${SERVER_MAIN_RES_DIR}config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json`,
         `${SERVER_MAIN_RES_DIR}config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json`,
@@ -684,7 +684,7 @@ const expectedFiles = {
         `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/cucumber/CucumberContextConfiguration.java`,
         `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/cucumber/stepdefs/UserStepDefs.java`,
         `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/cucumber/stepdefs/StepDefs.java`,
-        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/cucumber/CucumberIT.java`
+        `${SERVER_TEST_SRC_DIR}com/mycompany/myapp/cucumber/CucumberTest.java`
     ],
 
     eureka: [