You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by my...@apache.org on 2018/01/22 15:16:05 UTC
[fineract-cn-provisioner] 07/50: Validating ApplicationName
parameters. Added unit tests for parameter validation.
This is an automated email from the ASF dual-hosted git repository.
myrle pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-provisioner.git
commit 14329d4a4e0408ccfd0c5e0e50f1cd07ece1cfca
Author: myrle-krantz <mk...@mifos.org>
AuthorDate: Tue Apr 4 20:27:16 2017 +0200
Validating ApplicationName parameters. Added unit tests for parameter validation.
---
api/build.gradle | 4 ++
.../provisioner/api/v1/domain/Application.java | 9 ++---
.../api/v1/domain/AssignedApplication.java | 9 ++---
.../provisioner/api/v1/domain/ApplicationTest.java | 44 ++++++++++++++++++++++
.../api/v1/domain/AssignedApplicationTest.java | 41 ++++++++++++++++++++
shared.gradle | 1 +
6 files changed, 96 insertions(+), 12 deletions(-)
diff --git a/api/build.gradle b/api/build.gradle
index 681d0c7..8409313 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -20,6 +20,10 @@ dependencies {
[group: 'io.mifos.core', name: 'api', version: versions.frameworkapi],
[group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator]
)
+
+ testCompile(
+ [group: 'io.mifos.core', name: 'test', version: versions.frameworktest],
+ )
}
publishing {
diff --git a/api/src/main/java/io/mifos/provisioner/api/v1/domain/Application.java b/api/src/main/java/io/mifos/provisioner/api/v1/domain/Application.java
index 4c9bfdb..b3c3ecd 100644
--- a/api/src/main/java/io/mifos/provisioner/api/v1/domain/Application.java
+++ b/api/src/main/java/io/mifos/provisioner/api/v1/domain/Application.java
@@ -15,15 +15,12 @@
*/
package io.mifos.provisioner.api.v1.domain;
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
+import io.mifos.core.lang.validation.constraints.ValidApplicationName;
-import javax.validation.constraints.NotNull;
-
-@SuppressWarnings("unused")
+@SuppressWarnings({"unused", "WeakerAccess"})
public class Application {
- @NotNull
- @ValidIdentifier //name should be URL-safe.
+ @ValidApplicationName
private String name;
private String description;
private String vendor;
diff --git a/api/src/main/java/io/mifos/provisioner/api/v1/domain/AssignedApplication.java b/api/src/main/java/io/mifos/provisioner/api/v1/domain/AssignedApplication.java
index 76e1898..afba3e9 100644
--- a/api/src/main/java/io/mifos/provisioner/api/v1/domain/AssignedApplication.java
+++ b/api/src/main/java/io/mifos/provisioner/api/v1/domain/AssignedApplication.java
@@ -15,15 +15,12 @@
*/
package io.mifos.provisioner.api.v1.domain;
-import io.mifos.core.lang.validation.constraints.ValidIdentifier;
+import io.mifos.core.lang.validation.constraints.ValidApplicationName;
-import javax.validation.constraints.NotNull;
-
-@SuppressWarnings("unused")
+@SuppressWarnings({"unused", "WeakerAccess"})
public class AssignedApplication {
- @NotNull
- @ValidIdentifier
+ @ValidApplicationName
private String name;
public AssignedApplication() {
diff --git a/api/src/test/java/io/mifos/provisioner/api/v1/domain/ApplicationTest.java b/api/src/test/java/io/mifos/provisioner/api/v1/domain/ApplicationTest.java
new file mode 100644
index 0000000..96f426c
--- /dev/null
+++ b/api/src/test/java/io/mifos/provisioner/api/v1/domain/ApplicationTest.java
@@ -0,0 +1,44 @@
+package io.mifos.provisioner.api.v1.domain;
+
+import io.mifos.core.test.domain.ValidationTest;
+import io.mifos.core.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * @author Myrle Krantz
+ */
+public class ApplicationTest extends ValidationTest<Application> {
+
+ public ApplicationTest(ValidationTestCase<Application> testCase) {
+ super(testCase);
+ }
+
+ @Override
+ protected Application createValidTestSubject() {
+ final Application ret = new Application();
+ ret.setName("bebop-v3");
+ ret.setHomepage("http://xyz.bebop:2021/v1");
+ ret.setDescription("bebop manager");
+ ret.setVendor("fineract");
+ return ret;
+ }
+
+ @Parameterized.Parameters
+ public static Collection testCases() {
+ final Collection<ValidationTestCase> ret = new ArrayList<>();
+ ret.add(new ValidationTestCase<Application>("basicCase")
+ .adjustment(x -> {})
+ .valid(true));
+ ret.add(new ValidationTestCase<Application>("invalidApplicationName")
+ .adjustment(x -> x.setName("bebop-dowop"))
+ .valid(false));
+ ret.add(new ValidationTestCase<Application>("nullApplicationName")
+ .adjustment(x -> x.setName(null))
+ .valid(false));
+ return ret;
+ }
+
+}
\ No newline at end of file
diff --git a/api/src/test/java/io/mifos/provisioner/api/v1/domain/AssignedApplicationTest.java b/api/src/test/java/io/mifos/provisioner/api/v1/domain/AssignedApplicationTest.java
new file mode 100644
index 0000000..19f4f9f
--- /dev/null
+++ b/api/src/test/java/io/mifos/provisioner/api/v1/domain/AssignedApplicationTest.java
@@ -0,0 +1,41 @@
+package io.mifos.provisioner.api.v1.domain;
+
+import io.mifos.core.test.domain.ValidationTest;
+import io.mifos.core.test.domain.ValidationTestCase;
+import org.junit.runners.Parameterized;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * @author Myrle Krantz
+ */
+public class AssignedApplicationTest extends ValidationTest<AssignedApplication> {
+
+ public AssignedApplicationTest(ValidationTestCase<AssignedApplication> testCase) {
+ super(testCase);
+ }
+
+ @Override
+ protected AssignedApplication createValidTestSubject() {
+ final AssignedApplication ret = new AssignedApplication();
+ ret.setName("bebop-v3");
+ return ret;
+ }
+
+ @Parameterized.Parameters
+ public static Collection testCases() {
+ final Collection<ValidationTestCase> ret = new ArrayList<>();
+ ret.add(new ValidationTestCase<AssignedApplication>("basicCase")
+ .adjustment(x -> {})
+ .valid(true));
+ ret.add(new ValidationTestCase<AssignedApplication>("invalidApplicationName")
+ .adjustment(x -> x.setName("bebop-dowop"))
+ .valid(false));
+ ret.add(new ValidationTestCase<AssignedApplication>("nullApplicationName")
+ .adjustment(x -> x.setName(null))
+ .valid(false));
+ return ret;
+ }
+
+}
\ No newline at end of file
diff --git a/shared.gradle b/shared.gradle
index 4535a5d..8a2c8dc 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -10,6 +10,7 @@ ext.versions = [
frameworkcassandra : '0.1.0-BUILD-SNAPSHOT',
frameworkmariadb : '0.1.0-BUILD-SNAPSHOT',
frameworkcrypto : '0.1.0-BUILD-SNAPSHOT',
+ frameworktest : '0.1.0-BUILD-SNAPSHOT',
validator : '5.3.0.Final'
]
--
To stop receiving notification emails like this one, please contact
myrle@apache.org.