Merge branch '2.2.x'
This commit is contained in:
@@ -88,15 +88,18 @@ public final class RegexPatterns {
|
||||
}
|
||||
|
||||
public static String multipartParam(Object name, Object value) {
|
||||
return ".*--(.*)\r\nContent-Disposition: form-data; name=\"" + name
|
||||
+ "\"\r\n(Content-Type: .*\r\n)?(Content-Transfer-Encoding: .*\r\n)?(Content-Length: \\d+\r\n)?\r\n"
|
||||
+ value + "\r\n--\\1.*";
|
||||
return ".*--(.*)\r?\nContent-Disposition: form-data; name=\"" + name
|
||||
+ "\"\r?\n(Content-Type: .*\r?\n)?(Content-Transfer-Encoding: .*\r?\n)?(Content-Length: \\d+\r?\n)?\r?\n"
|
||||
+ value + "\r?\n--.*";
|
||||
}
|
||||
|
||||
public static String multipartFile(Object name, Object filename, Object content, Object contentType) {
|
||||
return ".*--(.*)\r\nContent-Disposition: form-data; name=\"" + name + "\"; filename=\"" + filename
|
||||
+ "\"\r\n(Content-Type: " + toContentType(contentType)
|
||||
+ "\r\n)?(Content-Transfer-Encoding: .*\r\n)?(Content-Length: \\d+\r\n)?\r\n" + content + "\r\n--\\1.*";
|
||||
public static String multipartFile(Object name, Object filename, Object content,
|
||||
Object contentType) {
|
||||
return ".*--(.*)\r?\nContent-Disposition: form-data; name=\"" + name
|
||||
+ "\"; filename=\"" + filename + "\"\r?\n(Content-Type: "
|
||||
+ toContentType(contentType)
|
||||
+ "\r?\n)?(Content-Transfer-Encoding: .*\r?\n)?(Content-Length: \\d+\r?\n)?\r?\n"
|
||||
+ content + "\r?\n--.*";
|
||||
}
|
||||
|
||||
private static String toContentType(Object contentType) {
|
||||
|
||||
@@ -119,7 +119,7 @@ class DslToWireMockClientConverterSpec extends Specification {
|
||||
ContractVerifierDslConverter.convertAsCollection(new File("/"), file))).values().first()
|
||||
then:
|
||||
JSONAssert.assertEquals('''
|
||||
{"request":{"url":"/multipart","method":"POST","headers":{"Content-Type":{"matches":"multipart/form-data.*"}},"bodyPatterns":[{"matches" : ".*--(.*)\\r\\nContent-Disposition: form-data; name=\\"file\\"; filename=\\".+\\"\\r\\n(Content-Type: .*\\r\\n)?(Content-Transfer-Encoding: .*\\r\\n)?(Content-Length: \\\\d+\\r\\n)?\\r\\n.+\\r\\n--\\\\1.*"}]},"response":{"status":200,"body":"hello","transformers":["response-template", "spring-cloud-contract" ]}}
|
||||
{"request":{"url":"/multipart","method":"POST","headers":{"Content-Type":{"matches":"multipart/form-data.*"}},"bodyPatterns":[{"matches" : ".*--(.*)\\r?\\nContent-Disposition: form-data; name=\\"file\\"; filename=\\".+\\"\\r?\\n(Content-Type: .*\\r?\\n)?(Content-Transfer-Encoding: .*\\r?\\n)?(Content-Length: \\\\d+\\r?\\n)?\\r?\\n.+\\r?\\n--.*"}]},"response":{"status":200,"body":"hello","transformers":["response-template", "spring-cloud-contract" ]}}
|
||||
''', json, false)
|
||||
and:
|
||||
StubMapping mapping = stubMappingIsValidWireMockStub(json)
|
||||
|
||||
@@ -1880,11 +1880,11 @@ class WireMockGroovyDslSpec extends Specification implements WireMockStubVerifie
|
||||
}
|
||||
},
|
||||
"bodyPatterns" : [ {
|
||||
"matches" : ".*--(.*)\\r\\nContent-Disposition: form-data; name=\\"formParameter\\"\\r\\n(Content-Type: .*\\r\\n)?(Content-Transfer-Encoding: .*\\r\\n)?(Content-Length: \\\\d+\\r\\n)?\\r\\n\\".+\\"\\r\\n--\\\\1.*"
|
||||
"matches" : ".*--(.*)\\r?\\nContent-Disposition: form-data; name=\\"formParameter\\"\\r?\\n(Content-Type: .*\\r?\\n)?(Content-Transfer-Encoding: .*\\r?\\n)?(Content-Length: \\\\d+\\r?\\n)?\\r?\\n\\".+\\"\\r?\\n--.*"
|
||||
}, {
|
||||
"matches" : ".*--(.*)\\r\\nContent-Disposition: form-data; name=\\"someBooleanParameter\\"\\r\\n(Content-Type: .*\\r\\n)?(Content-Transfer-Encoding: .*\\r\\n)?(Content-Length: \\\\d+\\r\\n)?\\r\\n(true|false)\\r\\n--\\\\1.*"
|
||||
"matches" : ".*--(.*)\\r?\\nContent-Disposition: form-data; name=\\"someBooleanParameter\\"\\r?\\n(Content-Type: .*\\r?\\n)?(Content-Transfer-Encoding: .*\\r?\\n)?(Content-Length: \\\\d+\\r?\\n)?\\r?\\n(true|false)\\r?\\n--.*"
|
||||
}, {
|
||||
"matches" : ".*--(.*)\\r\\nContent-Disposition: form-data; name=\\"file\\"; filename=\\"[\\\\S\\\\s]+\\"\\r\\n(Content-Type: .*\\r\\n)?(Content-Transfer-Encoding: .*\\r\\n)?(Content-Length: \\\\d+\\r\\n)?\\r\\n[\\\\S\\\\s]+\\r\\n--\\\\1.*"
|
||||
"matches" : ".*--(.*)\\r?\\nContent-Disposition: form-data; name=\\"file\\"; filename=\\"[\\\\S\\\\s]+\\"\\r?\\n(Content-Type: .*\\r?\\n)?(Content-Transfer-Encoding: .*\\r?\\n)?(Content-Length: \\\\d+\\r?\\n)?\\r?\\n[\\\\S\\\\s]+\\r?\\n--.*"
|
||||
} ]
|
||||
},
|
||||
"response" : {
|
||||
|
||||
Reference in New Issue
Block a user