Skip to content

Commit a05ae33

Browse files
author
Matheus Cruz
committed
Sort imports to avoid pipeline errors
1 parent 9e51816 commit a05ae33

File tree

18 files changed

+341
-128
lines changed

18 files changed

+341
-128
lines changed

moqu/core/src/main/java/io/quarkiverse/openapi/moqu/Moqu.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package io.quarkiverse.openapi.moqu;
22

3-
import io.quarkiverse.openapi.moqu.model.RequestResponsePair;
4-
53
import java.util.ArrayList;
64
import java.util.Collections;
75
import java.util.List;
86
import java.util.Objects;
97

8+
import io.quarkiverse.openapi.moqu.model.RequestResponsePair;
9+
1010
/**
1111
* Represents a collection of request-response pairs, providing methods to access
1212
* these pairs in an immutable list.
@@ -34,4 +34,4 @@ public Moqu(List<RequestResponsePair> requestResponsePairs) {
3434
public List<RequestResponsePair> getRequestResponsePairs() {
3535
return Collections.unmodifiableList(requestResponsePairs);
3636
}
37-
}
37+
}

moqu/core/src/main/java/io/quarkiverse/openapi/moqu/SchemaReader.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package io.quarkiverse.openapi.moqu;
22

3-
import com.fasterxml.jackson.core.JsonProcessingException;
4-
import io.quarkiverse.openapi.moqu.marshall.ObjectMapperFactory;
5-
import io.swagger.v3.oas.models.media.Schema;
3+
import static io.swagger.v3.parser.util.SchemaTypeUtil.OBJECT_TYPE;
64

75
import java.util.HashMap;
86
import java.util.Map;
97
import java.util.Optional;
108

11-
import static io.swagger.v3.parser.util.SchemaTypeUtil.OBJECT_TYPE;
9+
import com.fasterxml.jackson.core.JsonProcessingException;
10+
11+
import io.quarkiverse.openapi.moqu.marshall.ObjectMapperFactory;
12+
import io.swagger.v3.oas.models.media.Schema;
1213

1314
/**
1415
* Utility class for reading schema examples and converting them into JSON representations.
@@ -60,4 +61,4 @@ private static Map<String, Object> mapObjectExample(Schema<?> schema) {
6061

6162
return currentRoot;
6263
}
63-
}
64+
}

moqu/core/src/test/java/io/quarkiverse/openapi/moqu/OpenAPIMoquImporterTest.java

Lines changed: 12 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.quarkiverse.openapi.moqu;
22

3+
import static io.quarkiverse.openapi.moqu.Testing.readContentFromFile;
4+
35
import java.util.List;
46
import java.util.Map;
57

@@ -18,36 +20,8 @@ class OpenAPIMoquImporterTest {
1820
@DisplayName("Should create a new definition from OpenAPI specification")
1921
void shouldCreateANewDefinitionFromOpenAPISpecification() {
2022
// act
21-
Moqu moqu = sut.parse("""
22-
openapi: 3.0.3
23-
info:
24-
title: "Users API"
25-
version: 1.0.0-alpha
26-
servers:
27-
- url: http://localhost:8888
28-
paths:
29-
/users/{id}:
30-
get:
31-
description: Get user by ID
32-
parameters:
33-
- name: id
34-
in: path
35-
required: true
36-
schema:
37-
type: number
38-
examples:
39-
john:
40-
value: 1
41-
responses:
42-
"200":
43-
description: Ok
44-
content:
45-
"application/json":
46-
examples:
47-
john:
48-
value:
49-
'{"id": 1, "name": "John Doe"}'
50-
""");
23+
String content = readContentFromFile("wiremock/one_example_in_the_same_path.yml");
24+
Moqu moqu = sut.parse(content);
5125

5226
// assert
5327
SoftAssertions.assertSoftly(softly -> {
@@ -67,6 +41,7 @@ void shouldCreateANewDefinitionFromOpenAPISpecification() {
6741
}
6842

6943
@Test
44+
@DisplayName("Should throws exception when the OpenAPI is invalid")
7045
void shouldThrowsExceptionWhenTheOpenAPIIsInvalid() {
7146
// act, assert
7247
Assertions.assertThrows(IllegalArgumentException.class, () -> {
@@ -83,41 +58,8 @@ void shouldThrowsExceptionWhenTheOpenAPIIsInvalid() {
8358
void shouldHandleOpenAPIWithTwoPathParams() {
8459

8560
// act
86-
Moqu moqu = sut.parse("""
87-
openapi: 3.0.3
88-
info:
89-
title: "Users API"
90-
version: 1.0.0-alpha
91-
servers:
92-
- url: http://localhost:8888
93-
paths:
94-
/users/{userId}:
95-
get:
96-
description: Get user by ID
97-
parameters:
98-
- name: userId
99-
in: path
100-
required: true
101-
schema:
102-
type: number
103-
examples:
104-
john:
105-
value: 1
106-
mary:
107-
value: 2
108-
responses:
109-
"200":
110-
description: Ok
111-
content:
112-
"application/json":
113-
examples:
114-
john:
115-
value:
116-
'{"id": 1, "name": "John Doe"}'
117-
mary:
118-
value:
119-
'{"id": 2, "name": "Mary Doe"}'
120-
""");
61+
String content = readContentFromFile("wiremock/two_examples_in_the_same_path.yml");
62+
Moqu moqu = sut.parse(content);
12163

12264
// assert
12365
SoftAssertions.assertSoftly(softly -> {
@@ -141,7 +83,7 @@ void shouldHandleOpenAPIWithTwoPathParams() {
14183
@Test
14284
@DisplayName("Should generate a response from ref")
14385
void shouldGenerateAResponseFromRef() {
144-
String content = Testing.readContentFromFile("wiremock/response_from_ref.yml");
86+
String content = readContentFromFile("wiremock/response_from_ref.yml");
14587

14688
Moqu moqu = sut.parse(content);
14789

@@ -165,7 +107,7 @@ void shouldGenerateAResponseFromRef() {
165107
@Test
166108
@DisplayName("Should generate a response from ref as array")
167109
void shouldGenerateAResponseFromRefAsArray() {
168-
String content = Testing.readContentFromFile("wiremock/response_from_ref_array.yml");
110+
String content = readContentFromFile("wiremock/response_from_ref_array.yml");
169111
Moqu moqu = sut.parse(content);
170112
SoftAssertions.assertSoftly(softly -> {
171113
softly.assertThat(moqu.getRequestResponsePairs()).isNotEmpty();
@@ -187,7 +129,7 @@ void shouldGenerateAResponseFromRefAsArray() {
187129
@Test
188130
@DisplayName("Should generate a response from $ref and with no $ref")
189131
void shouldGenerateAResponseFromRefAndNoRef() {
190-
String content = Testing.readContentFromFile("wiremock/response_from_ref_and_noref.yml");
132+
String content = readContentFromFile("wiremock/response_from_ref_and_noref.yml");
191133
Moqu moqu = sut.parse(content);
192134
SoftAssertions.assertSoftly(softly -> {
193135
softly.assertThat(moqu.getRequestResponsePairs()).isNotEmpty();
@@ -213,9 +155,9 @@ void shouldGenerateAResponseFromRefAndNoRef() {
213155
}
214156

215157
@Test
216-
@DisplayName("Should generate a response from ref as array")
158+
@DisplayName("Should generate a full OpenAPI specification")
217159
void shouldGenerateAFullResponse() {
218-
String content = Testing.readContentFromFile("wiremock/complete.yml");
160+
String content = readContentFromFile("wiremock/full.yml");
219161
Moqu moqu = sut.parse(content);
220162
SoftAssertions.assertSoftly(softly -> {
221163
softly.assertThat(moqu.getRequestResponsePairs()).isNotEmpty();

moqu/core/src/test/java/io/quarkiverse/openapi/moqu/wiremock/mapper/WiremockMapperTest.java

Lines changed: 9 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package io.quarkiverse.openapi.moqu.wiremock.mapper;
22

3+
import static io.quarkiverse.openapi.moqu.Testing.readContentFromFile;
4+
35
import java.util.List;
46

57
import org.assertj.core.api.SoftAssertions;
8+
import org.junit.jupiter.api.DisplayName;
69
import org.junit.jupiter.api.Test;
710

811
import io.quarkiverse.openapi.moqu.Moqu;
912
import io.quarkiverse.openapi.moqu.OpenAPIMoquImporter;
10-
import io.quarkiverse.openapi.moqu.Testing;
1113
import io.quarkiverse.openapi.moqu.wiremock.model.WiremockDefinition;
1214

1315
class WiremockMapperTest {
@@ -16,68 +18,31 @@ class WiremockMapperTest {
1618
private final WiremockMapper sut = new WiremockMapper();
1719

1820
@Test
21+
@DisplayName("Should map one Wiremock definition")
1922
void shouldMapOneWiremockDefinition() {
20-
String content = Testing.readContentFromFile("wiremock/mapper/should_map_one_wiremock_definition.yml");
23+
String content = readContentFromFile("wiremock/mapper/should_map_one_wiremock_definition.yml");
2124

2225
Moqu moqu = importer.parse(content);
2326

2427
List<WiremockDefinition> definitions = sut.map(moqu);
2528

2629
SoftAssertions.assertSoftly(softly -> {
2730
softly.assertThat(definitions).isNotEmpty();
28-
softly.assertThat(definitions).hasSize(2);
31+
softly.assertThat(definitions).hasSize(1);
2932
softly.assertThat(definitions).anySatisfy(definition -> {
3033
softly.assertThat(definition.request().method()).isEqualTo("GET");
3134
softly.assertThat(definition.request().url()).isEqualTo("/users/1");
3235
softly.assertThat(definition.response().body()).isEqualTo("{\"id\": 1, \"name\": \"John Doe\"}");
3336
});
34-
35-
softly.assertThat(definitions).anySatisfy(definition -> {
36-
softly.assertThat(definition.request().method()).isEqualTo("GET");
37-
softly.assertThat(definition.request().url()).isEqualTo("/users/2");
38-
softly.assertThat(definition.response().body()).isEqualTo("{\"id\": 2, \"name\": \"Mary Doe\"}");
39-
});
4037
});
4138
}
4239

4340
@Test
41+
@DisplayName("Should map two Wiremock definitions")
4442
void shouldMapTwoWiremockDefinitions() {
43+
String content = readContentFromFile("wiremock/mapper/should_map_two_wiremock_definition.yml");
4544

46-
Moqu mock = importer.parse("""
47-
openapi: 3.0.3
48-
info:
49-
title: "Users API"
50-
version: 1.0.0-alpha
51-
servers:
52-
- url: http://localhost:8888
53-
paths:
54-
/users/{userId}:
55-
get:
56-
description: Get user by ID
57-
parameters:
58-
- name: userId
59-
in: path
60-
required: true
61-
schema:
62-
type: number
63-
examples:
64-
john:
65-
value: 1
66-
mary:
67-
value: 2
68-
responses:
69-
"200":
70-
description: Ok
71-
content:
72-
"application/json":
73-
examples:
74-
john:
75-
value:
76-
'{"id": 1, "name": "John Doe"}'
77-
mary:
78-
value:
79-
'{"id": 2, "name": "Mary Doe"}'
80-
""");
45+
Moqu mock = importer.parse(content);
8146

8247
List<WiremockDefinition> definitions = sut.map(mock);
8348

moqu/core/src/test/resources/wiremock/mapper/should_map_one_wiremock_definition.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ paths:
1717
examples:
1818
john:
1919
value: 1
20-
mary:
21-
value: 2
2220
responses:
2321
"200":
2422
description: Ok
@@ -27,7 +25,4 @@ paths:
2725
examples:
2826
john:
2927
value:
30-
'{"id": 1, "name": "John Doe"}'
31-
mary:
32-
value:
33-
'{"id": 2, "name": "Mary Doe"}'
28+
'{"id": 1, "name": "John Doe"}'
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
openapi: 3.0.3
2+
info:
3+
title: "Users API"
4+
version: 1.0.0-alpha
5+
servers:
6+
- url: http://localhost:8888
7+
paths:
8+
/users/{userId}:
9+
get:
10+
description: Get user by ID
11+
parameters:
12+
- name: userId
13+
in: path
14+
required: true
15+
schema:
16+
type: number
17+
examples:
18+
john:
19+
value: 1
20+
mary:
21+
value: 2
22+
responses:
23+
"200":
24+
description: Ok
25+
content:
26+
"application/json":
27+
examples:
28+
john:
29+
value:
30+
'{"id": 1, "name": "John Doe"}'
31+
mary:
32+
value:
33+
'{"id": 2, "name": "Mary Doe"}'
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
openapi: 3.0.3
2+
info:
3+
title: "Users API"
4+
version: 1.0.0-alpha
5+
servers:
6+
- url: http://localhost:8888
7+
paths:
8+
/users/{id}:
9+
get:
10+
description: Get user by ID
11+
parameters:
12+
- name: id
13+
in: path
14+
required: true
15+
schema:
16+
type: number
17+
examples:
18+
john:
19+
value: 1
20+
responses:
21+
"200":
22+
description: Ok
23+
content:
24+
"application/json":
25+
examples:
26+
john:
27+
value:
28+
'{"id": 1, "name": "John Doe"}'
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
openapi: 3.0.3
2+
info:
3+
title: "Users API"
4+
version: 1.0.0-alpha
5+
servers:
6+
- url: http://localhost:8888
7+
paths:
8+
/users/{userId}:
9+
get:
10+
description: Get user by ID
11+
parameters:
12+
- name: userId
13+
in: path
14+
required: true
15+
schema:
16+
type: number
17+
examples:
18+
john:
19+
value: 1
20+
mary:
21+
value: 2
22+
responses:
23+
"200":
24+
description: Ok
25+
content:
26+
"application/json":
27+
examples:
28+
john:
29+
value:
30+
'{"id": 1, "name": "John Doe"}'
31+
mary:
32+
value:
33+
'{"id": 2, "name": "Mary Doe"}'

0 commit comments

Comments
 (0)