diff --git a/samples/standalone/dsl/http-server/build.gradle b/samples/standalone/dsl/http-server/build.gradle index 6df0928741..959f3ebdd8 100644 --- a/samples/standalone/dsl/http-server/build.gradle +++ b/samples/standalone/dsl/http-server/build.gradle @@ -9,6 +9,7 @@ buildscript { } // end::repos[] dependencies { + classpath 'org.codehaus.groovy:groovy-all:2.5.0-beta-1' classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.0.BUILD-SNAPSHOT" classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:${findProperty('verifierVersion') ?: verifierVersion}" } diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/PatternValueDslProperty.groovy b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/PatternValueDslProperty.groovy index d8054ca59d..6f98c5c630 100644 --- a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/PatternValueDslProperty.groovy +++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/PatternValueDslProperty.groovy @@ -36,7 +36,8 @@ abstract class PatternValueDslProperty { protected abstract T createProperty(Pattern pattern, Object generatedValue) T anyAlphaUnicode() { - return createAndValidateProperty(RegexPatterns.ONLY_ALPHA_UNICODE, randomString(20)) + return createAndValidateProperty(RegexPatterns.ONLY_ALPHA_UNICODE, + RandomStringGenerator.randomString(20)) } T anyNumber() { @@ -88,26 +89,16 @@ abstract class PatternValueDslProperty { } T anyNonBlankString() { - return createAndValidateProperty(RegexPatterns.NON_BLANK, randomString(20)) + return createAndValidateProperty(RegexPatterns.NON_BLANK, + RandomStringGenerator.randomString(20)) } T anyNonEmptyString() { - return createAndValidateProperty(RegexPatterns.NON_EMPTY, randomString(20)) + return createAndValidateProperty(RegexPatterns.NON_EMPTY, + RandomStringGenerator.randomString(20)) } T anyOf(String... values){ return createAndValidateProperty(RegexPatterns.anyOf(values), values[0]) } - - private static String randomString(int length) { - char[] characterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray() - Random random = new Random() - char[] result = new char[length] - for (int i = 0; i < result.length; i++) { - // picks a random index out of character set > random character - int randomCharIndex = random.nextInt(characterSet.length) - result[i] = characterSet[randomCharIndex] - } - return new String(result) - } } diff --git a/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/RandomStringGenerator.java b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/RandomStringGenerator.java new file mode 100644 index 0000000000..0cddf8713b --- /dev/null +++ b/spring-cloud-contract-spec/src/main/groovy/org/springframework/cloud/contract/spec/internal/RandomStringGenerator.java @@ -0,0 +1,17 @@ +package org.springframework.cloud.contract.spec.internal; + +import java.util.Random; + +class RandomStringGenerator { + static String randomString(int length) { + char[] characterSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); + Random random = new Random(); + char[] result = new char[length]; + for (int i = 0; i < result.length; i++) { + // picks a random index out of character set > random character + int randomCharIndex = random.nextInt(characterSet.length); + result[i] = characterSet[randomCharIndex]; + } + return new String(result); + } +}