19
19
20
20
import static com .datastax .oss .driver .api .querybuilder .Assertions .assertThat ;
21
21
import static com .datastax .oss .driver .api .querybuilder .QueryBuilder .bindMarker ;
22
+ import static com .datastax .oss .driver .api .querybuilder .QueryBuilder .literal ;
22
23
import static com .datastax .oss .driver .api .querybuilder .QueryBuilder .raw ;
23
24
import static com .datastax .oss .driver .api .querybuilder .QueryBuilder .selectFrom ;
24
25
import static com .datastax .oss .driver .api .querybuilder .QueryBuilder .tuple ;
25
26
27
+ import org .assertj .core .util .Lists ;
26
28
import org .junit .Test ;
27
29
28
30
public class RelationTest {
@@ -42,13 +44,78 @@ public void should_generate_is_not_null_relation() {
42
44
}
43
45
44
46
@ Test
45
- public void should_generate_in_relation () {
47
+ public void should_generate_contains_relation () {
48
+ assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).contains (literal (1 ))))
49
+ .hasCql ("SELECT * FROM foo WHERE k CONTAINS 1" );
50
+ }
51
+
52
+ @ Test
53
+ public void should_generate_contains_key_relation () {
54
+ assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).containsKey (literal (1 ))))
55
+ .hasCql ("SELECT * FROM foo WHERE k CONTAINS KEY 1" );
56
+ }
57
+
58
+ @ Test
59
+ public void should_generate_not_contains_relation () {
60
+ assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).notContains (literal (1 ))))
61
+ .hasCql ("SELECT * FROM foo WHERE k NOT CONTAINS 1" );
62
+ }
63
+
64
+ @ Test
65
+ public void should_generate_not_contains_key_relation () {
66
+ assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).notContainsKey (literal (1 ))))
67
+ .hasCql ("SELECT * FROM foo WHERE k NOT CONTAINS KEY 1" );
68
+ }
69
+
70
+ @ Test
71
+ public void should_generate_in_relation_bind_markers () {
46
72
assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).in (bindMarker ())))
47
73
.hasCql ("SELECT * FROM foo WHERE k IN ?" );
48
74
assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).in (bindMarker (), bindMarker ())))
49
75
.hasCql ("SELECT * FROM foo WHERE k IN (?,?)" );
50
76
}
51
77
78
+ @ Test
79
+ public void should_generate_in_relation_terms () {
80
+ assertThat (
81
+ selectFrom ("foo" )
82
+ .all ()
83
+ .where (
84
+ Relation .column ("k" )
85
+ .in (Lists .newArrayList (literal (1 ), literal (2 ), literal (3 )))))
86
+ .hasCql ("SELECT * FROM foo WHERE k IN (1,2,3)" );
87
+ assertThat (
88
+ selectFrom ("foo" )
89
+ .all ()
90
+ .where (Relation .column ("k" ).in (literal (1 ), literal (2 ), literal (3 ))))
91
+ .hasCql ("SELECT * FROM foo WHERE k IN (1,2,3)" );
92
+ }
93
+
94
+ @ Test
95
+ public void should_generate_not_in_relation_bind_markers () {
96
+ assertThat (selectFrom ("foo" ).all ().where (Relation .column ("k" ).notIn (bindMarker ())))
97
+ .hasCql ("SELECT * FROM foo WHERE k NOT IN ?" );
98
+ assertThat (
99
+ selectFrom ("foo" ).all ().where (Relation .column ("k" ).notIn (bindMarker (), bindMarker ())))
100
+ .hasCql ("SELECT * FROM foo WHERE k NOT IN (?,?)" );
101
+ }
102
+
103
+ @ Test
104
+ public void should_generate_not_in_relation_terms () {
105
+ assertThat (
106
+ selectFrom ("foo" )
107
+ .all ()
108
+ .where (
109
+ Relation .column ("k" )
110
+ .notIn (Lists .newArrayList (literal (1 ), literal (2 ), literal (3 )))))
111
+ .hasCql ("SELECT * FROM foo WHERE k NOT IN (1,2,3)" );
112
+ assertThat (
113
+ selectFrom ("foo" )
114
+ .all ()
115
+ .where (Relation .column ("k" ).notIn (literal (1 ), literal (2 ), literal (3 ))))
116
+ .hasCql ("SELECT * FROM foo WHERE k NOT IN (1,2,3)" );
117
+ }
118
+
52
119
@ Test
53
120
public void should_generate_token_relation () {
54
121
assertThat (selectFrom ("foo" ).all ().where (Relation .token ("k1" , "k2" ).isEqualTo (bindMarker ("t" ))))
0 commit comments