Skip to content

Commit b7379db

Browse files
committed
Capture & Replay Integration Test for GroupMemberService
Also fix wrong JSON property mapping. Signed-off-by: Sven Strittmatter <sven.strittmatter@iteratec.com>
1 parent 7b9befc commit b7379db

File tree

3 files changed

+122
-5
lines changed

3 files changed

+122
-5
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/model/GroupMember.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public final class GroupMember implements Model {
2020
@JsonProperty
2121
private long id;
2222

23-
@JsonProperty("group_id")
23+
@JsonProperty
2424
private long group;
2525

26-
@JsonProperty("user_id")
26+
@JsonProperty
2727
private long user;
2828

2929
@JsonProperty
Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,81 @@
11
package io.securecodebox.persistence.defectdojo.service;
22

3+
import io.securecodebox.persistence.defectdojo.model.GroupMember;
34
import org.junit.jupiter.api.Test;
45

5-
import static org.junit.jupiter.api.Assertions.*;
6+
import java.io.IOException;
7+
import java.net.URISyntaxException;
8+
9+
import static com.github.tomakehurst.wiremock.client.WireMock.*;
610
import static org.hamcrest.MatcherAssert.assertThat;
7-
import static org.hamcrest.Matchers.*;
11+
import static org.hamcrest.Matchers.containsInAnyOrder;
12+
import static org.hamcrest.Matchers.hasSize;
13+
import static org.junit.jupiter.api.Assertions.assertAll;
814

915
/**
1016
* Tests for {@link GroupMemberService}
1117
*/
1218
final class GroupMemberServiceTest extends WireMockBaseTestCase {
1319
private final GroupMemberService sut = new GroupMemberService(conf());
20+
21+
@Test
22+
void search() throws URISyntaxException, IOException {
23+
stubFor(
24+
get("/api/v2/dojo_group_members/?offset=0&limit=100")
25+
.willReturn(
26+
ok()
27+
.withBody(readResponseBodyFromFixture("GroupMemberService_response_fixture.json"))
28+
)
29+
);
30+
31+
final var result = sut.search();
32+
33+
assertAll(
34+
() -> assertThat(result, hasSize(7)),
35+
() -> assertThat(result, containsInAnyOrder(
36+
GroupMember.builder()
37+
.id(10)
38+
.group(10)
39+
.user(4)
40+
.role(3)
41+
.build(),
42+
GroupMember.builder()
43+
.id(1)
44+
.group(1)
45+
.user(2)
46+
.role(3)
47+
.build(),
48+
GroupMember.builder()
49+
.id(9)
50+
.group(9)
51+
.user(4)
52+
.role(3)
53+
.build(),
54+
GroupMember.builder()
55+
.id(4)
56+
.group(4)
57+
.user(4)
58+
.role(3)
59+
.build(),
60+
GroupMember.builder()
61+
.id(12)
62+
.group(1)
63+
.user(4)
64+
.role(3)
65+
.build(),
66+
GroupMember.builder()
67+
.id(6)
68+
.group(6)
69+
.user(4)
70+
.role(3)
71+
.build(),
72+
GroupMember.builder()
73+
.id(14)
74+
.group(1)
75+
.user(5)
76+
.role(3)
77+
.build()
78+
))
79+
);
80+
}
1481
}
Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,51 @@
1-
{}
1+
{
2+
"count": 7,
3+
"next": null,
4+
"previous": null,
5+
"results": [
6+
{
7+
"id": 10,
8+
"group": 10,
9+
"user": 4,
10+
"role": 3
11+
},
12+
{
13+
"id": 1,
14+
"group": 1,
15+
"user": 2,
16+
"role": 3
17+
},
18+
{
19+
"id": 9,
20+
"group": 9,
21+
"user": 4,
22+
"role": 3
23+
},
24+
{
25+
"id": 4,
26+
"group": 4,
27+
"user": 4,
28+
"role": 3
29+
},
30+
{
31+
"id": 12,
32+
"group": 1,
33+
"user": 4,
34+
"role": 3
35+
},
36+
{
37+
"id": 6,
38+
"group": 6,
39+
"user": 4,
40+
"role": 3
41+
},
42+
{
43+
"id": 14,
44+
"group": 1,
45+
"user": 5,
46+
"role": 3
47+
}
48+
],
49+
"prefetch": {}
50+
}
51+

0 commit comments

Comments
 (0)