You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by vo...@apache.org on 2020/11/02 09:01:00 UTC

[fineract] branch develop updated: FINERACT-1209: Integration Tests using new Swagger Client API

This is an automated email from the ASF dual-hosted git repository.

vorburger pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 578e098  FINERACT-1209: Integration Tests using new Swagger Client API
578e098 is described below

commit 578e098670c60eea7e865728cfd38d43c49d04f8
Author: Aleksandar Vidakovic <al...@apache.org>
AuthorDate: Thu Oct 22 03:08:57 2020 +0200

    FINERACT-1209: Integration Tests using new Swagger Client API
---
 .travis.yml                                        |  2 +-
 build.gradle                                       | 28 +++------
 config/checkstyle/suppressions.xml                 |  2 +
 fineract-provider/build.gradle                     | 69 +-------------------
 fineract-provider/dependencies.gradle              |  5 +-
 integration-tests/build.gradle                     | 73 ++++++++++++++++++++++
 integration-tests/dependencies.gradle              | 45 +++++++++++++
 .../AccountNumberPreferencesTest.java              |  0
 .../integrationtests/AccountTransferTest.java      |  0
 .../AccountingScenarioIntegrationTest.java         |  0
 .../integrationtests/ActuatorIntegrationTest.java  |  0
 .../fineract/integrationtests/ApiDocsTest.java     |  0
 .../integrationtests/AuditIntegrationTest.java     |  0
 .../fineract/integrationtests/BatchApiTest.java    |  0
 .../BatchRequestsIntegrationTest.java              |  0
 .../integrationtests/CenterIntegrationTest.java    |  0
 .../fineract/integrationtests/ChargesTest.java     |  0
 .../ClientLoanIntegrationTest.java                 |  0
 .../ClientSavingsIntegrationTest.java              |  0
 .../integrationtests/ClientStatusChecker.java      |  0
 .../fineract/integrationtests/ClientTest.java      |  0
 ...ientUndoRejectAndWithdrawalIntegrationTest.java |  0
 .../ConcurrencyIntegrationTest.java                |  0
 .../fineract/integrationtests/CurrenciesTest.java  |  0
 .../integrationtests/CurrencyIntegrationTest.java  |  0
 .../DisbursalAndRepaymentScheduleTest.java         |  0
 .../ExternalServicesConfigurationTest.java         |  0
 .../FinancialActivityAccountsTest.java             |  0
 .../integrationtests/FixedDepositTest.java         |  0
 ...xibleSavingsInterestPostingIntegrationTest.java |  0
 .../integrationtests/FundsIntegrationTest.java     |  0
 ...restChargedFromDateSameAsDisbursalDateTest.java |  0
 .../integrationtests/GlobalConfigurationTest.java  |  0
 .../integrationtests/GroupLoanIntegrationTest.java |  0
 .../GroupSavingsIntegrationTest.java               |  0
 .../fineract/integrationtests/GroupTest.java       |  0
 .../integrationtests/HookIntegrationTest.java      |  0
 .../LoanApplicationApprovalTest.java               |  0
 .../LoanApplicationUndoLastTrancheTest.java        |  0
 .../LoanDisbursalDateValidationTest.java           |  0
 .../LoanDisbursementDetailsIntegrationTest.java    |  0
 .../LoanRepaymentRescheduleAtDisbursementTest.java |  0
 .../LoanRescheduleOnDecliningBalanceLoanTest.java  |  0
 .../LoanRescheduleRequestTest.java                 |  0
 .../LoanReschedulingWithinCenterTest.java          |  0
 ...ithWaiveInterestAndWriteOffIntegrationTest.java |  0
 .../LoanWithdrawnByApplicantIntegrationTest.java   |  0
 ...mDaysBetweenDisbursalAndFirstRepaymentTest.java |  0
 .../fineract/integrationtests/NotesTest.java       |  0
 .../integrationtests/NotificationApiTest.java      |  0
 .../integrationtests/OfficeIntegrationTest.java    |  0
 .../PasswordPreferencesIntegrationTest.java        |  0
 .../PaymentTypeIntegrationTest.java                |  0
 .../fineract/integrationtests/RatesTest.java       |  0
 .../integrationtests/RecurringDepositTest.java     |  0
 .../fineract/integrationtests/RolesTest.java       |  0
 .../integrationtests/SchedulerJobsTest.java        |  0
 .../integrationtests/SchedulerJobsTestResults.java |  0
 .../SkipRepaymentOnMonthFirstTest.java             |  0
 .../integrationtests/StaffImageApiTest.java        |  0
 .../fineract/integrationtests/StaffTest.java       |  0
 .../integrationtests/SurveyIntegrationTest.java    |  0
 .../fineract/integrationtests/SwaggeruiTest.java   |  0
 .../fineract/integrationtests/SystemCodeTest.java  |  0
 .../integrationtests/TemplateIntegrationTest.java  |  0
 .../integrationtests/UserAdministrationTest.java   |  0
 .../fineract/integrationtests/WorkingDaysTest.java |  0
 .../integrationtests/XBRLIntegrationTest.java      |  0
 .../client/ClientEntityImportHandlerTest.java      |  0
 .../importhandler/loan/LoanImportHandlerTest.java  |  0
 .../office/OfficeImportHandlerTest.java            |  0
 .../savings/SavingsImportHandlerTest.java          |  0
 .../client/ClientEntityWorkbookPopulatorTest.java  |  0
 .../populator/loan/LoanWorkbookPopulatorTest.java  |  0
 .../office/OfficeWorkBookPopulatorTest.java        |  0
 .../savings/SavingsWorkbookPopulateTest.java       |  0
 .../integrationtests/common/AuditHelper.java       |  0
 .../integrationtests/common/BatchHelper.java       |  0
 .../integrationtests/common/CalendarHelper.java    |  0
 .../integrationtests/common/CenterDomain.java      |  0
 .../integrationtests/common/CenterHelper.java      |  0
 .../integrationtests/common/ClientChargesTest.java |  0
 .../integrationtests/common/ClientHelper.java      |  0
 .../integrationtests/common/CommonConstants.java   |  0
 .../integrationtests/common/CurrenciesHelper.java  |  0
 .../integrationtests/common/CurrencyDomain.java    |  0
 .../ExternalServicesConfigurationHelper.java       |  0
 .../common/GlobalConfigurationHelper.java          |  0
 .../integrationtests/common/GroupHelper.java       |  0
 .../integrationtests/common/HolidayHelper.java     |  0
 .../integrationtests/common/HookHelper.java        |  0
 .../integrationtests/common/ImageHelper.java       |  0
 .../common/LoanRescheduleRequestHelper.java        |  0
 .../integrationtests/common/NotesHelper.java       |  0
 .../common/NotificationHelper.java                 |  0
 .../integrationtests/common/OfficeDomain.java      |  0
 .../integrationtests/common/OfficeHelper.java      |  0
 .../common/PasswordPreferencesHelper.java          |  0
 .../integrationtests/common/PaymentTypeDomain.java |  0
 .../integrationtests/common/PaymentTypeHelper.java |  0
 .../common/ProvisioningIntegrationTest.java        |  0
 .../common/SchedulerJobHelper.java                 |  0
 .../common/StandingInstructionsHelper.java         |  0
 .../integrationtests/common/SurveyHelper.java      |  0
 .../common/TaxComponentHelper.java                 |  0
 .../integrationtests/common/TaxGroupHelper.java    |  0
 .../fineract/integrationtests/common/Utils.java    |  0
 .../integrationtests/common/WorkingDaysHelper.java |  0
 .../common/accounting/Account.java                 |  0
 .../common/accounting/AccountHelper.java           |  0
 .../accounting/FinancialActivityAccountHelper.java |  0
 .../FinancialActivityAccountsMappingBuilder.java   |  0
 .../common/accounting/GLAccountBuilder.java        |  0
 .../common/accounting/JournalEntry.java            |  0
 .../common/accounting/JournalEntryHelper.java      |  0
 .../PeriodicAccrualAccountingHelper.java           |  0
 .../common/charges/ChargesHelper.java              |  0
 .../fixeddeposit/FixedDepositAccountHelper.java    |  0
 .../FixedDepositAccountStatusChecker.java          |  0
 .../fixeddeposit/FixedDepositProductHelper.java    |  0
 .../integrationtests/common/funds/FundsHelper.java |  0
 .../common/funds/FundsResourceHandler.java         |  0
 .../common/loans/LoanApplicationTestBuilder.java   |  0
 .../common/loans/LoanDisbursementTestBuilder.java  |  0
 .../common/loans/LoanProductTestBuilder.java       |  0
 .../loans/LoanRescheduleRequestTestBuilder.java    |  0
 .../common/loans/LoanStatusChecker.java            |  0
 .../common/loans/LoanTransactionHelper.java        |  0
 .../common/organisation/CampaignsHelper.java       |  0
 .../common/organisation/CampaignsTest.java         |  0
 .../common/organisation/Currency.java              |  0
 .../common/organisation/CurrencyHelper.java        |  0
 .../organisation/EntityDatatableChecksHelper.java  |  0
 .../EntityDatatableChecksIntegrationTest.java      |  0
 .../common/organisation/StaffHelper.java           |  0
 .../common/provisioning/ProvisioningHelper.java    |  0
 .../ProvisioningTransactionHelper.java             |  0
 .../integrationtests/common/rates/RatesHelper.java |  0
 .../RecurringDepositAccountHelper.java             |  0
 .../RecurringDepositAccountStatusChecker.java      |  0
 .../RecurringDepositProductHelper.java             |  0
 .../integrationtests/common/report/ReportData.java |  0
 .../common/savings/AccountTransferHelper.java      |  0
 .../common/savings/SavingsAccountHelper.java       |  0
 .../savings/SavingsApplicationTestBuilder.java     |  0
 .../common/savings/SavingsProductHelper.java       |  0
 .../common/savings/SavingsStatusChecker.java       |  0
 .../common/shares/DividendsIntegrationTests.java   |  0
 .../common/shares/ShareAccountHelper.java          |  0
 .../shares/ShareAccountIntegrationTests.java       |  0
 .../shares/ShareAccountTransactionHelper.java      |  0
 .../shares/ShareDividendsTransactionHelper.java    |  0
 .../common/shares/ShareProductHelper.java          |  0
 .../shares/ShareProductTransactionHelper.java      |  0
 .../system/AccountNumberPreferencesHelper.java     |  0
 .../AccountNumberPreferencesTestBuilder.java       |  0
 .../integrationtests/common/system/CodeHelper.java |  0
 .../common/system/DatatableHelper.java             |  0
 .../common/xbrl/XBRLIntegrationTestHelper.java     |  0
 .../guarantor/GuarantorHelper.java                 |  2 +-
 .../integrationtests}/guarantor/GuarantorTest.java |  2 +-
 .../guarantor/GuarantorTestBuilder.java            |  2 +-
 .../interoperation/InteropHelper.java              |  0
 .../interoperation/InteropTest.java                |  0
 .../useradministration/roles/RolesHelper.java      |  0
 .../useradministration/users/UserHelper.java       |  0
 ...VariableInstallmentsDecliningBalanceHelper.java |  0
 .../VariableInstallmentsFlatHelper.java            |  0
 .../VariableInstallmentsIntegrationTest.java       |  0
 .../VariableIntallmentsTransactionHelper.java      |  0
 settings.gradle                                    |  3 +-
 171 files changed, 138 insertions(+), 95 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3ce77b5..7eaf030 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -72,6 +72,6 @@ script:
 # using "&&" instead of several "-" means that integrationTest does not run if test fails,
 # and Docker test does not run if integration test fails, which makes PR failure easier to understand.
 # @see https://docs.travis-ci.com/user/job-lifecycle/#customizing-the-build-phase
-  - ./gradlew --console=plain -PautomatedBuild=true licenseMain licenseTest licenseIntegrationTest check  &&  ./gradlew --console=plain -PautomatedBuild=true build integrationTest --fail-fast  &&  sudo service mysql stop  &&  docker-compose build  &&  docker-compose up -d  &&  sleep 60s  && curl -f -k --retry 5 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health  &&  (( $(curl -f -k --retry 5 --retry-connrefused --connect-tim [...]
+  - ./gradlew --console=plain -PautomatedBuild=true licenseMain licenseTest check -x test  &&  ./gradlew --console=plain -PautomatedBuild=true build test --fail-fast  &&  sudo service mysql stop  &&  docker-compose build  &&  docker-compose up -d  &&  sleep 60s  && curl -f -k --retry 5 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health  &&  (( $(curl -f -k --retry 5 --retry-connrefused --connect-timeout 30 --retry-delay 30 h [...]
 # We stop the mysql system service when running the Docker test to avoid port 3306 conflicts (unless we run the mysql in docker-compose on another port; req. FINERACT-773)
 # The fancy /actuator/info test makes sure that has more than 100 characters of JSON to test that the git.properties worked (see FINERACT-983)
diff --git a/build.gradle b/build.gradle
index c6ddf1b..4617ec9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,7 +19,7 @@
 // TODO: this is work in progress, please follow FINERACT-1171
 buildscript {
     ext {
-        jacocoVersion = '0.8.5'
+        jacocoVersion = '0.8.6'
         retrofitVersion = '2.9.0'
         okhttpVersion = '4.7.2'
         oltuVersion = '1.0.1'
@@ -27,6 +27,7 @@ buildscript {
             [
                 'fineract-api',
                 'fineract-provider',
+                'integration-tests',
                 'fineract-client'
             ].contains(it.name)
         }
@@ -88,6 +89,8 @@ allprojects  {
     dependencyManagement {
         imports {
             mavenBom 'org.springframework:spring-framework-bom:5.3.0'
+            mavenBom 'org.springframework.boot:spring-boot-dependencies:2.3.4.RELEASE'
+            mavenBom 'org.junit:junit-bom:5.7.0'
         }
 
         dependencies {
@@ -359,19 +362,9 @@ configure(project.fineractJavaProjects) {
     sourceSets.main.output.resourcesDir = sourceSets.main.java.outputDir
     sourceSets.test.output.resourcesDir = sourceSets.test.java.outputDir
 
-    sourceSets {
-        integrationTest {
-            compileClasspath += main.output + test.output
-            runtimeClasspath += main.output + test.output
-        }
-    }
-
     configurations {
         implementation.setCanBeResolved(true)
         api.setCanBeResolved(true)
-
-        integrationTestCompile.extendsFrom testImplementation
-        integrationTestRuntime.extendsFrom testRuntime
     }
 
     tasks.withType(JavaCompile) {
@@ -416,6 +409,11 @@ configure(project.fineractJavaProjects) {
 
     // Configuration for the spotless plugin
     // https://github.com/diffplug/spotless/tree/main/plugin-gradle
+    dependencies {
+        spotbugsPlugins 'jp.skypencil.findbugs.slf4j:bug-pattern:1.5.0@jar'
+        spotbugs 'com.github.spotbugs:spotbugs:4.1.4'
+    }
+
     spotless {
         java {
             targetExclude '**/build/**', '**/bin/**', '**/out/**'
@@ -632,14 +630,6 @@ configure(project.fineractJavaProjects) {
             }
         }
     }
-    spotbugsIntegrationTest {
-        reports {
-            html {
-                enabled = true
-                stylesheet = 'fancy-hist.xsl'
-            }
-        }
-    }
 
     // Configuration for the modernizer plugin
     // https://github.com/andygoossens/gradle-modernizer-plugin
diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml
index 8d80797..c983d4c 100644
--- a/config/checkstyle/suppressions.xml
+++ b/config/checkstyle/suppressions.xml
@@ -27,4 +27,6 @@
 
 <suppressions>
     <suppress files="[/\\]build[/\\]generated[/\\]" checks=".*"/>
+    <!-- TODO: fix integration test formatting -->
+    <suppress files="[/\\]integration-tests[/\\]src[/\\]test[/\\]main[/\\]" checks=".*"/>
 </suppressions>
diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle
index db230f6..2de63aa 100644
--- a/fineract-provider/build.gradle
+++ b/fineract-provider/build.gradle
@@ -21,10 +21,9 @@ description = 'Fineract Provider'
 apply plugin: 'rebel'
 apply plugin: 'war'
 apply plugin: 'org.springframework.boot'
-apply plugin: 'com.bmuschko.cargo'
 apply plugin: 'openjpa'
-apply plugin: "com.gorylenko.gradle-git-properties"
-apply plugin: "io.swagger.core.v3.swagger-gradle-plugin"
+apply plugin: 'com.gorylenko.gradle-git-properties'
+apply plugin: 'io.swagger.core.v3.swagger-gradle-plugin'
 apply plugin: 'distribution'
 apply plugin: 'signing'
 
@@ -176,51 +175,6 @@ war {
     enabled = true
 }
 
-// Configuration for the Gradle Cargo plugin
-// https://github.com/bmuschko/gradle-cargo-plugin
-configurations
-{
-    tomcat
-}
-
-dependencies {
-    tomcat "org.apache.tomcat:tomcat:9.0.39@zip"
-}
-
-cargo {
-    containerId "tomcat9x"
-
-    // looks like Cargo doesn't detect the WAR file automatically in the multi-module setup
-    deployable {
-        file = file("${buildDir}/libs/fineract-provider.war")
-        context = 'fineract-provider'
-    }
-
-    local {
-        installer {
-            installConfiguration = configurations.tomcat
-            downloadDir = file("$buildDir/download")
-            extractDir = file("$buildDir/tomcat")
-        }
-        startStopTimeout = 240000
-        containerProperties {
-            property 'cargo.tomcat.connector.keystoreFile', file('src/main/resources/keystore.jks')
-            property 'cargo.tomcat.connector.keystorePass', 'openmf'
-            property 'cargo.tomcat.httpSecure', true
-            property 'cargo.tomcat.connector.sslProtocol', 'TLS'
-            property 'cargo.tomcat.connector.clientAuth', false
-            property 'cargo.protocol', 'https'
-            property 'cargo.servlet.port', 8443
-        }
-    }
-}
-
-cargoRunLocal.dependsOn war
-cargoStartLocal.dependsOn war
-cargoStartLocal.mustRunAfter "integrationTestClasses"
-cargoStartLocal.mustRunAfter "enhance"
-cargoStartLocal.mustRunAfter "resolve"
-
 /* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
 sourceSets.main.output.resourcesDir = sourceSets.main.java.outputDir
 sourceSets.test.output.resourcesDir = sourceSets.test.java.outputDir
@@ -242,25 +196,6 @@ if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
     }
 }
 
-task integrationTest(type:Test) {
-    description = "Run integration tests (located in src/integrationTest/java). Starts Tomcat in daemon mode before executing the tests (and stops it after)."
-    dependsOn cargoStartLocal
-    finalizedBy cargoStopLocal
-
-    testClassesDirs = project.sourceSets.integrationTest.output.classesDirs
-    classpath = project.sourceSets.integrationTest.runtimeClasspath
-}
-
-integrationTest {
-    useJUnitPlatform()
-    testLogging {
-        // FINERACT-927
-        events "skipped", "failed"
-        showStandardStreams = false
-        exceptionFormat "full"
-    }
-}
-
 // Configuration for SQL tasks
 // https://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html
 import groovy.sql.Sql
diff --git a/fineract-provider/dependencies.gradle b/fineract-provider/dependencies.gradle
index 04a9d2c..393f921 100644
--- a/fineract-provider/dependencies.gradle
+++ b/fineract-provider/dependencies.gradle
@@ -19,9 +19,6 @@
 dependencies {
     providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
 
-    spotbugsPlugins "jp.skypencil.findbugs.slf4j:bug-pattern:1.5.0@jar"
-    spotbugs 'com.github.spotbugs:spotbugs:4.1.4'
-
     // Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
     // Note that we never use 'api', because Fineract at least currently is a simple monolithic application ("WAR"), not a library.
     // We also (normally should have) no need to ever use 'compileOnly'.
@@ -118,7 +115,7 @@ dependencies {
             'org.apache.httpcomponents:httpclient',
             )
 
-    // testCompile dependencies are ONLY used in src/test and/or src/integrationTest, not src/main.
+    // testCompile dependencies are ONLY used in src/test, not src/main.
     // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
     //
     testImplementation( 'org.mockito:mockito-core',
diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle
new file mode 100644
index 0000000..68a9f29
--- /dev/null
+++ b/integration-tests/build.gradle
@@ -0,0 +1,73 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+description = 'Fineract Integration Tests'
+
+apply plugin: 'com.bmuschko.cargo'
+
+// Configuration for the Gradle Cargo plugin
+// https://github.com/bmuschko/gradle-cargo-plugin
+configurations {
+    tomcat
+}
+
+apply from: 'dependencies.gradle'
+
+cargo {
+    containerId "tomcat9x"
+
+    // looks like Cargo doesn't detect the WAR file automatically in the multi-module setup
+    deployable {
+        file = file("$rootDir/fineract-provider/build/libs/fineract-provider.war")
+        context = 'fineract-provider'
+    }
+
+    local {
+        installer {
+            installConfiguration = configurations.tomcat
+            downloadDir = file("$buildDir/download")
+            extractDir = file("$buildDir/tomcat")
+        }
+        startStopTimeout = 240000
+        containerProperties {
+            property 'cargo.tomcat.connector.keystoreFile', file("$rootDir/fineract-provider/src/main/resources/keystore.jks")
+            property 'cargo.tomcat.connector.keystorePass', 'openmf'
+            property 'cargo.tomcat.httpSecure', true
+            property 'cargo.tomcat.connector.sslProtocol', 'TLS'
+            property 'cargo.tomcat.connector.clientAuth', false
+            property 'cargo.protocol', 'https'
+            property 'cargo.servlet.port', 8443
+        }
+    }
+}
+
+cargoRunLocal.dependsOn ':fineract-provider:war'
+cargoStartLocal.dependsOn ':fineract-provider:war'
+cargoStartLocal.mustRunAfter 'testClasses'
+
+test {
+    useJUnitPlatform()
+    testLogging {
+        // FINERACT-927
+        events 'skipped', 'failed'
+        showStandardStreams = false
+        exceptionFormat 'full'
+    }
+    dependsOn cargoStartLocal
+    finalizedBy cargoStopLocal
+}
diff --git a/integration-tests/dependencies.gradle b/integration-tests/dependencies.gradle
new file mode 100644
index 0000000..be1b2b8
--- /dev/null
+++ b/integration-tests/dependencies.gradle
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+dependencies {
+    // testCompile dependencies are ONLY used in src/test, not src/main.
+    // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
+    //
+    tomcat 'org.apache.tomcat:tomcat:9.0.39@zip'
+    testImplementation( files("$rootDir/fineract-provider/build/classes/java/main/"),
+            project(path: ':fineract-provider', configuration: 'runtimeElements'),
+            'org.junit.jupiter:junit-jupiter-api:5.7.0',
+            'com.google.truth:truth:1.0.1',
+            'com.google.truth.extensions:truth-java8-extension:1.0.1',
+            'org.awaitility:awaitility',
+            // 'com.google.code.gson:gson',
+            )
+    testImplementation ('org.mock-server:mockserver-junit-jupiter') {
+        exclude group: 'com.sun.mail', module: 'mailapi'
+        exclude group: 'javax.servlet', module: 'javax.servlet-api'
+        exclude group: 'javax.validation'
+    }
+    testImplementation ('io.rest-assured:rest-assured') {
+        exclude group: 'commons-logging'
+        exclude group: 'org.apache.sling'
+        exclude group: 'com.sun.xml.bind'
+    }
+    testRuntimeOnly(
+            'org.junit.jupiter:junit-jupiter-engine:5.7.0'
+            )
+}
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountNumberPreferencesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountNumberPreferencesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountNumberPreferencesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountNumberPreferencesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountTransferTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountTransferTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountTransferTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountTransferTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/AccountingScenarioIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ActuatorIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ActuatorIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ActuatorIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ActuatorIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ApiDocsTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ApiDocsTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ApiDocsTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ApiDocsTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AuditIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/AuditIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/AuditIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/AuditIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/BatchApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/BatchApiTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchApiTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/BatchRequestsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchRequestsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/BatchRequestsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/BatchRequestsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CenterIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/CenterIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CenterIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/CenterIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ChargesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ChargesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ChargesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ChargesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientLoanIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientStatusChecker.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientStatusChecker.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientStatusChecker.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientStatusChecker.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientUndoRejectAndWithdrawalIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientUndoRejectAndWithdrawalIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ClientUndoRejectAndWithdrawalIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientUndoRejectAndWithdrawalIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ConcurrencyIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ConcurrencyIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ConcurrencyIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ConcurrencyIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CurrenciesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/CurrenciesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CurrenciesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/CurrenciesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CurrencyIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/CurrencyIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/CurrencyIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/CurrencyIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/DisbursalAndRepaymentScheduleTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ExternalServicesConfigurationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ExternalServicesConfigurationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/ExternalServicesConfigurationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/ExternalServicesConfigurationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FinancialActivityAccountsTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/FinancialActivityAccountsTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FinancialActivityAccountsTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/FinancialActivityAccountsTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FixedDepositTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/FixedDepositTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FixedDepositTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/FixedDepositTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FlexibleSavingsInterestPostingIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/FlexibleSavingsInterestPostingIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FlexibleSavingsInterestPostingIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/FlexibleSavingsInterestPostingIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FundsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/FundsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/FundsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/FundsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GlobalConfigInterestChargedFromDateSameAsDisbursalDateTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/GlobalConfigInterestChargedFromDateSameAsDisbursalDateTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GlobalConfigInterestChargedFromDateSameAsDisbursalDateTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/GlobalConfigInterestChargedFromDateSameAsDisbursalDateTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GlobalConfigurationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/GlobalConfigurationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GlobalConfigurationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/GlobalConfigurationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupLoanIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupLoanIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupLoanIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupLoanIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupSavingsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/GroupTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/GroupTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/HookIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/HookIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/HookIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/HookIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanApplicationApprovalTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanApplicationApprovalTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanApplicationApprovalTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanApplicationApprovalTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanApplicationUndoLastTrancheTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanApplicationUndoLastTrancheTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanApplicationUndoLastTrancheTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanApplicationUndoLastTrancheTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanDisbursalDateValidationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanDisbursalDateValidationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanDisbursalDateValidationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanDisbursalDateValidationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanDisbursementDetailsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanDisbursementDetailsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanDisbursementDetailsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanDisbursementDetailsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRepaymentRescheduleAtDisbursementTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRepaymentRescheduleAtDisbursementTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRepaymentRescheduleAtDisbursementTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRepaymentRescheduleAtDisbursementTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRescheduleOnDecliningBalanceLoanTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRescheduleOnDecliningBalanceLoanTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRescheduleOnDecliningBalanceLoanTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRescheduleOnDecliningBalanceLoanTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRescheduleRequestTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRescheduleRequestTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanRescheduleRequestTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanRescheduleRequestTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanReschedulingWithinCenterTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanWithWaiveInterestAndWriteOffIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanWithdrawnByApplicantIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/MinimumDaysBetweenDisbursalAndFirstRepaymentTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/NotesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/NotesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/NotesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/NotificationApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/NotificationApiTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/NotificationApiTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/OfficeIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/PasswordPreferencesIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/PaymentTypeIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RatesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/RatesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RatesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/RatesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RecurringDepositTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/RecurringDepositTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RecurringDepositTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/RecurringDepositTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RolesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/RolesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/RolesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/RolesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SchedulerJobsTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SchedulerJobsTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SchedulerJobsTestResults.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SkipRepaymentOnMonthFirstTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/StaffImageApiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/StaffImageApiTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/StaffImageApiTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/StaffImageApiTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/StaffTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/StaffTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/StaffTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/StaffTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SurveyIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SurveyIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SurveyIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SurveyIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SwaggeruiTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SwaggeruiTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SwaggeruiTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SystemCodeTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/SystemCodeTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/SystemCodeTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/SystemCodeTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/TemplateIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/TemplateIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/TemplateIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/TemplateIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/UserAdministrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/UserAdministrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/UserAdministrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/WorkingDaysTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingDaysTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/WorkingDaysTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/WorkingDaysTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/XBRLIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/XBRLIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/XBRLIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/XBRLIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/client/ClientEntityImportHandlerTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/client/ClientEntityImportHandlerTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/client/ClientEntityImportHandlerTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/client/ClientEntityImportHandlerTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/loan/LoanImportHandlerTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/loan/LoanImportHandlerTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/loan/LoanImportHandlerTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/loan/LoanImportHandlerTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/office/OfficeImportHandlerTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/office/OfficeImportHandlerTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/office/OfficeImportHandlerTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/office/OfficeImportHandlerTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/savings/SavingsImportHandlerTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/savings/SavingsImportHandlerTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/importhandler/savings/SavingsImportHandlerTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/importhandler/savings/SavingsImportHandlerTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/client/ClientEntityWorkbookPopulatorTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/client/ClientEntityWorkbookPopulatorTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/client/ClientEntityWorkbookPopulatorTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/client/ClientEntityWorkbookPopulatorTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/loan/LoanWorkbookPopulatorTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/loan/LoanWorkbookPopulatorTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/loan/LoanWorkbookPopulatorTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/loan/LoanWorkbookPopulatorTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/office/OfficeWorkBookPopulatorTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/office/OfficeWorkBookPopulatorTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/office/OfficeWorkBookPopulatorTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/office/OfficeWorkBookPopulatorTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/savings/SavingsWorkbookPopulateTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/savings/SavingsWorkbookPopulateTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/bulkimport/populator/savings/SavingsWorkbookPopulateTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/bulkimport/populator/savings/SavingsWorkbookPopulateTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/AuditHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/AuditHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/AuditHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/AuditHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/BatchHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/BatchHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/BatchHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CalendarHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CalendarHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CalendarHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterDomain.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterDomain.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CenterHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CenterHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ClientChargesTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientChargesTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ClientChargesTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientChargesTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ClientHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ClientHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ClientHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CommonConstants.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CommonConstants.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CommonConstants.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CommonConstants.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrenciesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CurrenciesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrenciesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CurrenciesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/CurrencyDomain.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ExternalServicesConfigurationHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ExternalServicesConfigurationHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ExternalServicesConfigurationHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ExternalServicesConfigurationHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/GlobalConfigurationHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/GlobalConfigurationHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/GlobalConfigurationHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/GlobalConfigurationHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/GroupHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/GroupHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/GroupHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/GroupHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/HolidayHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/HolidayHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/HolidayHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/HolidayHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/HookHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/HookHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/HookHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/HookHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ImageHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ImageHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ImageHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ImageHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/LoanRescheduleRequestHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/LoanRescheduleRequestHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/LoanRescheduleRequestHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/LoanRescheduleRequestHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/NotesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/NotesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/NotesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/NotesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/NotificationHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/NotificationHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/NotificationHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/NotificationHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/OfficeDomain.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/OfficeHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/OfficeHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/OfficeHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PasswordPreferencesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PaymentTypeDomain.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PaymentTypeHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/PaymentTypeHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/PaymentTypeHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ProvisioningIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ProvisioningIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/ProvisioningIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/ProvisioningIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/SchedulerJobHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/SchedulerJobHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/SchedulerJobHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/SchedulerJobHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/StandingInstructionsHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/StandingInstructionsHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/StandingInstructionsHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/StandingInstructionsHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/SurveyHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/SurveyHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/SurveyHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/SurveyHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/TaxComponentHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/TaxComponentHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/TaxComponentHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/TaxComponentHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/TaxGroupHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/TaxGroupHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/TaxGroupHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/TaxGroupHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/Utils.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/Utils.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/WorkingDaysHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/WorkingDaysHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/WorkingDaysHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/WorkingDaysHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/Account.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/Account.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/Account.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/Account.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/AccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/AccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/AccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/AccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountsMappingBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountsMappingBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountsMappingBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/FinancialActivityAccountsMappingBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/GLAccountBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/GLAccountBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/GLAccountBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/GLAccountBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/JournalEntry.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/JournalEntry.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/JournalEntry.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/JournalEntry.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/JournalEntryHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/JournalEntryHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/JournalEntryHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/JournalEntryHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/PeriodicAccrualAccountingHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/PeriodicAccrualAccountingHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/accounting/PeriodicAccrualAccountingHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/accounting/PeriodicAccrualAccountingHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/charges/ChargesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/charges/ChargesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/charges/ChargesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/charges/ChargesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountStatusChecker.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountStatusChecker.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountStatusChecker.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositAccountStatusChecker.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositProductHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositProductHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositProductHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/fixeddeposit/FixedDepositProductHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/funds/FundsHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsResourceHandler.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/funds/FundsResourceHandler.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/funds/FundsResourceHandler.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/funds/FundsResourceHandler.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanApplicationTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanApplicationTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanApplicationTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanApplicationTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanDisbursementTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanDisbursementTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanDisbursementTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanDisbursementTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanProductTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanProductTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanProductTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanProductTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanRescheduleRequestTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanRescheduleRequestTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanRescheduleRequestTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanRescheduleRequestTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanStatusChecker.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanStatusChecker.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanStatusChecker.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanStatusChecker.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/loans/LoanTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/loans/LoanTransactionHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CampaignsHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CampaignsHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CampaignsHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CampaignsHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CampaignsTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CampaignsTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CampaignsTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CampaignsTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/Currency.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/Currency.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/Currency.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/Currency.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CurrencyHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CurrencyHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/CurrencyHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/CurrencyHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/EntityDatatableChecksIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/StaffHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/StaffHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/organisation/StaffHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/organisation/StaffHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/provisioning/ProvisioningTransactionHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/rates/RatesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/rates/RatesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/rates/RatesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/rates/RatesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountStatusChecker.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountStatusChecker.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountStatusChecker.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositAccountStatusChecker.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositProductHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositProductHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositProductHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/recurringdeposit/RecurringDepositProductHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/report/ReportData.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/report/ReportData.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/report/ReportData.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/report/ReportData.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/AccountTransferHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/AccountTransferHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/AccountTransferHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/AccountTransferHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsAccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsApplicationTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsApplicationTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsApplicationTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsApplicationTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsProductHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsProductHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsProductHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsProductHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsStatusChecker.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsStatusChecker.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/savings/SavingsStatusChecker.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/savings/SavingsStatusChecker.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/DividendsIntegrationTests.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountIntegrationTests.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareAccountTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareAccountTransactionHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareDividendsTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareDividendsTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareDividendsTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareDividendsTransactionHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareProductHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareProductHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareProductHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareProductHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareProductTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareProductTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/shares/ShareProductTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/shares/ShareProductTransactionHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesTestBuilder.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/AccountNumberPreferencesTestBuilder.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/CodeHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/CodeHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/CodeHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/CodeHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/system/DatatableHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/xbrl/XBRLIntegrationTestHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/xbrl/XBRLIntegrationTestHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/common/xbrl/XBRLIntegrationTestHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/common/xbrl/XBRLIntegrationTestHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorHelper.java
similarity index 97%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorHelper.java
index c2fc377..e449c56 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorHelper.java
+++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorHelper.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.fineract.integrationtests.loanaccount.guarantor;
+package org.apache.fineract.integrationtests.guarantor;
 
 import io.restassured.specification.RequestSpecification;
 import io.restassured.specification.ResponseSpecification;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTest.java
similarity index 99%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTest.java
index 57b13dc..5d6a995 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTest.java
+++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.fineract.integrationtests.loanaccount.guarantor;
+package org.apache.fineract.integrationtests.guarantor;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTestBuilder.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTestBuilder.java
similarity index 98%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTestBuilder.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTestBuilder.java
index 0de6688..c085d89 100644
--- a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/loanaccount/guarantor/GuarantorTestBuilder.java
+++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/guarantor/GuarantorTestBuilder.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.fineract.integrationtests.loanaccount.guarantor;
+package org.apache.fineract.integrationtests.guarantor;
 
 import com.google.gson.Gson;
 import java.util.HashMap;
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/interoperation/InteropHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/interoperation/InteropHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/interoperation/InteropHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/interoperation/InteropHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/interoperation/InteropTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/interoperation/InteropTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/interoperation/InteropTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/interoperation/InteropTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/useradministration/roles/RolesHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/roles/RolesHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/useradministration/roles/RolesHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/roles/RolesHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/useradministration/users/UserHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsDecliningBalanceHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsDecliningBalanceHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsDecliningBalanceHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsDecliningBalanceHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsFlatHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsFlatHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsFlatHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsFlatHelper.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsIntegrationTest.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsIntegrationTest.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableInstallmentsIntegrationTest.java
diff --git a/fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableIntallmentsTransactionHelper.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableIntallmentsTransactionHelper.java
similarity index 100%
rename from fineract-provider/src/integrationTest/java/org/apache/fineract/integrationtests/variableinstallments/VariableIntallmentsTransactionHelper.java
rename to integration-tests/src/test/java/org/apache/fineract/integrationtests/variableinstallments/VariableIntallmentsTransactionHelper.java
diff --git a/settings.gradle b/settings.gradle
index bcf63eb..6a24789 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-rootProject.name="fineract"
+rootProject.name='fineract'
 include ':fineract-provider'
+include ':integration-tests'
 include ':fineract-client'