@@ -146,7 +146,7 @@ private void assertThrowsQueryIsClosed(ThrowingRunnable runnable) {
146
146
}
147
147
148
148
@ Test
149
- public void useAfterStoreClose_fails () {
149
+ public void useAfterStoreClose_failsIfUsingStore () {
150
150
Query <TestEntity > query = box .query (
151
151
simpleString .equal ("" )
152
152
.and (stringObjectMap .containsKeyValue ("" , "" ))
@@ -172,23 +172,34 @@ public void useAfterStoreClose_fails() {
172
172
assertThrowsStoreIsClosed (query ::remove );
173
173
assertThrowsStoreIsClosed (() -> query .subscribe ().observer (data -> {
174
174
}));
175
- assertThrowsStoreIsClosed (query ::describe );
176
- assertThrowsStoreIsClosed (query ::describeParameters );
177
- assertThrowsStoreIsClosed (() -> query .setParameter (simpleString , "value" ));
178
- assertThrowsStoreIsClosed (() -> query .setParameters (stringObjectMap , "a" , "b" ));
179
- assertThrowsStoreIsClosed (() -> query .setParameter (simpleInt , 1 ));
180
- assertThrowsStoreIsClosed (() -> query .setParameters ("oneOf4" , new int []{1 , 2 }));
181
- assertThrowsStoreIsClosed (() -> query .setParameters ("oneOf8" , new long []{1 , 2 }));
182
- assertThrowsStoreIsClosed (() -> query .setParameters ("between" , 1 , 2 ));
183
- assertThrowsStoreIsClosed (() -> query .setParameter (simpleInt , 1.0 ));
184
- assertThrowsStoreIsClosed (() -> query .setParameters ("between" , 1.0 , 2.0 ));
185
- assertThrowsStoreIsClosed (() -> query .setParameters ("oneOfS" , new String []{"a" , "b" }));
186
- assertThrowsStoreIsClosed (() -> query .setParameter (simpleByteArray , new byte []{1 , 2 }));
175
+
176
+ // describe works, but returns no property info.
177
+ assertEquals ("Query for entity <deleted entity type> with 15 conditions" , query .describe ());
178
+ // describeParameters does not work.
179
+ IllegalStateException exc = assertThrows (IllegalStateException .class , query ::describeParameters );
180
+ assertEquals ("Query cannot be used after entity type was deleted (e.g. store was closed)" , exc .getMessage ());
181
+
182
+ // setParameter throws.
183
+ assertThrowsEntityDeleted (() -> query .setParameter (simpleString , "value" ));
184
+ assertThrowsEntityDeleted (() -> query .setParameters (stringObjectMap , "a" , "b" ));
185
+ assertThrowsEntityDeleted (() -> query .setParameter (simpleInt , 1 ));
186
+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOf4" , new int []{1 , 2 }));
187
+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOf8" , new long []{1 , 2 }));
188
+ assertThrowsEntityDeleted (() -> query .setParameters ("between" , 1 , 2 ));
189
+ assertThrowsEntityDeleted (() -> query .setParameter (simpleInt , 1.0 ));
190
+ assertThrowsEntityDeleted (() -> query .setParameters ("between" , 1.0 , 2.0 ));
191
+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOfS" , new String []{"a" , "b" }));
192
+ assertThrowsEntityDeleted (() -> query .setParameter (simpleByteArray , new byte []{1 , 2 }));
187
193
}
188
194
189
195
private void assertThrowsStoreIsClosed (ThrowingRunnable runnable ) {
190
196
IllegalStateException ex = assertThrows (IllegalStateException .class , runnable );
191
- assertEquals ("The store associated with this query is closed. Build and use a new one." , ex .getMessage ());
197
+ assertEquals ("Store is closed" , ex .getMessage ());
198
+ }
199
+
200
+ private void assertThrowsEntityDeleted (ThrowingRunnable runnable ) {
201
+ IllegalStateException ex = assertThrows (IllegalStateException .class , runnable );
202
+ assertEquals ("Query cannot be used after entity type was deleted (e.g. store was closed)" , ex .getMessage ());
192
203
}
193
204
194
205
@ Test
0 commit comments