@@ -181,6 +181,12 @@ public void testDropIndex(){
181
181
c .dropIndexes ();
182
182
assertEquals ( 1 , c .getIndexInfo ().size () );
183
183
184
+ c .createIndex ( new BasicDBObject ( "x" , 1 ) );
185
+ assertEquals ( 2 , c .getIndexInfo ().size () );
186
+
187
+ c .dropIndexes ();
188
+ assertEquals ( 1 , c .getIndexInfo ().size () );
189
+
184
190
c .ensureIndex ( new BasicDBObject ( "x" , 1 ) );
185
191
assertEquals ( 2 , c .getIndexInfo ().size () );
186
192
@@ -190,6 +196,18 @@ public void testDropIndex(){
190
196
c .dropIndex ( new BasicDBObject ( "x" , 1 ) );
191
197
assertEquals ( 2 , c .getIndexInfo ().size () );
192
198
199
+ c .dropIndexes ();
200
+ assertEquals ( 1 , c .getIndexInfo ().size () );
201
+
202
+ c .createIndex ( new BasicDBObject ( "x" , 1 ) );
203
+ assertEquals ( 2 , c .getIndexInfo ().size () );
204
+
205
+ c .createIndex ( new BasicDBObject ( "y" , 1 ) );
206
+ assertEquals ( 3 , c .getIndexInfo ().size () );
207
+
208
+ c .dropIndex ( new BasicDBObject ( "x" , 1 ) );
209
+ assertEquals ( 2 , c .getIndexInfo ().size () );
210
+ c .dropIndexes ();
193
211
}
194
212
195
213
@ Test
@@ -246,7 +264,15 @@ public void testEnsureIndex(){
246
264
247
265
c .ensureIndex ( new BasicDBObject ( "x" , 1 ) , new BasicDBObject ( "unique" , true ) );
248
266
assertEquals ( 2 , c .getIndexInfo ().size () );
249
- assertEquals ( Boolean .TRUE , c .getIndexInfo ().get (1 ).get ( "unique" ) );
267
+ DBObject indexInfo = c .getIndexInfo ().get (1 );
268
+ assertEquals ("x_1" , indexInfo .get ("name" ));
269
+
270
+ c .drop ();
271
+
272
+ c .createIndex (new BasicDBObject ("x" , 1 ), new BasicDBObject ("unique" , true ));
273
+ indexInfo = c .getIndexInfo ().get (1 );
274
+ assertEquals ( Boolean .TRUE , indexInfo .get ("unique" ) );
275
+ assertEquals ("x_1" , indexInfo .get ("name" ));
250
276
}
251
277
252
278
@ Test
@@ -259,22 +285,47 @@ public void testEnsureNestedIndex(){
259
285
assertEquals ( 1 , c .getIndexInfo ().size () );
260
286
c .ensureIndex ( new BasicDBObject ("x.y" , 1 ), "nestedIdx1" , false );
261
287
assertEquals ( 2 , c .getIndexInfo ().size () );
288
+ assertEquals ( "nestedIdx1" , c .getIndexInfo ().get (1 ).get ("name" ) );
289
+
290
+ c .drop ();
291
+ c .createIndex (new BasicDBObject ("x.y" , 1 ), new BasicDBObject ("name" , "nestedIdx1" ).append ("unique" , false ));
292
+ assertEquals (2 , c .getIndexInfo ().size ());
293
+ assertEquals ( "nestedIdx1" , c .getIndexInfo ().get (1 ).get ("name" ) );
262
294
}
263
295
264
296
265
- @ Test (expected = MongoException . DuplicateKey .class )
266
- public void testIndexExceptions (){
297
+ @ Test (expected = DuplicateKeyException .class )
298
+ public void testEnsureIndexExceptions (){
267
299
collection .insert (new BasicDBObject ("x" , 1 ));
268
300
collection .insert (new BasicDBObject ("x" , 1 ));
269
301
270
302
collection .ensureIndex (new BasicDBObject ("y" , 1 ));
271
303
collection .resetIndexCache ();
272
- collection .ensureIndex (new BasicDBObject ("y" , 1 )); // make sure this doesn't throw
304
+ try {
305
+ collection .ensureIndex (new BasicDBObject ("y" , 1 )); // make sure this doesn't throw
306
+ } catch (Exception e ) {
307
+ fail ("Trying to create an existing index should not fail." );
308
+ }
273
309
collection .resetIndexCache ();
274
310
275
311
collection .ensureIndex (new BasicDBObject ("x" , 1 ), new BasicDBObject ("unique" , true ));
276
312
}
277
313
314
+ @ Test (expected = DuplicateKeyException .class )
315
+ public void testCreateIndexExceptions (){
316
+ collection .insert (new BasicDBObject ("x" , 1 ));
317
+ collection .insert (new BasicDBObject ("x" , 1 ));
318
+
319
+ collection .createIndex (new BasicDBObject ("y" , 1 ));
320
+ try {
321
+ collection .createIndex (new BasicDBObject ("y" , 1 )); // make sure this doesn't throw
322
+ } catch (Exception e ) {
323
+ fail ("Trying to create an existing index should not fail." );
324
+ }
325
+
326
+ collection .createIndex (new BasicDBObject ("x" , 1 ), new BasicDBObject ("unique" , true ));
327
+ }
328
+
278
329
@ Test
279
330
public void testMultiInsertNoContinue () {
280
331
collection .setWriteConcern (WriteConcern .NORMAL );
0 commit comments