Skip to content

Commit aba85da

Browse files
committed
Adjust tests
1 parent 56f7db2 commit aba85da

File tree

3 files changed

+53
-13
lines changed

3 files changed

+53
-13
lines changed

rest/.jvm/src/test/resources/StreamingRestTestApi.json

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,27 @@
66
"description": "Some test REST API"
77
},
88
"paths": {
9-
"/emptyStream": {
10-
"get": {
11-
"operationId": "emptyStream",
9+
"/errorStream": {
10+
"post": {
11+
"operationId": "errorStream",
12+
"requestBody": {
13+
"content": {
14+
"application/json": {
15+
"schema": {
16+
"type": "object",
17+
"properties": {
18+
"immediate": {
19+
"type": "boolean"
20+
}
21+
},
22+
"required": [
23+
"immediate"
24+
]
25+
}
26+
}
27+
},
28+
"required": true
29+
},
1230
"responses": {
1331
"200": {
1432
"description": "Success",
@@ -17,8 +35,7 @@
1735
"schema": {
1836
"type": "array",
1937
"items": {
20-
"type": "integer",
21-
"format": "int32"
38+
"$ref": "#/components/schemas/RestEntity"
2239
}
2340
}
2441
}
@@ -50,6 +67,18 @@
5067
"/simpleStream": {
5168
"get": {
5269
"operationId": "simpleStream",
70+
"parameters": [
71+
{
72+
"name": "size",
73+
"in": "query",
74+
"required": true,
75+
"explode": false,
76+
"schema": {
77+
"type": "integer",
78+
"format": "int32"
79+
}
80+
}
81+
],
5382
"responses": {
5483
"200": {
5584
"description": "Success",
@@ -58,7 +87,8 @@
5887
"schema": {
5988
"type": "array",
6089
"items": {
61-
"type": "string"
90+
"type": "integer",
91+
"format": "int32"
6292
}
6393
}
6494
}

rest/src/test/scala/io/udash/rest/RestApiTest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ trait RestApiTestScenarios extends RestApiTest {
149149
trait StreamingRestApiTestScenarios extends RestApiTest {
150150

151151
"empty GET stream" in {
152-
testStream(_.emptyStream)
152+
testStream(_.simpleStream(0))
153153
}
154154

155155
"trivial GET stream" in {
156-
testStream(_.simpleStream)
156+
testStream(_.simpleStream(5))
157157
}
158158

159159
"json GET stream" in {
Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,39 @@
11
package io.udash
22
package rest
33

4+
import io.udash.rest.raw.HttpErrorException
45
import monix.execution.Scheduler
56
import monix.reactive.Observable
67

78
trait StreamingRestTestApi {
8-
@GET def emptyStream: Observable[Int]
9-
10-
@GET def simpleStream: Observable[String]
9+
@GET def simpleStream(size: Int): Observable[Int]
1110

1211
@GET def jsonStream: Observable[RestEntity]
12+
13+
@POST def errorStream(immediate: Boolean): Observable[RestEntity]
1314
}
1415
object StreamingRestTestApi extends DefaultRestApiCompanion[StreamingRestTestApi] {
1516

1617
import Scheduler.Implicits.global
1718

1819
final class Impl extends StreamingRestTestApi {
19-
override def emptyStream: Observable[Int] = Observable.empty
2020

21-
override def simpleStream: Observable[String] = Observable("a", "b", "c")
21+
override def simpleStream(size: Int): Observable[Int] =
22+
Observable.fromIterable(Range(0, size))
2223

2324
override def jsonStream: Observable[RestEntity] = Observable(
2425
RestEntity(RestEntityId("1"), "first"),
2526
RestEntity(RestEntityId("2"), "second"),
2627
RestEntity(RestEntityId("3"), "third")
2728
)
29+
30+
override def errorStream(immediate: Boolean): Observable[RestEntity] =
31+
if (immediate)
32+
Observable.raiseError(HttpErrorException.plain(400, "bad"))
33+
else
34+
Observable.fromIterable(Range(0, 3)).map { i =>
35+
if (i < 2) RestEntity(RestEntityId(i.toString), "first")
36+
else throw HttpErrorException.plain(400, "later bad")
37+
}
2838
}
2939
}

0 commit comments

Comments
 (0)