3
3
import static org .assertj .core .api .Assertions .assertThat ;
4
4
5
5
import com .fasterxml .jackson .databind .node .ArrayNode ;
6
- import com .fasterxml .jackson .databind .node .DoubleNode ;
6
+ import com .fasterxml .jackson .databind .node .DecimalNode ;
7
7
import com .fasterxml .jackson .databind .node .IntNode ;
8
8
import com .fasterxml .jackson .databind .node .JsonNodeFactory ;
9
9
import com .fasterxml .jackson .databind .node .TextNode ;
10
10
import com .provectus .kafka .ui .AbstractIntegrationTest ;
11
- import com . provectus . kafka . ui . container . KsqlDbContainer ;
11
+ import java . math . BigDecimal ;
12
12
import java .time .Duration ;
13
- import java .util .List ;
14
13
import java .util .Map ;
15
14
import org .junit .jupiter .api .AfterAll ;
16
15
import org .junit .jupiter .api .BeforeAll ;
17
16
import org .junit .jupiter .api .Test ;
18
17
import org .testcontainers .shaded .org .awaitility .Awaitility ;
19
- import org .testcontainers .utility .DockerImageName ;
20
18
import reactor .test .StepVerifier ;
21
19
22
20
class KsqlApiClientTest extends AbstractIntegrationTest {
23
21
24
- private static final KsqlDbContainer KSQL_DB = new KsqlDbContainer (
25
- DockerImageName .parse ("confluentinc/ksqldb-server" ).withTag ("0.24.0" ))
26
- .withKafka (kafka );
27
-
28
22
@ BeforeAll
29
23
static void startContainer () {
30
24
KSQL_DB .start ();
@@ -72,7 +66,7 @@ void ksqTutorialQueriesWork() {
72
66
private void assertLastKsqTutorialQueryResult (KsqlApiClient client ) {
73
67
// expected results:
74
68
//{"header":"Schema","columnNames":[...],"values":null}
75
- //{"header":"Row","columnNames":null,"values":[[0.0 ,["4ab5cbad","8b6eae59","4a7c7b41"],3]]}
69
+ //{"header":"Row","columnNames":null,"values":[[0,["4ab5cbad","8b6eae59","4a7c7b41"],3]]}
76
70
//{"header":"Row","columnNames":null,"values":[[10.0,["18f4ea86"],1]]}
77
71
StepVerifier .create (
78
72
client .execute (
@@ -86,34 +80,26 @@ private void assertLastKsqTutorialQueryResult(KsqlApiClient client) {
86
80
assertThat (header .getValues ()).isNull ();
87
81
})
88
82
.assertNext (row -> {
89
- assertThat (row ).isEqualTo (
90
- KsqlApiClient .KsqlResponseTable .builder ()
91
- .header ("Row" )
92
- .columnNames (null )
93
- .values (List .of (List .of (
94
- new DoubleNode (0.0 ),
95
- new ArrayNode (JsonNodeFactory .instance )
96
- .add (new TextNode ("4ab5cbad" ))
97
- .add (new TextNode ("8b6eae59" ))
98
- .add (new TextNode ("4a7c7b41" )),
99
- new IntNode (3 )
100
- )))
101
- .build ()
102
- );
83
+ var distance = (DecimalNode ) row .getValues ().get (0 ).get (0 );
84
+ var riders = (ArrayNode ) row .getValues ().get (0 ).get (1 );
85
+ var count = (IntNode ) row .getValues ().get (0 ).get (2 );
86
+
87
+ assertThat (distance ).isEqualTo (new DecimalNode (new BigDecimal (0 )));
88
+ assertThat (riders ).isEqualTo (new ArrayNode (JsonNodeFactory .instance )
89
+ .add (new TextNode ("4ab5cbad" ))
90
+ .add (new TextNode ("8b6eae59" ))
91
+ .add (new TextNode ("4a7c7b41" )));
92
+ assertThat (count ).isEqualTo (new IntNode (3 ));
103
93
})
104
94
.assertNext (row -> {
105
- assertThat (row ).isEqualTo (
106
- KsqlApiClient .KsqlResponseTable .builder ()
107
- .header ("Row" )
108
- .columnNames (null )
109
- .values (List .of (List .of (
110
- new DoubleNode (10.0 ),
111
- new ArrayNode (JsonNodeFactory .instance )
112
- .add (new TextNode ("18f4ea86" )),
113
- new IntNode (1 )
114
- )))
115
- .build ()
116
- );
95
+ var distance = (DecimalNode ) row .getValues ().get (0 ).get (0 );
96
+ var riders = (ArrayNode ) row .getValues ().get (0 ).get (1 );
97
+ var count = (IntNode ) row .getValues ().get (0 ).get (2 );
98
+
99
+ assertThat (distance ).isEqualTo (new DecimalNode (new BigDecimal (10 )));
100
+ assertThat (riders ).isEqualTo (new ArrayNode (JsonNodeFactory .instance )
101
+ .add (new TextNode ("18f4ea86" )));
102
+ assertThat (count ).isEqualTo (new IntNode (1 ));
117
103
})
118
104
.verifyComplete ();
119
105
}
0 commit comments