Skip to content

Commit 2491210

Browse files
committed
feat(spec): Add Operation record
1 parent f615adf commit 2491210

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.retailsvc.http.spec;
2+
3+
import java.util.List;
4+
import java.util.Map;
5+
import java.util.Optional;
6+
7+
public record Operation(
8+
String operationId,
9+
HttpMethod method,
10+
PathTemplate path,
11+
Optional<RequestBody> requestBody,
12+
List<Parameter> parameters,
13+
Map<String, Response> responses) {}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.retailsvc.http.spec;
2+
3+
import static org.assertj.core.api.Assertions.assertThat;
4+
5+
import com.retailsvc.http.spec.schema.BooleanSchema;
6+
import com.retailsvc.http.spec.schema.TypeName;
7+
import java.util.List;
8+
import java.util.Map;
9+
import java.util.Optional;
10+
import java.util.Set;
11+
import org.junit.jupiter.api.Test;
12+
13+
class OperationTest {
14+
@Test
15+
void operationCarriesAllFields() {
16+
var path = PathTemplate.compile("/users/{id}");
17+
var param =
18+
new Parameter(
19+
"id", Parameter.Location.PATH, true, new BooleanSchema(Set.of(TypeName.BOOLEAN)));
20+
Operation op =
21+
new Operation("get-user", HttpMethod.GET, path, Optional.empty(), List.of(param), Map.of());
22+
assertThat(op.operationId()).isEqualTo("get-user");
23+
assertThat(op.method()).isEqualTo(HttpMethod.GET);
24+
assertThat(op.parameters()).hasSize(1);
25+
}
26+
}

0 commit comments

Comments
 (0)