Put unit tests together in single test class and use unique Egyptian god shu for reporting service test user
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/AbstractReportingSpecificationTest.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/AbstractReportingSpecificationTest.java
index 528bad0..ed375b7 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/AbstractReportingSpecificationTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/reporting/AbstractReportingSpecificationTest.java
@@ -52,7 +52,7 @@
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,
classes = {AbstractReportingSpecificationTest.TestConfiguration.class}
)
-public class AbstractReportingSpecificationTest {
+public class AbstractReportingSpecificationTest extends SuiteTestEnvironment {
private static final String APP_NAME = "reporting-v1";
public static final String LOGGER_NAME = "test-logger";
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/SuiteTestEnvironment.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/SuiteTestEnvironment.java
new file mode 100644
index 0000000..9a65c5f
--- /dev/null
+++ b/component-test/src/main/java/org/apache/fineract/cn/reporting/SuiteTestEnvironment.java
@@ -0,0 +1,40 @@
+/*
+ * 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.reporting;
+
+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;
+
+public class SuiteTestEnvironment {
+ static final String APP_NAME = "reporting-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/component-test/src/main/java/org/apache/fineract/cn/reporting/TestBalanceSheetReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestBalanceSheetReportSpecification.java
deleted file mode 100644
index d8ae817..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestBalanceSheetReportSpecification.java
+++ /dev/null
@@ -1,40 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestBalanceSheetReportSpecification extends AbstractReportingSpecificationTest {
-
- public TestBalanceSheetReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Accounting");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Balancesheet"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestCustomerListReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestCustomerListReportSpecification.java
deleted file mode 100644
index 7fdae97..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestCustomerListReportSpecification.java
+++ /dev/null
@@ -1,40 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestCustomerListReportSpecification extends AbstractReportingSpecificationTest {
-
- public TestCustomerListReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Customer");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestDepositListReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestDepositListReportSpecification.java
deleted file mode 100644
index d13fcf6..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestDepositListReportSpecification.java
+++ /dev/null
@@ -1,39 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestDepositListReportSpecification extends AbstractReportingSpecificationTest {
- public TestDepositListReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Deposit");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestIncomeStatementReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestIncomeStatementReportSpecification.java
deleted file mode 100644
index d919828..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestIncomeStatementReportSpecification.java
+++ /dev/null
@@ -1,39 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestIncomeStatementReportSpecification extends AbstractReportingSpecificationTest {
- public TestIncomeStatementReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Accounting");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Incomestatement"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestLoanListReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestLoanListReportSpecification.java
deleted file mode 100644
index 49075cf..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestLoanListReportSpecification.java
+++ /dev/null
@@ -1,39 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestLoanListReportSpecification extends AbstractReportingSpecificationTest{
- public TestLoanListReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Loan");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestReportingSpecifications.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestReportingSpecifications.java
new file mode 100644
index 0000000..4c0c73c
--- /dev/null
+++ b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestReportingSpecifications.java
@@ -0,0 +1,84 @@
+/*
+ * 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.reporting;
+
+import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.List;
+
+public class TestReportingSpecifications extends AbstractReportingSpecificationTest {
+
+ @Test
+ public void shouldReturnBalanceSheetReportDefinition() {
+ final List<ReportDefinition> balanceSheetReportDefinitions = super.testSubject.fetchReportDefinitions("Accounting");
+ Assert.assertTrue(
+ balanceSheetReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Balancesheet"))
+ );
+ }
+
+ @Test
+ public void shouldReturnCustomerListReportDefinition() {
+ final List<ReportDefinition> customerListReportDefinitions = super.testSubject.fetchReportDefinitions("Customer");
+ Assert.assertTrue(
+ customerListReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
+ );
+ }
+
+ @Test
+ public void shouldReturnDepositListReportDefinition() {
+ final List<ReportDefinition> depositListReportDefinitions = super.testSubject.fetchReportDefinitions("Deposit");
+ Assert.assertTrue(
+ depositListReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
+ );
+ }
+
+ @Test
+ public void shouldReturnIncomeStatementReportDefinition() {
+ final List<ReportDefinition> incomeStatementReportDefinitions = super.testSubject.fetchReportDefinitions("Accounting");
+ Assert.assertTrue(
+ incomeStatementReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Incomestatement"))
+ );
+ }
+
+ @Test
+ public void shouldReturnLoanListReportDefinition() {
+ final List<ReportDefinition> loanListReportDefinitions = super.testSubject.fetchReportDefinitions("Loan");
+ Assert.assertTrue(
+ loanListReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
+ );
+ }
+
+ @Test
+ public void shouldReturnTellerListReportDefinition() {
+ final List<ReportDefinition> tellerListReportDefinitions = super.testSubject.fetchReportDefinitions("Teller");
+ Assert.assertTrue(
+ tellerListReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
+ );
+ }
+
+ @Test
+ public void shouldReturnTellerTransactionReportDefinition() {
+ final List<ReportDefinition> tellerTransactionReportDefinitions = super.testSubject.fetchReportDefinitions("Teller");
+ Assert.assertTrue(
+ tellerTransactionReportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Transactions"))
+ );
+ }
+}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerListReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerListReportSpecification.java
deleted file mode 100644
index fe3d2f4..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerListReportSpecification.java
+++ /dev/null
@@ -1,39 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestTellerListReportSpecification extends AbstractReportingSpecificationTest {
- public TestTellerListReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Teller");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Listing"))
- );
- }
-}
diff --git a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerTransactionReportSpecification.java b/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerTransactionReportSpecification.java
deleted file mode 100644
index fb76bc3..0000000
--- a/component-test/src/main/java/org/apache/fineract/cn/reporting/TestTellerTransactionReportSpecification.java
+++ /dev/null
@@ -1,39 +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.reporting;
-
-import org.apache.fineract.cn.reporting.api.v1.domain.ReportDefinition;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.List;
-
-public class TestTellerTransactionReportSpecification extends AbstractReportingSpecificationTest {
- public TestTellerTransactionReportSpecification() {
- super();
- }
-
- @Test
- public void shouldReturnReportDefinition() {
- final List<ReportDefinition> reportDefinitions = super.testSubject.fetchReportDefinitions("Teller");
- Assert.assertTrue(
- reportDefinitions.stream().anyMatch(reportDefinition -> reportDefinition.getIdentifier().equals("Transactions"))
- );
- }
-}