You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ik...@apache.org on 2018/06/11 01:25:56 UTC

[fineract-cn-deposit-account-management] branch revert-6-develop created (now 4a2b8ef)

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

ikamga pushed a change to branch revert-6-develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-deposit-account-management.git.


      at 4a2b8ef  Revert "Document the Deposit API"

This branch includes the following new commits:

     new 4a2b8ef  Revert "Document the Deposit API"

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
ikamga@apache.org.

[fineract-cn-deposit-account-management] 01/01: Revert "Document the Deposit API"

Posted by ik...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ikamga pushed a commit to branch revert-6-develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-deposit-account-management.git

commit 4a2b8efc920cc9df91ded7f99a6419c781d9a399
Author: Isaac Kamga <u2...@gmail.com>
AuthorDate: Mon Jun 11 02:25:54 2018 +0100

    Revert "Document the Deposit API"
---
 service/build.gradle                               |  19 -
 service/src/doc/asciidoc/api-docs.adoc             | 203 -----
 .../should-create-action/curl-request.adoc         |   4 -
 .../should-create-action/http-request.adoc         |  10 -
 .../should-create-action/http-response.adoc        |   5 -
 .../should-create-action/httpie-request.adoc       |   4 -
 .../should-fetch-default-actions/curl-request.adoc |   4 -
 .../should-fetch-default-actions/http-request.adoc |   8 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |   8 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |   9 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |   9 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |  10 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |   8 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../should-find-product-instance/curl-request.adoc |   4 -
 .../should-find-product-instance/http-request.adoc |   8 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 .../curl-request.adoc                              |   4 -
 .../http-request.adoc                              |   9 -
 .../http-response.adoc                             |   5 -
 .../httpie-request.adoc                            |   4 -
 service/src/doc/html5/html5/api-docs.html          | 902 ---------------------
 .../AbstractDepositAccountManagementTest.java      | 129 ---
 .../org/apache/fineract/cn/deposit/Fixture.java    | 102 ---
 .../fineract/cn/deposit/SuiteTestEnvironment.java  |  44 -
 .../apache/fineract/cn/deposit/TestAccrual.java    | 120 ---
 .../apache/fineract/cn/deposit/TestActions.java    | 109 ---
 .../cn/deposit/TestDividendDistribution.java       |  99 ---
 .../fineract/cn/deposit/TestProductDefinition.java | 315 -------
 .../fineract/cn/deposit/TestProductInstance.java   | 482 -----------
 .../org/apache/fineract/cn/deposit/TestSuite.java  |  36 -
 .../cn/deposit/listener/ActionEventListener.java   |  56 --
 .../listener/InterestCalculationEventListener.java |  67 --
 .../deposit/listener/MigrationEventListener.java   |  57 --
 .../listener/ProductDefinitionEventListener.java   |  89 --
 .../listener/ProductInstanceEventListener.java     |  89 --
 73 files changed, 3229 deletions(-)

diff --git a/service/build.gradle b/service/build.gradle
index 96cf411..f8d4e6a 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -26,7 +26,6 @@ buildscript {
 
     dependencies {
         classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
-        classpath("org.asciidoctor:asciidoctor-gradle-plugin:1.5.3")
     }
 }
 
@@ -37,7 +36,6 @@ plugins {
 
 apply from: '../shared.gradle'
 
-apply plugin: 'org.asciidoctor.convert'
 apply plugin: 'spring-boot'
 
 springBoot {
@@ -64,23 +62,6 @@ dependencies {
             [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
             [group: 'org.threeten', name: 'threeten-extra', version: '1.2']
     )
-    testCompile(
-            [group: 'org.apache.fineract.cn.deposit-account-management', name: 'api', version: project.version],
-            [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
-            [group: 'org.apache.fineract.cn', name: 'test', version: versions.frameworktest],
-            [group: 'org.apache.fineract.cn.anubis', name: 'test', version: versions.frameworkanubis],
-            [group: 'org.springframework.restdocs', name: 'spring-restdocs-mockmvc'],
-            [group: 'org.springframework.boot', name: 'spring-boot-starter-test'],
-            [group: 'junit', name: 'junit', version: '4.12']
-    )
-}
-
-asciidoctor {
-    sourceDir 'src/doc/asciidoc/'
-    outputDir 'src/doc/html5'
-    options backend: "html", doctype: "book"
-    attributes "source-highlighter": "highlightjs", \
-                'snippets': file('src/doc/generated-snippets/')
 }
 
 publishToMavenLocal.dependsOn bootRepackage
diff --git a/service/src/doc/asciidoc/api-docs.adoc b/service/src/doc/asciidoc/api-docs.adoc
deleted file mode 100644
index 175be71..0000000
--- a/service/src/doc/asciidoc/api-docs.adoc
+++ /dev/null
@@ -1,203 +0,0 @@
-== Apache Fineract CN Deposit Account Management API Documentation ==
-
-== Actions ==
-
-==== Create An Action ====
-
-.curl-request
-include::{snippets}/test-actions/should-create-action/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-actions/should-create-action/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-actions/should-create-action/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-actions/should-create-action/httpie-request.adoc[]
-
-==== Get Default Actions ====
-
-.curl-request
-include::{snippets}/test-actions/should-fetch-default-actions/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-actions/should-fetch-default-actions/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-actions/should-fetch-default-actions/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-actions/should-fetch-default-actions/httpie-request.adoc[]
-
-== Product Definitions ==
-
-==== Define A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-create-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-create-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-create-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-create-product-definition/httpie-request.adoc[]
-
-==== Find A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-find-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-find-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-find-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-find-product-definition/httpie-request.adoc[]
-
-==== Update A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-update-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-update-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-update-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-update-product-definition/httpie-request.adoc[]
-
-==== Activate A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-activate-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-activate-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-activate-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-activate-product-definition/httpie-request.adoc[]
-
-==== Deactivate A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-deactivate-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-deactivate-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-deactivate-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-deactivate-product-definition/httpie-request.adoc[]
-
-==== Delete A Product ====
-
-.curl-request
-include::{snippets}/test-definitions/should-delete-product-definition/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-definitions/should-delete-product-definition/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-definitions/should-delete-product-definition/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-definitions/should-delete-product-definition/httpie-request.adoc[]
-
-== Product Instances ==
-
-==== Create Product Instance ====
-
-.curl-request
-include::{snippets}/test-instances/should-create-product-instance/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-create-product-instance/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-create-product-instance/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-create-product-instance/httpie-request.adoc[]
-
-==== Find A Product Instance ====
-
-.curl-request
-include::{snippets}/test-instances/should-find-product-instance/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-find-product-instance/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-find-product-instance/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-find-product-instance/httpie-request.adoc[]
-
-==== Update A Product Instance ====
-
-.curl-request
-include::{snippets}/test-instances/should-update-product-instance/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-update-product-instance/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-update-product-instance/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-update-product-instance/httpie-request.adoc[]
-
-==== Activate A Product Instance ====
-
-.curl-request
-include::{snippets}/test-instances/should-activate-product-instance/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-activate-product-instance/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-activate-product-instance/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-activate-product-instance/httpie-request.adoc[]
-
-==== Close A Product Instance ====
-
-.curl-request
-include::{snippets}/test-instances/should-close-product-instance/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-close-product-instance/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-close-product-instance/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-close-product-instance/httpie-request.adoc[]
-
-==== Get Available Transaction Types ====
-
-.curl-request
-include::{snippets}/test-instances/should-find-available-transaction-types/curl-request.adoc[]
-
-.http-request
-include::{snippets}/test-instances/should-find-available-transaction-types/http-request.adoc[]
-
-.http-response
-include::{snippets}/test-instances/should-find-available-transaction-types/http-response.adoc[]
-
-.httpie-request
-include::{snippets}/test-instances/should-find-available-transaction-types/httpie-request.adoc[]
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-create-action/curl-request.adoc b/service/src/doc/generated-snippets/test-actions/should-create-action/curl-request.adoc
deleted file mode 100644
index 53c1632..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-create-action/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/actions' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-create-action/http-request.adoc b/service/src/doc/generated-snippets/test-actions/should-create-action/http-request.adoc
deleted file mode 100644
index 8804703..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-create-action/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-POST /deposit/v1/actions HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 32
-
-oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-create-action/http-response.adoc b/service/src/doc/generated-snippets/test-actions/should-create-action/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-create-action/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-create-action/httpie-request.adoc b/service/src/doc/generated-snippets/test-actions/should-create-action/httpie-request.adoc
deleted file mode 100644
index 9875918..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-create-action/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0' | http POST 'http://localhost:8080/deposit/v1/actions' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/curl-request.adoc b/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/curl-request.adoc
deleted file mode 100644
index d8bb840..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/actions' -i -H 'Accept: */*' -H 'Content-Type: application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-request.adoc b/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-request.adoc
deleted file mode 100644
index 69f4b9e..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-request.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-[source,http,options="nowrap"]
-----
-GET /deposit/v1/actions HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-response.adoc b/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/httpie-request.adoc b/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/httpie-request.adoc
deleted file mode 100644
index 36a2900..0000000
--- a/service/src/doc/generated-snippets/test-actions/should-fetch-default-actions/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ http GET 'http://localhost:8080/deposit/v1/actions' 'Accept:*/*' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/curl-request.adoc
deleted file mode 100644
index c896590..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions/J55UjH3A' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'J55UjH3A'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-request.adoc
deleted file mode 100644
index 4760573..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/definitions/J55UjH3A HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-J55UjH3A
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/httpie-request.adoc
deleted file mode 100644
index d9cfaca..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-activate-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'J55UjH3A' | http PUT 'http://localhost:8080/deposit/v1/definitions/J55UjH3A' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/curl-request.adoc
deleted file mode 100644
index fcaa00c..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'ZmLKEouR'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-request.adoc
deleted file mode 100644
index 6ce466e..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-POST /deposit/v1/definitions HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-ZmLKEouR
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/httpie-request.adoc
deleted file mode 100644
index 683b2a5..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-create-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'ZmLKEouR' | http POST 'http://localhost:8080/deposit/v1/definitions' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/curl-request.adoc
deleted file mode 100644
index 711a73f..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions/G5ZwGoZN' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'G5ZwGoZN'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-request.adoc
deleted file mode 100644
index 52e607f..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/definitions/G5ZwGoZN HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-G5ZwGoZN
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/httpie-request.adoc
deleted file mode 100644
index 0a8bff6..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-deactivate-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'G5ZwGoZN' | http PUT 'http://localhost:8080/deposit/v1/definitions/G5ZwGoZN' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/curl-request.adoc
deleted file mode 100644
index 8b6e84e..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions/KMdOIEEJ' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json' -d 'application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-request.adoc
deleted file mode 100644
index 1191a2d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-DELETE /deposit/v1/definitions/KMdOIEEJ HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 16
-
-application/json
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/httpie-request.adoc
deleted file mode 100644
index 8ddb147..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-delete-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'application/json' | http DELETE 'http://localhost:8080/deposit/v1/definitions/KMdOIEEJ' 'Accept:*/*' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/curl-request.adoc
deleted file mode 100644
index 9cd1d1a..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions/IUM2xv8N' -i -H 'Accept: */*' -H 'Content-Type: application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-request.adoc
deleted file mode 100644
index c6b5850..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-request.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-[source,http,options="nowrap"]
-----
-GET /deposit/v1/definitions/IUM2xv8N HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/httpie-request.adoc
deleted file mode 100644
index 559b941..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-find-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ http GET 'http://localhost:8080/deposit/v1/definitions/IUM2xv8N' 'Accept:*/*' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/curl-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/curl-request.adoc
deleted file mode 100644
index 635cb30..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/definitions/tBSiWosu' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'tBSiWosu'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-request.adoc
deleted file mode 100644
index d578b3a..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/definitions/tBSiWosu HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-tBSiWosu
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-response.adoc b/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/httpie-request.adoc b/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/httpie-request.adoc
deleted file mode 100644
index 95b222c..0000000
--- a/service/src/doc/generated-snippets/test-definitions/should-update-product-definition/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'tBSiWosu' | http PUT 'http://localhost:8080/deposit/v1/definitions/tBSiWosu' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/curl-request.adoc
deleted file mode 100644
index c5c35d8..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances/wG6RlU6X' -i -X PUT -H 'Content-Type: application/json' -d 'wG6RlU6X'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-request.adoc
deleted file mode 100644
index 598a0c6..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-request.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/instances/wG6RlU6X HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-wG6RlU6X
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/httpie-request.adoc
deleted file mode 100644
index bf36e23..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-activate-product-instance/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'wG6RlU6X' | http PUT 'http://localhost:8080/deposit/v1/instances/wG6RlU6X' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-close-product-instance/curl-request.adoc
deleted file mode 100644
index 411e796..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances/70L3qA8T' -i -X PUT -H 'Content-Type: application/json' -d '70L3qA8T'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-request.adoc
deleted file mode 100644
index feeb83d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-request.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/instances/70L3qA8T HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-70L3qA8T
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-close-product-instance/httpie-request.adoc
deleted file mode 100644
index 3971805..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-close-product-instance/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo '70L3qA8T' | http PUT 'http://localhost:8080/deposit/v1/instances/70L3qA8T' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-create-product-instance/curl-request.adoc
deleted file mode 100644
index 7b64076..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'wGZPqFXZ'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-request.adoc
deleted file mode 100644
index 1789eef..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-request.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-[source,http,options="nowrap"]
-----
-POST /deposit/v1/instances HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-wGZPqFXZ
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-create-product-instance/httpie-request.adoc
deleted file mode 100644
index 6604e08..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-create-product-instance/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'wGZPqFXZ' | http POST 'http://localhost:8080/deposit/v1/instances' 'Accept:application/json' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/curl-request.adoc
deleted file mode 100644
index c985b0a..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances/transactiontypes' -i -H 'Accept: */*' -H 'Content-Type: application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-request.adoc
deleted file mode 100644
index 64a5879..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-request.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-[source,http,options="nowrap"]
-----
-GET /deposit/v1/instances/transactiontypes HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/httpie-request.adoc
deleted file mode 100644
index 98960e3..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-available-transaction-types/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ http GET 'http://localhost:8080/deposit/v1/instances/transactiontypes' 'Accept:*/*' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-product-instance/curl-request.adoc
deleted file mode 100644
index de7a6b8..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances' -i -H 'Accept: */*' -H 'Content-Type: application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-request.adoc
deleted file mode 100644
index 5341602..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-request.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-[source,http,options="nowrap"]
-----
-GET /deposit/v1/instances HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-find-product-instance/httpie-request.adoc
deleted file mode 100644
index 14c9be3..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-find-product-instance/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ http GET 'http://localhost:8080/deposit/v1/instances' 'Accept:*/*' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/curl-request.adoc b/service/src/doc/generated-snippets/test-instances/should-update-product-instance/curl-request.adoc
deleted file mode 100644
index 2578091..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/curl-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ curl 'http://localhost:8080/deposit/v1/instances/aNIkxzuI' -i -X PUT -H 'Content-Type: application/json' -d 'aNIkxzuI'
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-request.adoc b/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-request.adoc
deleted file mode 100644
index 6165c6e..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-request.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[source,http,options="nowrap"]
-----
-PUT /deposit/v1/instances/aNIkxzuI HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-aNIkxzuI
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-response.adoc b/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-response.adoc
deleted file mode 100644
index f3b256d..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/http-response.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[source,http,options="nowrap"]
-----
-HTTP/1.1 404 Not Found
-
-----
\ No newline at end of file
diff --git a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/httpie-request.adoc b/service/src/doc/generated-snippets/test-instances/should-update-product-instance/httpie-request.adoc
deleted file mode 100644
index cd799a4..0000000
--- a/service/src/doc/generated-snippets/test-instances/should-update-product-instance/httpie-request.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-[source,bash]
-----
-$ echo 'aNIkxzuI' | http PUT 'http://localhost:8080/deposit/v1/instances/aNIkxzuI' 'Content-Type:application/json'
-----
\ No newline at end of file
diff --git a/service/src/doc/html5/html5/api-docs.html b/service/src/doc/html5/html5/api-docs.html
deleted file mode 100644
index ef49f2f..0000000
--- a/service/src/doc/html5/html5/api-docs.html
+++ /dev/null
@@ -1,902 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="UTF-8">
-<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.3">
-<title>Apache Fineract CN Deposit Account Management API Documentation</title>
-<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
-<style>
-/* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
-/* Remove comment around @import statement below when using as a custom stylesheet */
-/*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700";*/
-article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
-audio,canvas,video{display:inline-block}
-audio:not([controls]){display:none;height:0}
-[hidden],template{display:none}
-script{display:none!important}
-html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
-body{margin:0}
-a{background:transparent}
-a:focus{outline:thin dotted}
-a:active,a:hover{outline:0}
-h1{font-size:2em;margin:.67em 0}
-abbr[title]{border-bottom:1px dotted}
-b,strong{font-weight:bold}
-dfn{font-style:italic}
-hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
-mark{background:#ff0;color:#000}
-code,kbd,pre,samp{font-family:monospace;font-size:1em}
-pre{white-space:pre-wrap}
-q{quotes:"\201C" "\201D" "\2018" "\2019"}
-small{font-size:80%}
-sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
-sup{top:-.5em}
-sub{bottom:-.25em}
-img{border:0}
-svg:not(:root){overflow:hidden}
-figure{margin:0}
-fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
-legend{border:0;padding:0}
-button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
-button,input{line-height:normal}
-button,select{text-transform:none}
-button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
-button[disabled],html input[disabled]{cursor:default}
-input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
-input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
-input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
-button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
-textarea{overflow:auto;vertical-align:top}
-table{border-collapse:collapse;border-spacing:0}
-*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
-html,body{font-size:100%}
-body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
-a:hover{cursor:pointer}
-img,object,embed{max-width:100%;height:auto}
-object,embed{height:100%}
-img{-ms-interpolation-mode:bicubic}
-.left{float:left!important}
-.right{float:right!important}
-.text-left{text-align:left!important}
-.text-right{text-align:right!important}
-.text-center{text-align:center!important}
-.text-justify{text-align:justify!important}
-.hide{display:none}
-body{-webkit-font-smoothing:antialiased}
-img,object,svg{display:inline-block;vertical-align:middle}
-textarea{height:auto;min-height:50px}
-select{width:100%}
-.center{margin-left:auto;margin-right:auto}
-.spread{width:100%}
-p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
-.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
-div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
-a{color:#2156a5;text-decoration:underline;line-height:inherit}
-a:hover,a:focus{color:#1d4b8f}
-a img{border:none}
-p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
-p aside{font-size:.875em;line-height:1.35;font-style:italic}
-h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
-h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
-h1{font-size:2.125em}
-h2{font-size:1.6875em}
-h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
-h4,h5{font-size:1.125em}
-h6{font-size:1em}
-hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
-em,i{font-style:italic;line-height:inherit}
-strong,b{font-weight:bold;line-height:inherit}
-small{font-size:60%;line-height:inherit}
-code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
-ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
-ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
-ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
-ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
-ul.square{list-style-type:square}
-ul.circle{list-style-type:circle}
-ul.disc{list-style-type:disc}
-ul.no-bullet{list-style:none}
-ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
-dl dt{margin-bottom:.3125em;font-weight:bold}
-dl dd{margin-bottom:1.25em}
-abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
-abbr{text-transform:none}
-blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
-blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
-blockquote cite:before{content:"\2014 \0020"}
-blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
-blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
-@media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
-h1{font-size:2.75em}
-h2{font-size:2.3125em}
-h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
-h4{font-size:1.4375em}}
-table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
-table thead,table tfoot{background:#f7f8f7;font-weight:bold}
-table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
-table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
-table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
-table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
-body{tab-size:4}
-h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
-h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
-.clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
-.clearfix:after,.float-group:after{clear:both}
-*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
-pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
-.keyseq{color:rgba(51,51,51,.8)}
-kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
-.keyseq kbd:first-child{margin-left:0}
-.keyseq kbd:last-child{margin-right:0}
-.menuseq,.menu{color:rgba(0,0,0,.8)}
-b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
-b.button:before{content:"[";padding:0 3px 0 2px}
-b.button:after{content:"]";padding:0 2px 0 3px}
-p a>code:hover{color:rgba(0,0,0,.9)}
-#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
-#header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
-#header:after,#content:after,#footnotes:after,#footer:after{clear:both}
-#content{margin-top:1.25em}
-#content:before{content:none}
-#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
-#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
-#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
-#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
-#header .details span:first-child{margin-left:-.125em}
-#header .details span.email a{color:rgba(0,0,0,.85)}
-#header .details br{display:none}
-#header .details br+span:before{content:"\00a0\2013\00a0"}
-#header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
-#header .details br+span#revremark:before{content:"\00a0|\00a0"}
-#header #revnumber{text-transform:capitalize}
-#header #revnumber:after{content:"\00a0"}
-#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
-#toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
-#toc>ul{margin-left:.125em}
-#toc ul.sectlevel0>li>a{font-style:italic}
-#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
-#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
-#toc li{line-height:1.3334;margin-top:.3334em}
-#toc a{text-decoration:none}
-#toc a:active{text-decoration:underline}
-#toctitle{color:#7a2518;font-size:1.2em}
-@media only screen and (min-width:768px){#toctitle{font-size:1.375em}
-body.toc2{padding-left:15em;padding-right:0}
-#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
-#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
-#toc.toc2>ul{font-size:.9em;margin-bottom:0}
-#toc.toc2 ul ul{margin-left:0;padding-left:1em}
-#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
-body.toc2.toc-right{padding-left:0;padding-right:15em}
-body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}
-@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
-#toc.toc2{width:20em}
-#toc.toc2 #toctitle{font-size:1.375em}
-#toc.toc2>ul{font-size:.95em}
-#toc.toc2 ul ul{padding-left:1.25em}
-body.toc2.toc-right{padding-left:0;padding-right:20em}}
-#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
-#content #toc>:first-child{margin-top:0}
-#content #toc>:last-child{margin-bottom:0}
-#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
-#footer-text{color:rgba(255,255,255,.8);line-height:1.44}
-.sect1{padding-bottom:.625em}
-@media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}
-.sect1+.sect1{border-top:1px solid #efefed}
-#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
-#content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
-#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
-#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
-#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
-.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
-.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
-table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
-.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
-table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
-.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
-.admonitionblock>table td.icon{text-align:center;width:80px}
-.admonitionblock>table td.icon img{max-width:none}
-.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
-.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
-.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
-.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
-.exampleblock>.content>:first-child{margin-top:0}
-.exampleblock>.content>:last-child{margin-bottom:0}
-.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
-.sidebarblock>:first-child{margin-top:0}
-.sidebarblock>:last-child{margin-bottom:0}
-.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
-.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
-.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
-.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
-.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
-.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
-@media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}
-@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}
-.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
-.listingblock pre.highlightjs{padding:0}
-.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
-.listingblock pre.prettyprint{border-width:0}
-.listingblock>.content{position:relative}
-.listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
-.listingblock:hover code[data-lang]:before{display:block}
-.listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
-.listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
-table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
-table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45}
-table.pyhltable td.code{padding-left:.75em;padding-right:0}
-pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
-pre.pygments .lineno{display:inline-block;margin-right:.25em}
-table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
-.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
-.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
-.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
-.quoteblock blockquote{margin:0;padding:0;border:0}
-.quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
-.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
-.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
-.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
-.quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
-.quoteblock .quoteblock blockquote:before{display:none}
-.verseblock{margin:0 1em 1.25em 1em}
-.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
-.verseblock pre strong{font-weight:400}
-.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
-.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
-.quoteblock .attribution br,.verseblock .attribution br{display:none}
-.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
-.quoteblock.abstract{margin:0 0 1.25em 0;display:block}
-.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
-.quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
-table.tableblock{max-width:100%;border-collapse:separate}
-table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
-table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
-table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
-table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
-table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
-table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
-table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
-table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
-table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
-table.frame-all{border-width:1px}
-table.frame-sides{border-width:0 1px}
-table.frame-topbot{border-width:1px 0}
-th.halign-left,td.halign-left{text-align:left}
-th.halign-right,td.halign-right{text-align:right}
-th.halign-center,td.halign-center{text-align:center}
-th.valign-top,td.valign-top{vertical-align:top}
-th.valign-bottom,td.valign-bottom{vertical-align:bottom}
-th.valign-middle,td.valign-middle{vertical-align:middle}
-table thead th,table tfoot th{font-weight:bold}
-tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
-tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
-p.tableblock>code:only-child{background:none;padding:0}
-p.tableblock{font-size:1em}
-td>div.verse{white-space:pre}
-ol{margin-left:1.75em}
-ul li ol{margin-left:1.5em}
-dl dd{margin-left:1.125em}
-dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
-ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
-ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
-ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
-ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
-ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
-ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
-ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
-ul.inline>li>*{display:block}
-.unstyled dl dt{font-weight:400;font-style:normal}
-ol.arabic{list-style-type:decimal}
-ol.decimal{list-style-type:decimal-leading-zero}
-ol.loweralpha{list-style-type:lower-alpha}
-ol.upperalpha{list-style-type:upper-alpha}
-ol.lowerroman{list-style-type:lower-roman}
-ol.upperroman{list-style-type:upper-roman}
-ol.lowergreek{list-style-type:lower-greek}
-.hdlist>table,.colist>table{border:0;background:none}
-.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
-td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
-td.hdlist1{font-weight:bold;padding-bottom:1.25em}
-.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
-.colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
-.colist>table tr>td:last-of-type{padding:.25em 0}
-.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
-.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
-.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
-.imageblock>.title{margin-bottom:0}
-.imageblock.thumb,.imageblock.th{border-width:6px}
-.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
-.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
-.image.left{margin-right:.625em}
-.image.right{margin-left:.625em}
-a.image{text-decoration:none;display:inline-block}
-a.image object{pointer-events:none}
-sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
-sup.footnote a,sup.footnoteref a{text-decoration:none}
-sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
-#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
-#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
-#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;text-indent:-1.05em;margin-bottom:.2em}
-#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
-#footnotes .footnote:last-of-type{margin-bottom:0}
-#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
-.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
-.gist .file-data>table td.line-data{width:99%}
-div.unbreakable{page-break-inside:avoid}
-.big{font-size:larger}
-.small{font-size:smaller}
-.underline{text-decoration:underline}
-.overline{text-decoration:overline}
-.line-through{text-decoration:line-through}
-.aqua{color:#00bfbf}
-.aqua-background{background-color:#00fafa}
-.black{color:#000}
-.black-background{background-color:#000}
-.blue{color:#0000bf}
-.blue-background{background-color:#0000fa}
-.fuchsia{color:#bf00bf}
-.fuchsia-background{background-color:#fa00fa}
-.gray{color:#606060}
-.gray-background{background-color:#7d7d7d}
-.green{color:#006000}
-.green-background{background-color:#007d00}
-.lime{color:#00bf00}
-.lime-background{background-color:#00fa00}
-.maroon{color:#600000}
-.maroon-background{background-color:#7d0000}
-.navy{color:#000060}
-.navy-background{background-color:#00007d}
-.olive{color:#606000}
-.olive-background{background-color:#7d7d00}
-.purple{color:#600060}
-.purple-background{background-color:#7d007d}
-.red{color:#bf0000}
-.red-background{background-color:#fa0000}
-.silver{color:#909090}
-.silver-background{background-color:#bcbcbc}
-.teal{color:#006060}
-.teal-background{background-color:#007d7d}
-.white{color:#bfbfbf}
-.white-background{background-color:#fafafa}
-.yellow{color:#bfbf00}
-.yellow-background{background-color:#fafa00}
-span.icon>.fa{cursor:default}
-.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
-.admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
-.admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
-.admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
-.admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
-.admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
-.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
-.conum[data-value] *{color:#fff!important}
-.conum[data-value]+b{display:none}
-.conum[data-value]:after{content:attr(data-value)}
-pre .conum[data-value]{position:relative;top:-.125em}
-b.conum *{color:inherit!important}
-.conum:not([data-value]):empty{display:none}
-dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
-h1,h2,p,td.content,span.alt{letter-spacing:-.01em}
-p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
-p,blockquote,dt,td.content,span.alt{font-size:1.0625rem}
-p{margin-bottom:1.25rem}
-.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
-.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
-.print-only{display:none!important}
-@media print{@page{margin:1.25cm .75cm}
-*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
-a{color:inherit!important;text-decoration:underline!important}
-a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
-a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
-abbr[title]:after{content:" (" attr(title) ")"}
-pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
-thead{display:table-header-group}
-svg{max-width:100%}
-p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
-h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
-#toc,.sidebarblock,.exampleblock>.content{background:none!important}
-#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
-.sect1{padding-bottom:0!important}
-.sect1+.sect1{border:0!important}
-#header>h1:first-child{margin-top:1.25rem}
-body.book #header{text-align:center}
-body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
-body.book #header .details{border:0!important;display:block;padding:0!important}
-body.book #header .details span:first-child{margin-left:0!important}
-body.book #header .details br{display:block}
-body.book #header .details br+span:before{content:none!important}
-body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
-body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
-.listingblock code[data-lang]:before{display:block}
-#footer{background:none!important;padding:0 .9375em}
-#footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
-.hide-on-print{display:none!important}
-.print-only{display:block!important}
-.hide-for-print{display:none!important}
-.show-for-print{display:inherit!important}}
-</style>
-</head>
-<body class="book">
-<div id="header">
-</div>
-<div id="content">
-<div class="sect1">
-<h2 id="_apache_fineract_cn_deposit_account_management_api_documentation">Apache Fineract CN Deposit Account Management API Documentation</h2>
-<div class="sectionbody">
-
-</div>
-</div>
-<div class="sect1">
-<h2 id="_actions">Actions</h2>
-<div class="sectionbody">
-<div class="sect3">
-<h4 id="_create_an_action">Create An Action</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/actions' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">POST /deposit/v1/actions HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 32
-
-oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'oMeOsoRMayyE4j2XNJrQmUssSKD2UOv0' | http POST 'http://localhost:8080/deposit/v1/actions' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_get_default_actions">Get Default Actions</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/actions' -i -H 'Accept: */*' -H 'Content-Type: application/json'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">GET /deposit/v1/actions HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ http GET 'http://localhost:8080/deposit/v1/actions' 'Accept:*/*' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_product_definitions">Product Definitions</h2>
-<div class="sectionbody">
-<div class="sect3">
-<h4 id="_define_a_product">Define A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'ZmLKEouR'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">POST /deposit/v1/definitions HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-ZmLKEouR</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'ZmLKEouR' | http POST 'http://localhost:8080/deposit/v1/definitions' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_find_a_product">Find A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions/IUM2xv8N' -i -H 'Accept: */*' -H 'Content-Type: application/json'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">GET /deposit/v1/definitions/IUM2xv8N HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ http GET 'http://localhost:8080/deposit/v1/definitions/IUM2xv8N' 'Accept:*/*' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_update_a_product">Update A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions/tBSiWosu' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'tBSiWosu'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/definitions/tBSiWosu HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-tBSiWosu</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'tBSiWosu' | http PUT 'http://localhost:8080/deposit/v1/definitions/tBSiWosu' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_activate_a_product">Activate A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions/J55UjH3A' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'J55UjH3A'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/definitions/J55UjH3A HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-J55UjH3A</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'J55UjH3A' | http PUT 'http://localhost:8080/deposit/v1/definitions/J55UjH3A' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_deactivate_a_product">Deactivate A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions/G5ZwGoZN' -i -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'G5ZwGoZN'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/definitions/G5ZwGoZN HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-G5ZwGoZN</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'G5ZwGoZN' | http PUT 'http://localhost:8080/deposit/v1/definitions/G5ZwGoZN' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_delete_a_product">Delete A Product</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/definitions/KMdOIEEJ' -i -X DELETE -H 'Accept: */*' -H 'Content-Type: application/json' -d 'application/json'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">DELETE /deposit/v1/definitions/KMdOIEEJ HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 16
-
-application/json</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'application/json' | http DELETE 'http://localhost:8080/deposit/v1/definitions/KMdOIEEJ' 'Accept:*/*' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_product_instances">Product Instances</h2>
-<div class="sectionbody">
-<div class="sect3">
-<h4 id="_create_product_instance">Create Product Instance</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances' -i -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d 'wGZPqFXZ'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">POST /deposit/v1/instances HTTP/1.1
-Accept: application/json
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-wGZPqFXZ</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'wGZPqFXZ' | http POST 'http://localhost:8080/deposit/v1/instances' 'Accept:application/json' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_find_a_product_instance">Find A Product Instance</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances' -i -H 'Accept: */*' -H 'Content-Type: application/json'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">GET /deposit/v1/instances HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ http GET 'http://localhost:8080/deposit/v1/instances' 'Accept:*/*' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_update_a_product_instance">Update A Product Instance</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances/aNIkxzuI' -i -X PUT -H 'Content-Type: application/json' -d 'aNIkxzuI'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/instances/aNIkxzuI HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-aNIkxzuI</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'aNIkxzuI' | http PUT 'http://localhost:8080/deposit/v1/instances/aNIkxzuI' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_activate_a_product_instance">Activate A Product Instance</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances/wG6RlU6X' -i -X PUT -H 'Content-Type: application/json' -d 'wG6RlU6X'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/instances/wG6RlU6X HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-wG6RlU6X</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo 'wG6RlU6X' | http PUT 'http://localhost:8080/deposit/v1/instances/wG6RlU6X' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_close_a_product_instance">Close A Product Instance</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances/70L3qA8T' -i -X PUT -H 'Content-Type: application/json' -d '70L3qA8T'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">PUT /deposit/v1/instances/70L3qA8T HTTP/1.1
-Content-Type: application/json
-Host: localhost:8080
-Content-Length: 8
-
-70L3qA8T</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ echo '70L3qA8T' | http PUT 'http://localhost:8080/deposit/v1/instances/70L3qA8T' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_get_available_transaction_types">Get Available Transaction Types</h4>
-<div class="listingblock">
-<div class="title">curl-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ curl 'http://localhost:8080/deposit/v1/instances/transactiontypes' -i -H 'Accept: */*' -H 'Content-Type: application/json'</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-request</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">GET /deposit/v1/instances/transactiontypes HTTP/1.1
-Accept: */*
-Content-Type: application/json
-Host: localhost:8080</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">http-response</div>
-<div class="content">
-<pre class="highlightjs highlight nowrap"><code class="language-http" data-lang="http">HTTP/1.1 404 Not Found</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">httpie-request</div>
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash" data-lang="bash">$ http GET 'http://localhost:8080/deposit/v1/instances/transactiontypes' 'Accept:*/*' 'Content-Type:application/json'</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div id="footer">
-<div id="footer-text">
-Last updated 2018-04-13 21:06:17 +01:00
-</div>
-</div>
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css">
-<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
-<script>hljs.initHighlighting()</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java b/service/src/test/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java
deleted file mode 100644
index d609370..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.fineract.cn.anubis.test.v1.TenantApplicationSecurityEnvironmentTestRule;
-import org.apache.fineract.cn.api.context.AutoUserContext;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.client.DepositAccountManager;
-import org.apache.fineract.cn.deposit.service.DepositAccountManagementConfiguration;
-import org.apache.fineract.cn.deposit.service.internal.service.helper.AccountingService;
-import org.apache.fineract.cn.deposit.service.internal.service.helper.RhythmService;
-import org.apache.fineract.cn.lang.ApplicationName;
-import org.apache.fineract.cn.test.fixture.TenantDataStoreContextTestRule;
-import org.apache.fineract.cn.test.listener.EnableEventRecording;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.runner.RunWith;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
-import org.springframework.cloud.netflix.ribbon.RibbonClient;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(
-    webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,
-    classes = {AbstractDepositAccountManagementTest.TestConfiguration.class}
-)
-public abstract class AbstractDepositAccountManagementTest extends SuiteTestEnvironment {
-  private static final String TEST_USER = "shed";
-  public static final String TEST_LOGGER = "test-logger";
-
-  @ClassRule
-  public final static TenantDataStoreContextTestRule tenantDataStoreContext = TenantDataStoreContextTestRule.forRandomTenantName(cassandraInitializer, mariaDBInitializer);
-
-  @Rule
-  public final TenantApplicationSecurityEnvironmentTestRule tenantApplicationSecurityEnvironment
-      = new TenantApplicationSecurityEnvironmentTestRule(testEnvironment, this::waitForInitialize);
-
-  @Autowired
-  @Qualifier(TEST_LOGGER)
-  protected Logger logger;
-
-  @Autowired
-  DepositAccountManager depositAccountManager;
-
-  @Autowired
-  private ApplicationName applicationName;
-
-  @Autowired
-  EventRecorder eventRecorder;
-
-  @MockBean
-  AccountingService accountingServiceSpy;
-
-  @MockBean
-  RhythmService rhythmService;
-
-  private AutoUserContext autoUserContext;
-
-  AbstractDepositAccountManagementTest() {
-    super();
-  }
-
-  @Before
-  public void prepTest() throws Exception {
-    this.autoUserContext = this.tenantApplicationSecurityEnvironment.createAutoUserContext(AbstractDepositAccountManagementTest.TEST_USER);
-  }
-
-  @After
-  public void cleanTest() throws Exception {
-    this.autoUserContext.close();
-  }
-
-  public boolean waitForInitialize() {
-    try {
-      final String version = this.applicationName.getVersionString();
-      this.logger.info("Waiting on initialize event for version: {}.", version);
-      return this.eventRecorder.wait(EventConstants.INITIALIZE, version);
-    } catch (final InterruptedException e) {
-      throw new IllegalStateException(e);
-    }
-  }
-
-  @Configuration
-  @EnableEventRecording
-  @EnableFeignClients(basePackages = {"org.apache.fineract.cn.deposit.api.v1"})
-  @RibbonClient(name = APP_NAME)
-  @Import({DepositAccountManagementConfiguration.class})
-  @ComponentScan("org.apache.fineract.cn.deposit.listener")
-  public static class TestConfiguration {
-    public TestConfiguration() {
-      super();
-    }
-
-    @Bean(name= TEST_LOGGER)
-    public Logger logger() {
-      return LoggerFactory.getLogger(TEST_LOGGER);
-    }
-  }
-}
-
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/Fixture.java b/service/src/test/java/org/apache/fineract/cn/deposit/Fixture.java
deleted file mode 100644
index d2125c6..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/Fixture.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.*;
-import org.apache.fineract.cn.deposit.api.v1.domain.InterestPayable;
-import org.apache.fineract.cn.deposit.api.v1.domain.TimeUnit;
-import org.apache.fineract.cn.deposit.api.v1.domain.Type;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.ProductInstance;
-
-import java.util.Arrays;
-import java.util.HashSet;
-
-public class Fixture {
-
-  public Fixture() {
-    super();
-  }
-
-  static ProductDefinition productDefinition() {
-    final Charge openingCharge = new Charge();
-    openingCharge.setActionIdentifier("Open");
-    openingCharge.setAmount(2.00D);
-    openingCharge.setName("Opening Account Charge");
-    openingCharge.setIncomeAccountIdentifier("10123");
-    openingCharge.setProportional(Boolean.FALSE);
-
-    final Charge closingCharge = new Charge();
-    closingCharge.setActionIdentifier("Close");
-    closingCharge.setAmount(2.00D);
-    closingCharge.setName("Closing Account Fee");
-    closingCharge.setIncomeAccountIdentifier("10123");
-    closingCharge.setProportional(Boolean.FALSE);
-
-    final Term term = new Term();
-    term.setPeriod(12);
-    term.setTimeUnit(TimeUnit.MONTH.name());
-    term.setInterestPayable(InterestPayable.MATURITY.name());
-
-    final Currency currency = new Currency();
-    currency.setCode("USD");
-    currency.setName("US Dollar");
-    currency.setSign("$");
-    currency.setScale(3);
-
-    final ProductDefinition productDefinition = new ProductDefinition();
-    productDefinition.setType(Type.SAVINGS.name());
-    productDefinition.setIdentifier(RandomStringUtils.randomAlphanumeric(8));
-    productDefinition.setName(RandomStringUtils.randomAlphanumeric(256));
-    productDefinition.setDescription(RandomStringUtils.randomAlphanumeric(2048));
-    productDefinition.setCharges(new HashSet<>(Arrays.asList(openingCharge, closingCharge)));
-    productDefinition.setCurrency(currency);
-    productDefinition.setInterest(1.25D);
-    productDefinition.setEquityLedgerIdentifier("91xx");
-    productDefinition.setCashAccountIdentifier("76xx");
-    productDefinition.setExpenseAccountIdentifier("38xx");
-    productDefinition.setAccrueAccountIdentifier("82xx");
-    productDefinition.setFlexible(Boolean.FALSE);
-    productDefinition.setMinimumBalance(50.00);
-    productDefinition.setTerm(term);
-
-    return productDefinition;
-  }
-
-  public static Action action() {
-    final Action action = new Action();
-    action.setIdentifier(RandomStringUtils.randomAlphanumeric(32));
-    action.setName(RandomStringUtils.randomAlphanumeric(256));
-    action.setDescription(RandomStringUtils.randomAlphanumeric(2048));
-    action.setTransactionType("ACCO");
-
-    return action;
-  }
-
-  public static ProductInstance productInstance(final String productIdentifier) {
-    final ProductInstance productInstance = new ProductInstance();
-    productInstance.setProductIdentifier(productIdentifier);
-    productInstance.setCustomerIdentifier(RandomStringUtils.randomAlphanumeric(8));
-    productInstance.setBeneficiaries(new HashSet<>(Arrays.asList(
-        RandomStringUtils.randomAlphanumeric(8),
-        RandomStringUtils.randomAlphanumeric(8)
-    )));
-    return productInstance;
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java b/service/src/test/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java
deleted file mode 100644
index c8a0716..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-
-import org.apache.fineract.cn.test.env.TestEnvironment;
-import org.apache.fineract.cn.test.fixture.cassandra.CassandraInitializer;
-import org.apache.fineract.cn.test.fixture.mariadb.MariaDBInitializer;
-import org.junit.ClassRule;
-import org.junit.rules.RuleChain;
-import org.junit.rules.RunExternalResourceOnce;
-import org.junit.rules.TestRule;
-
-/**
- * @author Myrle Krantz
- */
-public class SuiteTestEnvironment {
-  static final String APP_NAME = "deposit-v1";
-  static final TestEnvironment testEnvironment = new TestEnvironment(APP_NAME);
-  static final CassandraInitializer cassandraInitializer = new CassandraInitializer();
-  static final MariaDBInitializer mariaDBInitializer = new MariaDBInitializer();
-
-  @ClassRule
-  public static TestRule orderClassRules = RuleChain
-      .outerRule(new RunExternalResourceOnce(testEnvironment))
-      .around(new RunExternalResourceOnce(cassandraInitializer))
-      .around(new RunExternalResourceOnce(mariaDBInitializer));
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestAccrual.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestAccrual.java
deleted file mode 100644
index 86fb6c9..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestAccrual.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.commons.lang.RandomStringUtils;
-import org.apache.fineract.cn.accounting.api.v1.domain.Account;
-import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
-import org.apache.fineract.cn.api.util.ApiFactory;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinition;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinitionCommand;
-import org.apache.fineract.cn.deposit.api.v1.domain.Type;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.ProductInstance;
-import org.apache.fineract.cn.deposit.service.internal.repository.AccruedInterestEntity;
-import org.apache.fineract.cn.deposit.service.internal.repository.AccruedInterestRepository;
-import org.apache.fineract.cn.lang.DateConverter;
-import org.apache.fineract.cn.rhythm.spi.v1.client.BeatListener;
-import org.apache.fineract.cn.rhythm.spi.v1.domain.BeatPublish;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Optional;
-
-public class TestAccrual extends AbstractDepositAccountManagementTest {
-
-  @Autowired
-  private AccruedInterestRepository accruedInterestRepository;
-
-  private BeatListener depositBeatListener;
-
-  public TestAccrual() {
-    super();
-  }
-
-  @Before
-  public void prepBeatListener() {
-    depositBeatListener = new ApiFactory(super.logger)
-        .create(BeatListener.class, testEnvironment.serverURI());
-  }
-
-  @Test
-  public void shouldAccrueInterest() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-    productDefinition.setType(Type.SAVINGS.name());
-    productDefinition.setInterest(2.50D);
-    super.depositAccountManager.create(productDefinition);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand productDefinitionCommand = new ProductDefinitionCommand();
-    productDefinitionCommand.setAction(ProductDefinitionCommand.Action.ACTIVATE.name());
-    super.depositAccountManager.process(productDefinition.getIdentifier(), productDefinitionCommand);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-    super.depositAccountManager.create(productInstance);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-        foundProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-    super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE, foundProductInstance.getAccountIdentifier());
-
-    final Account shareAccount = new Account();
-    shareAccount.setType(AccountType.EQUITY.name());
-    shareAccount.setIdentifier(foundProductInstance.getAccountIdentifier());
-    shareAccount.setBalance(1000.00D);
-
-    Mockito
-        .doAnswer(invocation -> shareAccount)
-        .when(super.accountingServiceSpy).findAccount(shareAccount.getIdentifier());
-
-    final LocalDateTime dueDate = DateConverter.fromIsoString("2017-08-02T22:00:00.000Z");
-    final BeatPublish beatPublish = new BeatPublish();
-    beatPublish.setIdentifier(RandomStringUtils.randomAlphanumeric(32));
-    beatPublish.setForTime(DateConverter.toIsoString(dueDate));
-    this.depositBeatListener.publishBeat(beatPublish);
-
-    super.eventRecorder.wait(EventConstants.INTEREST_ACCRUED, DateConverter.toIsoString(dueDate.toLocalDate()));
-
-    final Optional<AccruedInterestEntity> optionalAccruedInterest =
-        this.accruedInterestRepository.findByCustomerAccountIdentifier(foundProductInstance.getAccountIdentifier());
-
-    Assert.assertTrue(optionalAccruedInterest.isPresent());
-    final AccruedInterestEntity accruedInterestEntity = optionalAccruedInterest.get();
-    final Double interest =
-        accruedInterestEntity.getAmount()
-            * DateConverter.fromIsoString(beatPublish.getForTime()).toLocalDate().lengthOfYear();
-
-    final Double roundedInterest =
-        BigDecimal.valueOf(interest).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-
-    Assert.assertEquals(25.00D, roundedInterest, 0.00D);
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestActions.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestActions.java
deleted file mode 100644
index 647de31..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestActions.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.definition.ActionAlreadyExistsException;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.Action;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.restdocs.JUnitRestDocumentation;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.web.context.WebApplicationContext;
-
-import java.util.List;
-
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-public class TestActions extends AbstractDepositAccountManagementTest {
-
-  @Rule
-  public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("src/doc/generated-snippets/test-actions");
-
-  @Autowired
-  private WebApplicationContext context;
-
-  private MockMvc mockMvc;
-
-  final String path = "/deposit/v1";
-
-  @Before
-  public void setUp(){
-
-    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
-            .apply(documentationConfiguration(this.restDocumentation))
-            .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
-            .build();
-  }
-
-  public TestActions() {
-    super();
-  }
-
-  @Test
-  public void shouldFetchDefaultActions() {
-    final List<Action> actions = super.depositAccountManager.fetchActions();
-
-    Assert.assertTrue(actions.size() >= 5);
-
-    try
-    {
-      this.mockMvc.perform(get(path + "/actions")
-              .accept(MediaType.ALL_VALUE).contentType(MediaType.APPLICATION_JSON_VALUE))
-              .andExpect(status().isNotFound());
-    } catch (Exception exception){ exception.printStackTrace(); }
-  }
-
-  @Test
-  public void shouldCreateAction() throws Exception {
-    final Action action = Fixture.action();
-
-    super.depositAccountManager.create(action);
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.POST_PRODUCT_ACTION, action.getIdentifier()));
-
-    this.mockMvc.perform(post(path + "/actions")
-            .accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON_VALUE)
-            .content(action.getIdentifier()))
-            .andExpect(status().isNotFound());
-  }
-
-  @Test(expected = ActionAlreadyExistsException.class)
-  public void shouldNotCreateActionAlreadyExists() throws Exception {
-    final Action action = Fixture.action();
-    super.depositAccountManager.create(action);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_ACTION, action.getIdentifier());
-
-    super.depositAccountManager.create(action);
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestDividendDistribution.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestDividendDistribution.java
deleted file mode 100644
index 2f99cd2..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestDividendDistribution.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.fineract.cn.accounting.api.v1.domain.Account;
-import org.apache.fineract.cn.accounting.api.v1.domain.AccountType;
-import org.apache.fineract.cn.accounting.api.v1.domain.JournalEntry;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.DividendDistribution;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinition;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinitionCommand;
-import org.apache.fineract.cn.deposit.api.v1.domain.Type;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.ProductInstance;
-import org.apache.fineract.cn.lang.DateOfBirth;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Matchers;
-import org.mockito.Mockito;
-
-import java.util.List;
-
-public class TestDividendDistribution extends AbstractDepositAccountManagementTest {
-
-  public TestDividendDistribution() {
-    super();
-  }
-
-  @Test
-  public void shouldDistributeDividend() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-    productDefinition.setType(Type.SHARE.name());
-    productDefinition.setInterest(null);
-    productDefinition.setAccrueAccountIdentifier(null);
-    super.depositAccountManager.create(productDefinition);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand productDefinitionCommand = new ProductDefinitionCommand();
-    productDefinitionCommand.setAction(ProductDefinitionCommand.Action.ACTIVATE.name());
-    super.depositAccountManager.process(productDefinition.getIdentifier(), productDefinitionCommand);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-    super.depositAccountManager.create(productInstance);
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-        foundProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-    super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE, foundProductInstance.getAccountIdentifier());
-
-    final Account shareAccount = new Account();
-    shareAccount.setType(AccountType.EQUITY.name());
-    shareAccount.setIdentifier(foundProductInstance.getAccountIdentifier());
-    shareAccount.setBalance(1000.00D);
-
-    Mockito
-        .doAnswer(invocation -> shareAccount)
-        .when(super.accountingServiceSpy).findAccount(shareAccount.getIdentifier());
-
-    final DividendDistribution dividendDistribution = new DividendDistribution();
-    final DateOfBirth dueDate = new DateOfBirth();
-    dueDate.setYear(2017);
-    dueDate.setMonth(7);
-    dueDate.setDay(31);
-    dividendDistribution.setDueDate(dueDate);
-    dividendDistribution.setDividendRate("2.5");
-    this.depositAccountManager.dividendDistribution(productDefinition.getIdentifier(), dividendDistribution);
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.DIVIDEND_DISTRIBUTION, productDefinition.getIdentifier()));
-
-    final List<DividendDistribution> dividendDistributions =
-        super.depositAccountManager.fetchDividendDistributions(productDefinition.getIdentifier());
-
-    Assert.assertEquals(1, dividendDistributions.size());
-    Assert.assertTrue(dividendDistribution.equals(dividendDistributions.get(0)));
-
-    Mockito.verify(super.accountingServiceSpy, Mockito.times(2)).post(Matchers.any(JournalEntry.class));
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestProductDefinition.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestProductDefinition.java
deleted file mode 100644
index 435af7d..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestProductDefinition.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.definition.ProductDefinitionAlreadyExistsException;
-import org.apache.fineract.cn.deposit.api.v1.definition.ProductDefinitionValidationException;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinition;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinitionCommand;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.ProductInstance;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.restdocs.JUnitRestDocumentation;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.web.context.WebApplicationContext;
-
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.delete;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.put;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-public class TestProductDefinition extends AbstractDepositAccountManagementTest {
-
-  @Rule
-  public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("src/doc/generated-snippets/test-definitions");
-
-  @Autowired
-  private WebApplicationContext context;
-
-  private MockMvc mockMvc;
-
-  final String path = "/deposit/v1";
-
-  @Before
-  public void setUp(){
-
-    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
-            .apply(documentationConfiguration(this.restDocumentation))
-            .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
-            .build();
-  }
-
-  public TestProductDefinition() {
-    super();
-  }
-
-  @Test
-  public void shouldCreateProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    this.mockMvc.perform(post(path + "/definitions")
-            .accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON_VALUE)
-            .content(productDefinition.getIdentifier()))
-            .andExpect(status().isNotFound());
-  }
-
-
-  @Test(expected = ProductDefinitionAlreadyExistsException.class)
-  public void shouldNotCreateProductDefinitionAlreadyExists() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productDefinition);
-  }
-
-  @Test
-  public void shouldFindProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinition fetchedProductDefinition = super.depositAccountManager.findProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertNotNull(fetchedProductDefinition);
-    Assert.assertNotNull(fetchedProductDefinition.getCharges());
-    Assert.assertEquals(2, fetchedProductDefinition.getCharges().size());
-    Assert.assertNotNull(fetchedProductDefinition.getCurrency());
-    Assert.assertNotNull(fetchedProductDefinition.getTerm());
-    Assert.assertFalse(fetchedProductDefinition.getActive());
-
-    try
-    {
-      this.mockMvc.perform(get(path + "/definitions/" + productDefinition.getIdentifier())
-              .accept(MediaType.ALL_VALUE).contentType(MediaType.APPLICATION_JSON_VALUE))
-              .andExpect(status().is4xxClientError());
-    } catch (Exception exception){ exception.printStackTrace(); }
-  }
-
-  @Test
-  public void shouldActivateProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand productDefinitionCommand = new ProductDefinitionCommand();
-    productDefinitionCommand.setAction(ProductDefinitionCommand.Action.ACTIVATE.name());
-    productDefinitionCommand.setNote(RandomStringUtils.randomAlphanumeric(2048));
-
-    super.depositAccountManager.process(productDefinition.getIdentifier(), productDefinitionCommand);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductDefinition fetchedProductDefinition = super.depositAccountManager.findProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertTrue(fetchedProductDefinition.getActive());
-
-    this.mockMvc.perform(put(path + "/definitions/" + fetchedProductDefinition.getIdentifier())
-            .accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON).content(fetchedProductDefinition.getIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test
-  public void shouldDeactivateProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand productDefinitionCommand = new ProductDefinitionCommand();
-    productDefinitionCommand.setAction(ProductDefinitionCommand.Action.DEACTIVATE.name());
-    productDefinitionCommand.setNote(RandomStringUtils.randomAlphanumeric(2048));
-
-    super.depositAccountManager.process(productDefinition.getIdentifier(), productDefinitionCommand);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductDefinition fetchProductDefinition = super.depositAccountManager.findProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertFalse(fetchProductDefinition.getActive());
-
-    this.mockMvc.perform(put(path + "/definitions/" + productDefinition.getIdentifier())
-            .accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON)
-            .content(fetchProductDefinition.getIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test
-  public void shouldAllowCommandWithNullNote() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand productDefinitionCommand = new ProductDefinitionCommand();
-    productDefinitionCommand.setAction(ProductDefinitionCommand.Action.DEACTIVATE.name());
-
-    super.depositAccountManager.process(productDefinition.getIdentifier(), productDefinitionCommand);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductDefinition fetchProductDefinition = super.depositAccountManager.findProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertFalse(fetchProductDefinition.getActive());
-  }
-
-  @Test
-  public void shouldDeleteProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    super.depositAccountManager.deleteProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.DELETE_PRODUCT_DEFINITION, productDefinition.getIdentifier()));
-
-    this.mockMvc.perform(delete(path + "/definitions/" + productDefinition.getIdentifier())
-            .accept(MediaType.ALL_VALUE)
-            .contentType(MediaType.APPLICATION_JSON_VALUE).content(MediaType.APPLICATION_JSON_VALUE))
-            .andExpect(status().isNotFound());
-  }
-
-  @Test
-  public void shouldDeleteProductDefinitionEvenWhenActed() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand activateProduct = new ProductDefinitionCommand();
-    activateProduct.setAction(ProductDefinitionCommand.Action.ACTIVATE.name());
-    activateProduct.setNote(RandomStringUtils.randomAlphanumeric(2048));
-
-    super.depositAccountManager.process(productDefinition.getIdentifier(), activateProduct);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    final ProductDefinitionCommand deactivateProduct = new ProductDefinitionCommand();
-    deactivateProduct.setAction(ProductDefinitionCommand.Action.DEACTIVATE.name());
-    deactivateProduct.setNote(RandomStringUtils.randomAlphanumeric(2048));
-
-    super.depositAccountManager.process(productDefinition.getIdentifier(), deactivateProduct);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION_COMMAND, productDefinition.getIdentifier());
-
-    super.depositAccountManager.deleteProductDefinition(productDefinition.getIdentifier());
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.DELETE_PRODUCT_DEFINITION, productDefinition.getIdentifier()));
-  }
-
-  @Test(expected = ProductDefinitionValidationException.class)
-  public void shouldNotDeleteProductDefinitionInstanceExists() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    this.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    super.depositAccountManager.deleteProductDefinition(productDefinition.getIdentifier());
-  }
-
-  @Test
-  public void shouldUpdateProductDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductDefinition newProductDefinition = Fixture.productDefinition();
-
-    newProductDefinition.setIdentifier(productDefinition.getIdentifier());
-
-    super.depositAccountManager.changeProductDefinition(newProductDefinition.getIdentifier(), newProductDefinition);
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.PUT_PRODUCT_DEFINITION, newProductDefinition.getIdentifier()));
-
-    final ProductDefinition fetchedProductDefinition = super.depositAccountManager.findProductDefinition(newProductDefinition.getIdentifier());
-
-    Assert.assertNotNull(fetchedProductDefinition);
-
-    this.mockMvc.perform(put(path + "/definitions/" + productDefinition.getIdentifier())
-            .accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON)
-            .content(productDefinition.getIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test(expected = ProductDefinitionValidationException.class)
-  public void shouldNotUpdateProductDefinitionIdentifierMismatch() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    super.depositAccountManager.changeProductDefinition(productDefinition.getIdentifier(), Fixture.productDefinition());
-  }
-
-  @Test(expected = ProductDefinitionValidationException.class)
-  public void shouldNotUpdateProductDefinitionInterestNotFlexible() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-    productDefinition.setFlexible(Boolean.FALSE);
-    productDefinition.setInterest(5.00D);
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-    productDefinition.setInterest(10.0D);
-
-    super.depositAccountManager.changeProductDefinition(productDefinition.getIdentifier(), Fixture.productDefinition());
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestProductInstance.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestProductInstance.java
deleted file mode 100644
index 6f35993..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestProductInstance.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import com.google.common.collect.Sets;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.fineract.cn.accounting.api.v1.domain.Account;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.Charge;
-import org.apache.fineract.cn.deposit.api.v1.definition.domain.ProductDefinition;
-import org.apache.fineract.cn.deposit.api.v1.instance.ProductInstanceNotFoundException;
-import org.apache.fineract.cn.deposit.api.v1.instance.ProductInstanceValidationException;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.AvailableTransactionType;
-import org.apache.fineract.cn.deposit.api.v1.instance.domain.ProductInstance;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.mockito.Matchers;
-import org.mockito.Mockito;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.restdocs.JUnitRestDocumentation;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-import org.springframework.web.context.WebApplicationContext;
-
-import java.util.*;
-
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.document;
-import static org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.documentationConfiguration;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.get;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.post;
-import static org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders.put;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessRequest;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.preprocessResponse;
-import static org.springframework.restdocs.operation.preprocess.Preprocessors.prettyPrint;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-public class TestProductInstance extends AbstractDepositAccountManagementTest {
-
-  public TestProductInstance() {
-    super();
-  }
-
-  @Rule
-  public final JUnitRestDocumentation restDocumentation = new JUnitRestDocumentation("src/doc/generated-snippets/test-instances");
-
-  @Autowired
-  private WebApplicationContext context;
-
-  private MockMvc mockMvc;
-
-  final String path = "/deposit/v1";
-
-  @Before
-  public void setUp(){
-
-    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context)
-            .apply(documentationConfiguration(this.restDocumentation))
-            .alwaysDo(document("{method-name}", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint())))
-            .build();
-  }
-
-  @Test
-  public void shouldCreateProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    Assert.assertEquals(productInstance.getCustomerIdentifier() + "." + productDefinition.getEquityLedgerIdentifier() + ".00001",
-            foundProductInstance.getAccountIdentifier());
-    Assert.assertFalse(foundProductInstance.getBeneficiaries().isEmpty());
-
-    this.mockMvc.perform(post(path + "/instances").accept(MediaType.APPLICATION_JSON_VALUE)
-            .contentType(MediaType.APPLICATION_JSON_VALUE)
-            .content(productInstance.getProductIdentifier()))
-            .andExpect(status().isNotFound());
-  }
-
-  @Test
-  public void shouldActivateProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-            foundProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-
-    Assert.assertTrue(
-            super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE,
-                    foundProductInstance.getAccountIdentifier()));
-
-    final ProductInstance activatedProductInstance = super.depositAccountManager.findProductInstance(foundProductInstance.getAccountIdentifier());
-    Assert.assertNotNull(activatedProductInstance.getOpenedOn());
-
-    this.mockMvc.perform(put(path + "/instances/" + productInstance.getProductIdentifier())
-            .contentType(MediaType.APPLICATION_JSON)
-            .content(productInstance.getProductIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test
-  public void shouldCloseProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-    final String openedOn = "2013-05-08";
-    productInstance.setOpenedOn(openedOn);
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-    Assert.assertEquals(openedOn, foundProductInstance.getOpenedOn());
-
-    super.depositAccountManager.postProductInstanceCommand(
-            foundProductInstance.getAccountIdentifier(), EventConstants.CLOSE_PRODUCT_INSTANCE_COMMAND);
-
-    Assert.assertTrue(
-            super.eventRecorder.wait(EventConstants.CLOSE_PRODUCT_INSTANCE,
-                    foundProductInstance.getAccountIdentifier()));
-
-    this.mockMvc.perform(put(path + "/instances/" + productInstance.getProductIdentifier())
-            .contentType(MediaType.APPLICATION_JSON)
-            .content(productInstance.getProductIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test
-  public void shouldUpdateProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances =
-            super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-
-    Assert.assertEquals(1, productInstances.size());
-
-    final ProductInstance fetchedProductInstance = productInstances.get(0);
-
-    final HashSet<String> newBeneficiaries = new HashSet<>(Arrays.asList("one", "two"));
-
-    fetchedProductInstance.setBeneficiaries(newBeneficiaries);
-
-    final Account account = new Account();
-    account.setIdentifier(fetchedProductInstance.getAccountIdentifier());
-    account.setName(RandomStringUtils.randomAlphanumeric(256));
-    account.setLedger(RandomStringUtils.randomAlphanumeric(32));
-    account.setBalance(0.00D);
-
-    Mockito.doAnswer(invocation -> account)
-            .when(super.accountingServiceSpy).findAccount(fetchedProductInstance.getAccountIdentifier());
-
-    super.depositAccountManager.changeProductInstance(fetchedProductInstance.getAccountIdentifier(),
-            fetchedProductInstance);
-
-    Assert.assertTrue(super.eventRecorder.wait(EventConstants.PUT_PRODUCT_INSTANCE,
-            fetchedProductInstance.getAccountIdentifier()));
-
-    this.mockMvc.perform(put(path + "/instances/" + productInstance.getProductIdentifier())
-            .contentType(MediaType.APPLICATION_JSON)
-            .content(productInstance.getProductIdentifier()))
-            .andExpect(status().is4xxClientError());
-  }
-
-  @Test(expected = ProductInstanceValidationException.class)
-  public void shouldNotUpdateProductInstanceIdentifierMismatch() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    productInstance.setBeneficiaries(null);
-
-    super.depositAccountManager.changeProductInstance("identifiermissmatch", productInstance);
-  }
-
-  @Test
-  public void shouldNotUpdateProductInstanceNoChangeDetected() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances =
-            super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-
-    Assert.assertEquals(1, productInstances.size());
-
-    final ProductInstance fetchedProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.changeProductInstance(fetchedProductInstance.getAccountIdentifier(),
-            fetchedProductInstance);
-
-    Assert.assertFalse(super.eventRecorder.wait(EventConstants.PUT_PRODUCT_INSTANCE,
-            fetchedProductInstance.getAccountIdentifier()));
-  }
-
-  @Test
-  public void shouldFindProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final Account account = new Account();
-    account.setBalance(1234.56D);
-
-    final List<ProductInstance> productInstances =
-            super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-
-    Assert.assertEquals(1, productInstances.size());
-
-    final ProductInstance fetchedProductInstance = productInstances.get(0);
-
-    Mockito.doAnswer(invocation -> account)
-            .when(super.accountingServiceSpy).findAccount(fetchedProductInstance.getAccountIdentifier());
-
-    final ProductInstance foundProductInstance =
-            super.depositAccountManager.findProductInstance(fetchedProductInstance.getAccountIdentifier());
-
-    Assert.assertNotNull(foundProductInstance);
-    Assert.assertEquals(account.getBalance(), foundProductInstance.getBalance());
-
-    try
-    {
-      this.mockMvc.perform(get(path + "/instances")
-              .accept(MediaType.ALL_VALUE).contentType(MediaType.APPLICATION_JSON_VALUE))
-              .andExpect(status().isNotFound());
-    } catch (Exception exception){ exception.printStackTrace(); }
-  }
-
-  @Test(expected = ProductInstanceNotFoundException.class)
-  public void shouldNotFindProductInstanceNotFound() {
-    super.depositAccountManager.findProductInstance(RandomStringUtils.randomAlphanumeric(32));
-  }
-
-  @Test
-  public void shouldOpenAccountAfterUpdatingDefinition() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final Charge openingCharge = new Charge();
-    openingCharge.setActionIdentifier("Open");
-    openingCharge.setAmount(5.00D);
-    openingCharge.setName("Opening Account Charge");
-    openingCharge.setIncomeAccountIdentifier("10123");
-    openingCharge.setProportional(Boolean.TRUE);
-
-    productDefinition.setCharges(new HashSet<>(Arrays.asList(openingCharge)));
-
-    super.depositAccountManager.changeProductDefinition(productDefinition.getIdentifier(), productDefinition);
-
-    super.eventRecorder.wait(EventConstants.PUT_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.fetchProductInstances(productInstance.getCustomerIdentifier());
-    final ProductInstance fetchedProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-            fetchedProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-
-    Assert.assertTrue(
-            super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE,
-                    fetchedProductInstance.getAccountIdentifier()));
-  }
-
-  @Test
-  public void shouldFindAvailableTransactionTypes() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final Set<AvailableTransactionType> availableTransactionTypesBeforeActivation =
-            super.depositAccountManager.fetchPossibleTransactionTypes(productInstance.getCustomerIdentifier());
-
-    Assert.assertFalse(availableTransactionTypesBeforeActivation.isEmpty());
-    Assert.assertTrue(availableTransactionTypesBeforeActivation.size() == 1);
-    final Optional<AvailableTransactionType> optionalTransactionType =
-            availableTransactionTypesBeforeActivation.stream().findFirst();
-    Assert.assertTrue(optionalTransactionType.isPresent());
-    Assert.assertEquals("ACCO", optionalTransactionType.get().getTransactionType());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-            foundProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-
-    super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE, foundProductInstance.getAccountIdentifier());
-
-    final Set<AvailableTransactionType> availableTransactionTypesAfterActivation =
-            super.depositAccountManager.fetchPossibleTransactionTypes(productInstance.getCustomerIdentifier());
-
-    Assert.assertFalse(availableTransactionTypesAfterActivation.isEmpty());
-    Assert.assertTrue(availableTransactionTypesAfterActivation.size() == 5);
-    final HashSet<String> expectedTransactionTypes = Sets.newHashSet("ACCC", "ACCT", "CDPT", "CWDL", "CCHQ");
-    availableTransactionTypesAfterActivation.forEach(availableTransactionType ->
-            expectedTransactionTypes.remove(availableTransactionType.getTransactionType())
-    );
-
-    Assert.assertTrue(expectedTransactionTypes.isEmpty());
-
-    try
-    {
-      this.mockMvc.perform(get(path + "/instances/transactiontypes")
-              .accept(MediaType.ALL_VALUE).contentType(MediaType.APPLICATION_JSON_VALUE))
-              .andExpect(status().isNotFound());
-    } catch (Exception exception){ exception.printStackTrace(); }
-  }
-
-  @Test
-  public void shouldAddTransactionDateProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-
-    super.depositAccountManager.postProductInstanceCommand(
-            foundProductInstance.getAccountIdentifier(), EventConstants.ACTIVATE_PRODUCT_INSTANCE_COMMAND);
-
-    Assert.assertTrue(
-            super.eventRecorder.wait(EventConstants.ACTIVATE_PRODUCT_INSTANCE,
-                    foundProductInstance.getAccountIdentifier()));
-
-    super.depositAccountManager.postProductInstanceCommand(
-            foundProductInstance.getAccountIdentifier(), EventConstants.PRODUCT_INSTANCE_TRANSACTION);
-
-    Assert.assertTrue(
-            super.eventRecorder.wait(EventConstants.PUT_PRODUCT_INSTANCE,
-                    foundProductInstance.getAccountIdentifier()));
-
-    final List<ProductInstance> transactedProductInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(transactedProductInstances);
-    Assert.assertEquals(1, transactedProductInstances.size());
-    final ProductInstance transactedProductInstance = transactedProductInstances.get(0);
-    Assert.assertNotNull(transactedProductInstance.getLastTransactionDate());
-  }
-
-  @Test
-  public void shouldSetAlternativeAccountAndBalanceProductInstance() throws Exception {
-    final ProductDefinition productDefinition = Fixture.productDefinition();
-
-    super.depositAccountManager.create(productDefinition);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());
-
-    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());
-    productInstance.setAlternativeAccountNumber("08154711");
-    productInstance.setBalance(1000.00D);
-
-    super.depositAccountManager.create(productInstance);
-
-    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());
-
-    final Account dummy = new Account();
-    dummy.setAlternativeAccountNumber(productInstance.getAlternativeAccountNumber());
-    dummy.setBalance(productInstance.getBalance());
-    Mockito
-            .doAnswer(invocation -> dummy)
-            .when(super.accountingServiceSpy).findAccount(Matchers.anyString());
-
-    final List<ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
-    Assert.assertNotNull(productInstances);
-    Assert.assertEquals(1, productInstances.size());
-    final ProductInstance foundProductInstance = productInstances.get(0);
-    Assert.assertNotNull(foundProductInstance.getAccountIdentifier());
-    Assert.assertNotEquals(productInstance.getAlternativeAccountNumber(), foundProductInstance.getAccountIdentifier());
-    Assert.assertEquals(productInstance.getAlternativeAccountNumber(), foundProductInstance.getAlternativeAccountNumber());
-    Assert.assertEquals(productInstance.getBalance(), foundProductInstance.getBalance());
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/TestSuite.java b/service/src/test/java/org/apache/fineract/cn/deposit/TestSuite.java
deleted file mode 100644
index a412f90..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/TestSuite.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-/**
- * @author Myrle Krantz
- */
-@RunWith(Suite.class)
-@Suite.SuiteClasses({
-    TestProductDefinition.class,
-    TestProductInstance.class,
-    TestActions.class,
-    TestAccrual.class,
-    TestDividendDistribution.class
-})
-public class TestSuite extends SuiteTestEnvironment {
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ActionEventListener.java b/service/src/test/java/org/apache/fineract/cn/deposit/listener/ActionEventListener.java
deleted file mode 100644
index 698efc7..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ActionEventListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit.listener;
-
-import org.apache.fineract.cn.deposit.AbstractDepositAccountManagementTest;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.jms.annotation.JmsListener;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ActionEventListener {
-
-  private final Logger logger;
-  private final EventRecorder eventRecorder;
-
-  @Autowired
-  public ActionEventListener(@Qualifier(AbstractDepositAccountManagementTest.TEST_LOGGER) final Logger logger,
-                             final EventRecorder eventRecorder) {
-    super();
-    this.logger = logger;
-    this.eventRecorder = eventRecorder;
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_POST_PRODUCT_ACTION,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onCreateAction(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                             final String payload) {
-    this.logger.debug("Action created.");
-    this.eventRecorder.event(tenant, EventConstants.POST_PRODUCT_ACTION, payload, String.class);
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/listener/InterestCalculationEventListener.java b/service/src/test/java/org/apache/fineract/cn/deposit/listener/InterestCalculationEventListener.java
deleted file mode 100644
index a658151..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/listener/InterestCalculationEventListener.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit.listener;
-
-import org.apache.fineract.cn.deposit.AbstractDepositAccountManagementTest;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.jms.annotation.JmsListener;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.stereotype.Component;
-
-@Component
-public class InterestCalculationEventListener {
-
-  private final Logger logger;
-  private final EventRecorder eventRecorder;
-
-  @Autowired
-  public InterestCalculationEventListener(@Qualifier(AbstractDepositAccountManagementTest.TEST_LOGGER) final Logger logger,
-                                          final EventRecorder eventRecorder) {
-    super();
-    this.logger = logger;
-    this.eventRecorder = eventRecorder;
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_INTEREST_ACCRUED,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onAccrual(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                        final String payload) {
-    this.logger.debug("Accrual processed, payload: {}.", payload);
-    this.eventRecorder.event(tenant, EventConstants.INTEREST_ACCRUED, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_DIVIDEND_DISTRIBUTION,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onDividendDistribution(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                                     final String payload) {
-    this.logger.debug("Dividend distributed for product {}.", payload);
-    this.eventRecorder.event(tenant, EventConstants.DIVIDEND_DISTRIBUTION, payload, String.class);
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/listener/MigrationEventListener.java b/service/src/test/java/org/apache/fineract/cn/deposit/listener/MigrationEventListener.java
deleted file mode 100644
index b1cec08..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/listener/MigrationEventListener.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit.listener;
-
-import org.apache.fineract.cn.deposit.AbstractDepositAccountManagementTest;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.jms.annotation.JmsListener;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.stereotype.Component;
-
-@Component
-public class MigrationEventListener {
-
-  private final Logger logger;
-  private final EventRecorder eventRecorder;
-
-  @Autowired
-  public MigrationEventListener(@Qualifier(AbstractDepositAccountManagementTest.TEST_LOGGER) final Logger logger,
-                                final EventRecorder eventRecorder) {
-    super();
-    this.logger = logger;
-    this.eventRecorder = eventRecorder;
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_INITIALIZE,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onInitialize(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                          final String payload) {
-    this.logger.debug("Service initialized.");
-    this.eventRecorder.event(tenant, EventConstants.INITIALIZE, payload, String.class);
-  }
-
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductDefinitionEventListener.java b/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductDefinitionEventListener.java
deleted file mode 100644
index d7c3a68..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductDefinitionEventListener.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit.listener;
-
-import org.apache.fineract.cn.deposit.AbstractDepositAccountManagementTest;
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.jms.annotation.JmsListener;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ProductDefinitionEventListener {
-
-  private final Logger logger;
-  private final EventRecorder eventRecorder;
-
-  @Autowired
-  public ProductDefinitionEventListener(@Qualifier(AbstractDepositAccountManagementTest.TEST_LOGGER) final Logger logger,
-                                        final EventRecorder eventRecorder) {
-    super();
-    this.logger = logger;
-    this.eventRecorder = eventRecorder;
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_POST_PRODUCT_DEFINITION,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onCreateProductDefinition(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                                        final String payload) {
-    this.logger.debug("Product definition created.");
-    this.eventRecorder.event(tenant, EventConstants.POST_PRODUCT_DEFINITION, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_POST_PRODUCT_COMMAND,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onActivateProductDefinition(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                                          final String payload) {
-    this.logger.debug("Product definition activated.");
-    this.eventRecorder.event(tenant, EventConstants.POST_PRODUCT_DEFINITION_COMMAND, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_DELETE_PRODUCT_DEFINITION,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onDeleteProductDefinition(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                                          final String payload) {
-    this.logger.debug("Product definition activated.");
-    this.eventRecorder.event(tenant, EventConstants.DELETE_PRODUCT_DEFINITION, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_PUT_PRODUCT_DEFINITION,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onChangeProductDefinition(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                                        final String payload) {
-    this.logger.debug("Product definition activated.");
-    this.eventRecorder.event(tenant, EventConstants.PUT_PRODUCT_DEFINITION, payload, String.class);
-  }
-}
diff --git a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductInstanceEventListener.java b/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductInstanceEventListener.java
deleted file mode 100644
index ee5221b..0000000
--- a/service/src/test/java/org/apache/fineract/cn/deposit/listener/ProductInstanceEventListener.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.
- */
-package org.apache.fineract.cn.deposit.listener;
-
-import org.apache.fineract.cn.deposit.api.v1.EventConstants;
-import org.apache.fineract.cn.deposit.service.ServiceConstants;
-import org.apache.fineract.cn.lang.config.TenantHeaderFilter;
-import org.apache.fineract.cn.test.listener.EventRecorder;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.jms.annotation.JmsListener;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ProductInstanceEventListener {
-
-  private final Logger logger;
-  private final EventRecorder eventRecorder;
-
-  @Autowired
-  public ProductInstanceEventListener(@Qualifier(ServiceConstants.LOGGER_NAME) final Logger logger,
-                                      final EventRecorder eventRecorder) {
-    super();
-    this.logger = logger;
-    this.eventRecorder = eventRecorder;
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_POST_PRODUCT_INSTANCE,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onCreateInstance(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                               final String payload) {
-    this.logger.debug("Product instance created.");
-    this.eventRecorder.event(tenant, EventConstants.POST_PRODUCT_INSTANCE, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_ACTIVATE_PRODUCT_INSTANCE,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onActivateInstance(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                               final String payload) {
-    this.logger.debug("Product instance activated.");
-    this.eventRecorder.event(tenant, EventConstants.ACTIVATE_PRODUCT_INSTANCE, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_CLOSE_PRODUCT_INSTANCE,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onCloseInstance(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                               final String payload) {
-    this.logger.debug("Product instance closed.");
-    this.eventRecorder.event(tenant, EventConstants.CLOSE_PRODUCT_INSTANCE, payload, String.class);
-  }
-
-  @JmsListener(
-      destination = EventConstants.DESTINATION,
-      selector = EventConstants.SELECTOR_PUT_PRODUCT_INSTANCE,
-      subscription = EventConstants.DESTINATION
-  )
-  public void onUpdateInstance(@Header(TenantHeaderFilter.TENANT_HEADER) final String tenant,
-                              final String payload) {
-    this.logger.debug("Product instance updated.");
-    this.eventRecorder.event(tenant, EventConstants.PUT_PRODUCT_INSTANCE, payload, String.class);
-  }
-}

-- 
To stop receiving notification emails like this one, please contact
ikamga@apache.org.