8
8
9
9
import java .util .Map ;
10
10
11
- import static org .assertj .core .api .Assertions .* ;
11
+ import static org .assertj .core .api .Assertions .assertThat ;
12
12
13
13
public class CypherParametersProviderTest extends BaseIntegrationTest {
14
14
15
15
private class TestParametersProvider implements ParametersProvider {
16
16
17
- private String parametersJson ;
17
+ private String globalParametersJson ;
18
+ private String fileSpecificParametersJson ;
18
19
19
20
@ Override
20
- public String getParametersJson () {
21
- return parametersJson ;
21
+ public String getGlobalParametersJson () {
22
+ return globalParametersJson ;
22
23
}
23
24
24
- public void setParametersJson (String parametersJson ) {
25
- this .parametersJson = parametersJson ;
25
+ @ Override
26
+ public String getFileSpecificParametersJson () {
27
+ return fileSpecificParametersJson ;
28
+ }
29
+
30
+ public void setGlobalParametersJson (String parametersJson ) {
31
+ this .globalParametersJson = parametersJson ;
32
+ }
33
+
34
+ public void setFileSpecificParametersJson (String fileSpecificParametersJson ) {
35
+ this .fileSpecificParametersJson = fileSpecificParametersJson ;
26
36
}
27
37
}
28
38
@@ -38,44 +48,74 @@ public void setUp() throws Exception {
38
48
}
39
49
40
50
public void testParsingEmptyJsonObject () throws Exception {
41
- parametersProvider .setParametersJson ("{}" );
51
+ parametersProvider .setGlobalParametersJson ("{}" );
52
+ parametersProvider .setFileSpecificParametersJson ("{}" );
42
53
Map <String , Object > parameters = parametersService .getParameters (getPsiFile ("RETURN $param" ));
43
54
assertThat (parameters ).isEmpty ();
44
55
}
45
56
46
57
public void testParsingEmptyParameters () throws Exception {
47
- parametersProvider .setParametersJson ("" );
58
+ parametersProvider .setGlobalParametersJson ("" );
59
+ parametersProvider .setFileSpecificParametersJson ("" );
48
60
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
49
-
50
61
assertThat (result ).isEmpty ();
51
62
}
52
63
64
+ public void testParsingEmptyGlobalParameters () throws Exception {
65
+ parametersProvider .setGlobalParametersJson ("" );
66
+ parametersProvider .setFileSpecificParametersJson ("{\" param\" : \" non-empty\" }" );
67
+ Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
68
+ assertThat (result ).containsEntry ("param" , "non-empty" );
69
+ }
70
+
71
+ public void testParsingEmptyFileSpecificParameters () throws Exception {
72
+ parametersProvider .setGlobalParametersJson ("{\" param\" : \" non-empty\" }" );
73
+ parametersProvider .setFileSpecificParametersJson ("" );
74
+ Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
75
+ assertThat (result ).containsEntry ("param" , "non-empty" );
76
+ }
77
+
78
+
79
+ public void testParsingEmptyJsonInGlobalParameters () throws Exception {
80
+ parametersProvider .setGlobalParametersJson ("{}" );
81
+ parametersProvider .setFileSpecificParametersJson ("{\" param\" : \" non-empty\" }" );
82
+ Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
83
+ assertThat (result ).containsEntry ("param" , "non-empty" );
84
+ }
85
+
86
+ public void testParsingEmptyJsonInFileSpecificParameters () throws Exception {
87
+ parametersProvider .setGlobalParametersJson ("{\" param\" : \" non-empty\" }" );
88
+ parametersProvider .setFileSpecificParametersJson ("{}" );
89
+ Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
90
+ assertThat (result ).containsEntry ("param" , "non-empty" );
91
+ }
92
+
53
93
public void testParsingStringParameter () throws Exception {
54
- parametersProvider .setParametersJson ("{\" name\" : \" Anna\" }" );
94
+ parametersProvider .setGlobalParametersJson ("{\" name\" : \" Anna\" }" );
55
95
Map <String , Object > result = parametersService
56
96
.getParameters (getPsiFile ("match (p:Person) where p.name = $name return *" ));
57
97
58
98
assertThat (result ).containsEntry ("name" , "Anna" );
59
99
}
60
100
61
101
public void testParsingIntegerParameter () throws Exception {
62
- parametersProvider .setParametersJson ("{\" p1\" : 17}" );
102
+ parametersProvider .setGlobalParametersJson ("{\" p1\" : 17}" );
63
103
Map <String , Object > result = parametersService
64
104
.getParameters (getPsiFile ("match (p:Person) where p.age = $p1 return *" ));
65
105
66
106
assertThat (result ).containsEntry ("p1" , 17 );
67
107
}
68
108
69
109
public void testParsingBooleanParameter () throws Exception {
70
- parametersProvider .setParametersJson ("{\" p2\" : false}" );
110
+ parametersProvider .setGlobalParametersJson ("{\" p2\" : false}" );
71
111
Map <String , Object > result = parametersService .
72
112
getParameters (getPsiFile ("match (p:Person) where p.is_citizen = $p2 return *" ));
73
113
74
114
assertThat (result ).containsEntry ("p2" , false );
75
115
}
76
116
77
117
public void testParsingJsonObjectParameter () throws Exception {
78
- parametersProvider .setParametersJson ("{\" p3\" : {\" name\" :\" Alex\" }}" );
118
+ parametersProvider .setGlobalParametersJson ("{\" p3\" : {\" name\" :\" Alex\" }}" );
79
119
Map <String , Object > result = parametersService .
80
120
getParameters (getPsiFile ("match (p:Person) where p.father = $p3 return *" ));
81
121
@@ -84,55 +124,64 @@ public void testParsingJsonObjectParameter() throws Exception {
84
124
}
85
125
86
126
public void testParsingMultipleParameters () throws Exception {
87
- parametersProvider .setParametersJson ("{\" firstName\" : \" Kaleb\" , \" lastName\" : \" Johnson\" }" );
127
+ parametersProvider .setGlobalParametersJson (
128
+ "{\" firstName\" : \" Kaleb\" , \' age\' : 35, \" city\" : \" Paris\" , \" country\" : \" France\" }"
129
+ );
130
+ parametersProvider .setFileSpecificParametersJson (
131
+ "{\" lastName\" : \" Green\" , \" age\" : 90}"
132
+ );
133
+
88
134
Map <String , Object > result = parametersService
89
135
.getParameters (getPsiFile ("match (p:Person)\n " +
90
136
"where p.first_name = $firstName " +
91
- " and p.last_name = $lastName return *" ));
92
-
137
+ " and p.last_name = $lastName " +
138
+ " and p.age = $age " +
139
+ " and p.city = $city return *" ));
93
140
assertThat (result )
94
- .hasSize (2 )
141
+ .hasSize (4 )
95
142
.containsEntry ("firstName" , "Kaleb" )
96
- .containsEntry ("lastName" , "Johnson" );
143
+ .containsEntry ("lastName" , "Green" )
144
+ .containsEntry ("age" , 90 )
145
+ .containsEntry ("city" , "Paris" );
97
146
}
98
147
99
148
public void testParsingCommentOnly () throws Exception {
100
- parametersProvider .setParametersJson ("// Provide query parameters in JSON format here:" );
149
+ parametersProvider .setGlobalParametersJson ("// Provide query parameters in JSON format here:" );
101
150
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $param" ));
102
151
103
152
assertThat (result ).isEmpty ();
104
153
}
105
154
106
155
public void testParsingCommentWithParameter () throws Exception {
107
- parametersProvider .setParametersJson ("// Provide query parameters in JSON format here:\n {\" name\" : \" Eva\" }" );
156
+ parametersProvider .setGlobalParametersJson ("// Provide query parameters in JSON format here:\n {\" name\" : \" Eva\" }" );
108
157
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $name" ));
109
158
110
159
assertThat (result ).hasSize (1 );
111
160
}
112
161
113
162
public void testParsingNumericParameter () throws Exception {
114
- parametersProvider .setParametersJson ("{\" 0\" : \" Tom\" }" );
163
+ parametersProvider .setGlobalParametersJson ("{\" 0\" : \" Tom\" }" );
115
164
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $0" ));
116
165
117
166
assertThat (result ).containsEntry ("0" , "Tom" );
118
167
}
119
168
120
169
public void testParsingOldStyleStringParameter () throws Exception {
121
- parametersProvider .setParametersJson ("{\" name\" : \" Ethan\" }" );
170
+ parametersProvider .setGlobalParametersJson ("{\" name\" : \" Ethan\" }" );
122
171
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN {name}" ));
123
172
124
173
assertThat (result ).containsEntry ("name" , "Ethan" );
125
174
}
126
175
127
176
public void testParsingOldStyleNumericParameter () throws Exception {
128
- parametersProvider .setParametersJson ("{\" 0\" : \" Simon\" }" );
177
+ parametersProvider .setGlobalParametersJson ("{\" 0\" : \" Simon\" }" );
129
178
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN {0}" ));
130
179
131
180
assertThat (result ).containsEntry ("0" , "Simon" );
132
181
}
133
182
134
183
public void testFilteringUsedParameters () throws Exception {
135
- parametersProvider .setParametersJson ("{\" firstName\" : \" Frodo\" , \" lastName\" : \" Baggins\" }" );
184
+ parametersProvider .setGlobalParametersJson ("{\" firstName\" : \" Frodo\" , \" lastName\" : \" Baggins\" }" );
136
185
Map <String , Object > result = parametersService .getParameters (getPsiFile ("RETURN $lastName" ));
137
186
138
187
assertThat (result )
@@ -142,7 +191,7 @@ public void testFilteringUsedParameters() throws Exception {
142
191
143
192
public void testParsingJsonArray () throws Exception {
144
193
try {
145
- parametersProvider .setParametersJson ("// Provide query parameters in JSON format here:\n [\" item1\" ,\" item2\" ]" );
194
+ parametersProvider .setGlobalParametersJson ("// Provide query parameters in JSON format here:\n [\" item1\" ,\" item2\" ]" );
146
195
parametersService .getParameters (getPsiFile ("return 1" ));
147
196
fail ("JsonMappingException expected because of array in parameters json expected" );
148
197
} catch (JsonMappingException e ) {
@@ -152,7 +201,7 @@ public void testParsingJsonArray() throws Exception {
152
201
153
202
public void testParsingNumber () throws Exception {
154
203
try {
155
- parametersProvider .setParametersJson ("1" );
204
+ parametersProvider .setGlobalParametersJson ("1" );
156
205
parametersService .getParameters (getPsiFile ("return 1" ));
157
206
fail ("JsonMappingException expected because of number provided instead of parameters map" );
158
207
} catch (JsonMappingException e ) {
@@ -162,7 +211,7 @@ public void testParsingNumber() throws Exception {
162
211
163
212
public void testParsingString () throws Exception {
164
213
try {
165
- parametersProvider .setParametersJson ("\" abc\" " );
214
+ parametersProvider .setGlobalParametersJson ("\" abc\" " );
166
215
parametersService .getParameters (getPsiFile ("return 1" ));
167
216
fail ("JsonMappingException expected because of string provided instead of parameters map" );
168
217
} catch (JsonMappingException e ) {
@@ -172,7 +221,7 @@ public void testParsingString() throws Exception {
172
221
173
222
public void testParsingUnwrappedParameter () throws Exception {
174
223
try {
175
- parametersProvider .setParametersJson ("\" param1\" :\" val1\" " );
224
+ parametersProvider .setGlobalParametersJson ("\" param1\" :\" val1\" " );
176
225
parametersService .getParameters (getPsiFile ("return 1" ));
177
226
fail ("JsonMappingException expected because of parameter not wrapped in curly braces" );
178
227
} catch (JsonMappingException e ) {
0 commit comments