42
42
import java .util .HashMap ;
43
43
import java .util .Map ;
44
44
45
+ import com .arangodb .model .*;
45
46
import org .junit .After ;
46
47
import org .junit .Test ;
47
48
import org .junit .runner .RunWith ;
63
64
import com .arangodb .entity .MultiDocumentEntity ;
64
65
import com .arangodb .entity .Permissions ;
65
66
import com .arangodb .entity .ServerRole ;
66
- import com .arangodb .model .CollectionCreateOptions ;
67
- import com .arangodb .model .CollectionPropertiesOptions ;
68
- import com .arangodb .model .DocumentCreateOptions ;
69
- import com .arangodb .model .DocumentDeleteOptions ;
70
- import com .arangodb .model .DocumentExistsOptions ;
71
- import com .arangodb .model .DocumentImportOptions ;
72
67
import com .arangodb .model .DocumentImportOptions .OnDuplicate ;
73
- import com .arangodb .model .DocumentReadOptions ;
74
- import com .arangodb .model .DocumentReplaceOptions ;
75
- import com .arangodb .model .DocumentUpdateOptions ;
76
68
import com .arangodb .velocypack .VPackSlice ;
77
69
78
70
/**
@@ -1044,6 +1036,35 @@ public void createHashIndex() {
1044
1036
assertThat (indexResult .getUnique (), is (false ));
1045
1037
}
1046
1038
1039
+ @ Test
1040
+ public void createHashIndexWithOptions () {
1041
+ if (!requireVersion (3 , 5 )) {
1042
+ return ;
1043
+ }
1044
+
1045
+ final HashIndexOptions options = new HashIndexOptions ();
1046
+ options .name ("myHashIndex" );
1047
+
1048
+ final Collection <String > fields = new ArrayList <String >();
1049
+ fields .add ("a" );
1050
+ fields .add ("b" );
1051
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensureHashIndex (fields , options );
1052
+ assertThat (indexResult , is (notNullValue ()));
1053
+ assertThat (indexResult .getConstraint (), is (nullValue ()));
1054
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1055
+ assertThat (indexResult .getFields (), hasItem ("b" ));
1056
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1057
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1058
+ assertThat (indexResult .getMinLength (), is (nullValue ()));
1059
+ if (arangoDB .getRole () == ServerRole .SINGLE ) {
1060
+ assertThat (indexResult .getSelectivityEstimate (), is (1. ));
1061
+ }
1062
+ assertThat (indexResult .getSparse (), is (false ));
1063
+ assertThat (indexResult .getType (), is (IndexType .hash ));
1064
+ assertThat (indexResult .getUnique (), is (false ));
1065
+ assertThat (indexResult .getName (), is ("myHashIndex" ));
1066
+ }
1067
+
1047
1068
@ Test
1048
1069
public void createGeoIndex () {
1049
1070
final Collection <String > fields = new ArrayList <String >();
@@ -1063,6 +1084,33 @@ public void createGeoIndex() {
1063
1084
}
1064
1085
}
1065
1086
1087
+ @ Test
1088
+ public void createGeoIndexWithOptions () {
1089
+ if (!requireVersion (3 , 5 )) {
1090
+ return ;
1091
+ }
1092
+
1093
+ final GeoIndexOptions options = new GeoIndexOptions ();
1094
+ options .name ("myGeoIndex1" );
1095
+
1096
+ final Collection <String > fields = new ArrayList <String >();
1097
+ fields .add ("a" );
1098
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensureGeoIndex (fields , options );
1099
+ assertThat (indexResult , is (notNullValue ()));
1100
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1101
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1102
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1103
+ assertThat (indexResult .getMinLength (), is (nullValue ()));
1104
+ assertThat (indexResult .getSparse (), is (true ));
1105
+ assertThat (indexResult .getUnique (), is (false ));
1106
+ if (requireVersion (3 , 4 )) {
1107
+ assertThat (indexResult .getType (), is (IndexType .geo ));
1108
+ } else {
1109
+ assertThat (indexResult .getType (), is (IndexType .geo1 ));
1110
+ }
1111
+ assertThat (indexResult .getName (), is ("myGeoIndex1" ));
1112
+ }
1113
+
1066
1114
@ Test
1067
1115
public void createGeo2Index () {
1068
1116
final Collection <String > fields = new ArrayList <String >();
@@ -1084,6 +1132,35 @@ public void createGeo2Index() {
1084
1132
}
1085
1133
}
1086
1134
1135
+ @ Test
1136
+ public void createGeo2IndexWithOptions () {
1137
+ if (!requireVersion (3 , 5 )) {
1138
+ return ;
1139
+ }
1140
+
1141
+ final GeoIndexOptions options = new GeoIndexOptions ();
1142
+ options .name ("myGeoIndex2" );
1143
+
1144
+ final Collection <String > fields = new ArrayList <String >();
1145
+ fields .add ("a" );
1146
+ fields .add ("b" );
1147
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensureGeoIndex (fields , options );
1148
+ assertThat (indexResult , is (notNullValue ()));
1149
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1150
+ assertThat (indexResult .getFields (), hasItem ("b" ));
1151
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1152
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1153
+ assertThat (indexResult .getMinLength (), is (nullValue ()));
1154
+ assertThat (indexResult .getSparse (), is (true ));
1155
+ assertThat (indexResult .getUnique (), is (false ));
1156
+ if (requireVersion (3 , 4 )) {
1157
+ assertThat (indexResult .getType (), is (IndexType .geo ));
1158
+ } else {
1159
+ assertThat (indexResult .getType (), is (IndexType .geo2 ));
1160
+ }
1161
+ assertThat (indexResult .getName (), is ("myGeoIndex2" ));
1162
+ }
1163
+
1087
1164
@ Test
1088
1165
public void createSkiplistIndex () {
1089
1166
final Collection <String > fields = new ArrayList <String >();
@@ -1102,6 +1179,32 @@ public void createSkiplistIndex() {
1102
1179
assertThat (indexResult .getUnique (), is (false ));
1103
1180
}
1104
1181
1182
+ @ Test
1183
+ public void createSkiplistIndexWithOptions () {
1184
+ if (!requireVersion (3 , 5 )) {
1185
+ return ;
1186
+ }
1187
+
1188
+ final SkiplistIndexOptions options = new SkiplistIndexOptions ();
1189
+ options .name ("mySkiplistIndex" );
1190
+
1191
+ final Collection <String > fields = new ArrayList <String >();
1192
+ fields .add ("a" );
1193
+ fields .add ("b" );
1194
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensureSkiplistIndex (fields , options );
1195
+ assertThat (indexResult , is (notNullValue ()));
1196
+ assertThat (indexResult .getConstraint (), is (nullValue ()));
1197
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1198
+ assertThat (indexResult .getFields (), hasItem ("b" ));
1199
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1200
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1201
+ assertThat (indexResult .getMinLength (), is (nullValue ()));
1202
+ assertThat (indexResult .getSparse (), is (false ));
1203
+ assertThat (indexResult .getType (), is (IndexType .skiplist ));
1204
+ assertThat (indexResult .getUnique (), is (false ));
1205
+ assertThat (indexResult .getName (), is ("mySkiplistIndex" ));
1206
+ }
1207
+
1105
1208
@ Test
1106
1209
public void createPersistentIndex () {
1107
1210
final Collection <String > fields = new ArrayList <String >();
@@ -1120,6 +1223,32 @@ public void createPersistentIndex() {
1120
1223
assertThat (indexResult .getUnique (), is (false ));
1121
1224
}
1122
1225
1226
+ @ Test
1227
+ public void createPersistentIndexWithOptions () {
1228
+ if (!requireVersion (3 , 5 )) {
1229
+ return ;
1230
+ }
1231
+
1232
+ final PersistentIndexOptions options = new PersistentIndexOptions ();
1233
+ options .name ("myPersistentIndex" );
1234
+
1235
+ final Collection <String > fields = new ArrayList <String >();
1236
+ fields .add ("a" );
1237
+ fields .add ("b" );
1238
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensurePersistentIndex (fields , options );
1239
+ assertThat (indexResult , is (notNullValue ()));
1240
+ assertThat (indexResult .getConstraint (), is (nullValue ()));
1241
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1242
+ assertThat (indexResult .getFields (), hasItem ("b" ));
1243
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1244
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1245
+ assertThat (indexResult .getMinLength (), is (nullValue ()));
1246
+ assertThat (indexResult .getSparse (), is (false ));
1247
+ assertThat (indexResult .getType (), is (IndexType .persistent ));
1248
+ assertThat (indexResult .getUnique (), is (false ));
1249
+ assertThat (indexResult .getName (), is ("myPersistentIndex" ));
1250
+ }
1251
+
1123
1252
@ Test
1124
1253
public void createFulltextIndex () {
1125
1254
final Collection <String > fields = new ArrayList <String >();
@@ -1135,6 +1264,29 @@ public void createFulltextIndex() {
1135
1264
assertThat (indexResult .getUnique (), is (false ));
1136
1265
}
1137
1266
1267
+ @ Test
1268
+ public void createFulltextIndexWithOptions () {
1269
+ if (!requireVersion (3 , 5 )) {
1270
+ return ;
1271
+ }
1272
+
1273
+ final FulltextIndexOptions options = new FulltextIndexOptions ();
1274
+ options .name ("myFulltextIndex" );
1275
+
1276
+ final Collection <String > fields = new ArrayList <String >();
1277
+ fields .add ("a" );
1278
+ final IndexEntity indexResult = db .collection (COLLECTION_NAME ).ensureFulltextIndex (fields , options );
1279
+ assertThat (indexResult , is (notNullValue ()));
1280
+ assertThat (indexResult .getConstraint (), is (nullValue ()));
1281
+ assertThat (indexResult .getFields (), hasItem ("a" ));
1282
+ assertThat (indexResult .getId (), startsWith (COLLECTION_NAME ));
1283
+ assertThat (indexResult .getIsNewlyCreated (), is (true ));
1284
+ assertThat (indexResult .getSparse (), is (true ));
1285
+ assertThat (indexResult .getType (), is (IndexType .fulltext ));
1286
+ assertThat (indexResult .getUnique (), is (false ));
1287
+ assertThat (indexResult .getName (), is ("myFulltextIndex" ));
1288
+ }
1289
+
1138
1290
@ Test
1139
1291
public void getIndexes () {
1140
1292
final Collection <String > fields = new ArrayList <String >();
0 commit comments