Skip to content

Commit 3577a5b

Browse files
test(dropwizard-dedup): expand fixtures to 200 tests across 4 sets
The previous Dropwizard dedup contract was 16 tests in a single set with both EXPECTED_DUPLICATES=any and EXPECTED_RETAINED_TESTS=any — it only verified "something happened", not that dedup picked the right tests. Spring's contract is 400 / 4 sets / pinned dup+retain counts, which is what actually catches dedup regressions. Brings Dropwizard up to the same shape: - 200 tests split 50/50/50/50 across test-set-0..test-set-3. - Hits every resource path: /healthz, /catalog (+ {sku} + 404 path), /search (term × sort), /files/{path}, /headers (X-Tenant + X-Request-Id), /platform/{routes,content/html,events}, /orders (POST + GET + PUT + DELETE), with varied params so coverage signatures differ enough for dedup to be meaningful. - Adds run_random_200.sh — same shape as java-dedup/run_random_1000.sh — so future re-records are reproducible. Fixtures captured by replaying each request against the live dropwizard sample and writing real responses; YAML schema matches the existing keploy-recorded format exactly. Signed-off-by: Asish Kumar <officialasishkumar@gmail.com>
1 parent ce0c318 commit 3577a5b

201 files changed

Lines changed: 6559 additions & 298 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

dropwizard-dedup/keploy/test-set-0/tests/test-1.yaml

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,25 @@ spec:
1010
proto_minor: 1
1111
url: http://127.0.0.1:8080/healthz
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
1919
status_code: 200
2020
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2122
Content-Type: application/json
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23+
Vary: Accept-Encoding
24+
Content-Length: 16
2325
body: '{"healthy":true}'
2426
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request GET \
37-
--url http://127.0.0.1:8080/healthz \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-10.yaml

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,30 @@ name: test-10
55
spec:
66
metadata: {}
77
req:
8-
method: PUT
8+
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/orders/ORD-42
11+
url: http://127.0.0.1:8080/catalog?category=books&limit=2
1212
header:
13-
Accept: '*/*'
14-
Content-Type: application/json
15-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1614
User-Agent: curl/8.19.0
17-
body: '{"status":"shipped"}'
18-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1918
resp:
2019
status_code: 200
2120
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2222
Content-Type: application/json
23-
Date: Thu, 30 Apr 2026 04:48:59 GMT
24-
body: '{"orderId":"ORD-42","status":"shipped","updated":true}'
23+
Vary: Accept-Encoding
24+
Content-Length: 257
25+
body: '{"category":"books","limit":2,"items":[{"sku":"BK-1","name":"Clean Architecture","category":"books","status":"available","price":"32.50"},{"sku":"BK-2","name":"Effective Java","category":"books","status":"available","price":"45.00"}],"source":"warehouse-a"}'
2526
status_message: OK
2627
proto_major: 0
2728
proto_minor: 0
28-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2930
objects: []
3031
assertions:
3132
noise:
32-
header.Date: []
33-
header.Vary: []
34-
created: 1777524539
35-
app_port: 8080
36-
curl: |
37-
curl --request PUT \
38-
--url http://127.0.0.1:8080/orders/ORD-42 \
39-
--header 'Content-Type: application/json' \
40-
--data '{"status":"shipped"}'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-11.yaml

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,30 @@ name: test-11
55
spec:
66
metadata: {}
77
req:
8-
method: DELETE
8+
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/orders/ORD-42
11+
url: http://127.0.0.1:8080/catalog?category=books&limit=3
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
1919
status_code: 200
2020
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2122
Content-Type: application/json
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23-
body: '{"orderId":"ORD-42","deleted":true}'
23+
Vary: Accept-Encoding
24+
Content-Length: 257
25+
body: '{"category":"books","limit":3,"items":[{"sku":"BK-1","name":"Clean Architecture","category":"books","status":"available","price":"32.50"},{"sku":"BK-2","name":"Effective Java","category":"books","status":"available","price":"45.00"}],"source":"warehouse-a"}'
2426
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request DELETE \
37-
--url http://127.0.0.1:8080/orders/ORD-42 \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-12.yaml

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,27 @@ spec:
88
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/files/reports/2026/q1.csv?download=true
11+
url: http://127.0.0.1:8080/catalog?category=books&limit=5
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
1919
status_code: 200
2020
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2122
Content-Type: application/json
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23-
body: '{"requested_file":"/reports/2026/q1.csv","download":true}'
23+
Vary: Accept-Encoding
24+
Content-Length: 257
25+
body: '{"category":"books","limit":5,"items":[{"sku":"BK-1","name":"Clean Architecture","category":"books","status":"available","price":"32.50"},{"sku":"BK-2","name":"Effective Java","category":"books","status":"available","price":"45.00"}],"source":"warehouse-a"}'
2426
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request GET \
37-
--url 'http://127.0.0.1:8080/files/reports/2026/q1.csv?download=true' \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-13.yaml

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,27 @@ spec:
88
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/headers
11+
url: http://127.0.0.1:8080/catalog?category=electronics&limit=1
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
X-Request-Id: req-123
17-
X-Tenant: flipkart
18-
body: ""
19-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
2018
resp:
2119
status_code: 200
2220
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2322
Content-Type: application/json
24-
Date: Thu, 30 Apr 2026 04:48:59 GMT
25-
body: '{"tenant":"flipkart","requestId":"req-123"}'
23+
Vary: Accept-Encoding
24+
Content-Length: 184
25+
body: '{"category":"electronics","limit":1,"items":[{"sku":"EL-1","name":"Noise Cancelling Headphones","category":"electronics","status":"backorder","price":"199.99"}],"source":"warehouse-b"}'
2626
status_message: OK
2727
proto_major: 0
2828
proto_minor: 0
29-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
3030
objects: []
3131
assertions:
3232
noise:
33-
header.Date: []
34-
header.Vary: []
35-
created: 1777524539
36-
app_port: 8080
37-
curl: |
38-
curl --request GET \
39-
--url http://127.0.0.1:8080/headers \
40-
--header 'X-Tenant: flipkart' \
41-
--header 'X-Request-Id: req-123'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-14.yaml

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,27 @@ spec:
88
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/platform/routes/us-east/az1
11+
url: http://127.0.0.1:8080/catalog?category=electronics&limit=2
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
1919
status_code: 200
2020
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2122
Content-Type: application/json
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23-
body: '{"region":"us-east","zone":"az1","target":"us-east-az1-api"}'
23+
Vary: Accept-Encoding
24+
Content-Length: 281
25+
body: '{"category":"electronics","limit":2,"items":[{"sku":"EL-1","name":"Noise Cancelling Headphones","category":"electronics","status":"backorder","price":"199.99"},{"sku":"EL-2","name":"USB-C Dock","category":"electronics","status":"available","price":"89.00"}],"source":"warehouse-b"}'
2426
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request GET \
37-
--url http://127.0.0.1:8080/platform/routes/us-east/az1 \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-15.yaml

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,27 @@ spec:
88
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/platform/content/html
11+
url: http://127.0.0.1:8080/catalog?category=electronics&limit=3
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
1919
status_code: 200
2020
header:
21-
Content-Type: text/html
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23-
body: '<h1>dropwizard</h1>'
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
22+
Content-Type: application/json
23+
Vary: Accept-Encoding
24+
Content-Length: 281
25+
body: '{"category":"electronics","limit":3,"items":[{"sku":"EL-1","name":"Noise Cancelling Headphones","category":"electronics","status":"backorder","price":"199.99"},{"sku":"EL-2","name":"USB-C Dock","category":"electronics","status":"available","price":"89.00"}],"source":"warehouse-b"}'
2426
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request GET \
37-
--url http://127.0.0.1:8080/platform/content/html \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

dropwizard-dedup/keploy/test-set-0/tests/test-16.yaml

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,27 @@ spec:
88
method: GET
99
proto_major: 1
1010
proto_minor: 1
11-
url: http://127.0.0.1:8080/catalog/MISSING
11+
url: http://127.0.0.1:8080/catalog?category=electronics&limit=5
1212
header:
13-
Accept: '*/*'
14-
Host: 127.0.0.1:8080
13+
Host: '127.0.0.1:8080'
1514
User-Agent: curl/8.19.0
16-
body: ""
17-
timestamp: 2026-04-30T04:48:59Z
15+
Accept: '*/*'
16+
body: ''
17+
timestamp: 2026-04-30T18:58:47Z
1818
resp:
19-
status_code: 404
19+
status_code: 200
2020
header:
21+
Date: 'Thu, 30 Apr 2026 18:58:47 GMT'
2122
Content-Type: application/json
22-
Date: Thu, 30 Apr 2026 04:48:59 GMT
23-
body: '{"error":"not_found","status":404}'
24-
status_message: Not Found
23+
Vary: Accept-Encoding
24+
Content-Length: 281
25+
body: '{"category":"electronics","limit":5,"items":[{"sku":"EL-1","name":"Noise Cancelling Headphones","category":"electronics","status":"backorder","price":"199.99"},{"sku":"EL-2","name":"USB-C Dock","category":"electronics","status":"available","price":"89.00"}],"source":"warehouse-b"}'
26+
status_message: OK
2527
proto_major: 0
2628
proto_minor: 0
27-
timestamp: 2026-04-30T04:48:59Z
29+
timestamp: 2026-04-30T18:58:47Z
2830
objects: []
2931
assertions:
3032
noise:
31-
header.Date: []
32-
header.Vary: []
33-
created: 1777524539
34-
app_port: 8080
35-
curl: |
36-
curl --request GET \
37-
--url http://127.0.0.1:8080/catalog/MISSING \
38-
--header 'Accept: */*' \
39-
--header 'Host: 127.0.0.1:8080' \
40-
--header 'User-Agent: curl/8.19.0'
33+
header.Date: []
34+
created: 1777575527

0 commit comments

Comments
 (0)