-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathDescribeStreamConsumerTests.scala
44 lines (40 loc) · 1.44 KB
/
DescribeStreamConsumerTests.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package kinesis.mock
import cats.effect.IO
import software.amazon.awssdk.services.kinesis.model._
import kinesis.mock.instances.arbitrary._
import kinesis.mock.syntax.javaFuture._
import kinesis.mock.syntax.scalacheck._
class DescribeStreamConsumerTests extends AwsFunctionalTests {
fixture.test("It should describe a stream consumer") { resources =>
for {
consumerName <- IO(consumerNameGen.one.consumerName)
streamSummary <- describeStreamSummary(resources)
streamArn = streamSummary.streamDescriptionSummary().streamARN()
registerRes <- resources.kinesisClient
.registerStreamConsumer(
RegisterStreamConsumerRequest
.builder()
.streamARN(streamArn)
.consumerName(consumerName)
.build()
)
.toIO
res <- describeStreamConsumer(resources, consumerName, streamArn)
} yield assert(
res
.consumerDescription()
.consumerARN == registerRes.consumer().consumerARN() &&
res
.consumerDescription()
.consumerName == registerRes.consumer().consumerName() &&
res.consumerDescription().consumerCreationTimestamp == registerRes
.consumer()
.consumerCreationTimestamp() &&
res
.consumerDescription()
.consumerStatus == registerRes.consumer().consumerStatus() &&
res.consumerDescription().streamARN() == streamArn,
s"$res\n$registerRes"
)
}
}