Skip to content
This repository was archived by the owner on Jan 31, 2022. It is now read-only.

Commit 5623afb

Browse files
authored
IndexTest: Initialise all indices at once (#193)
* IndexTest: Initialize all indices at once * Gradle: Update wrapper to 3.2.1 and plugin to 2.2.3
1 parent 64f9d6e commit 5623afb

File tree

6 files changed

+66
-40
lines changed

6 files changed

+66
-40
lines changed

algoliasearch/src/test/java/com/algolia/search/saas/IndexTest.java

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@
6565
@SuppressWarnings("unchecked") //Whitebox requires casts from Object
6666
@SuppressLint("DefaultLocale") //We use format for logging errors, locale issues are irrelevant
6767
public class IndexTest extends RobolectricTestCase {
68+
private static final int COUNT_TEST_INDICES = 50; //TODO: Count test methods with reflection?
69+
70+
private static String originalIndexName = Helpers.safeIndexName("àlgol?à-android");
71+
private static List<String> originalIds;
72+
private static List<JSONObject> originalObjects;
73+
private static int countIndices;
74+
private static boolean didInitIndices = false;
75+
6876
Client client;
6977
Index index;
7078
String indexName;
@@ -80,23 +88,37 @@ public void setUp() throws Exception {
8088
// executor with a Robolectric-compliant one.
8189
Whitebox.setInternalState(client, "searchExecutorService", new RoboExecutorService());
8290

83-
indexName = Helpers.safeIndexName("àlgol?à-android");
84-
index = client.getIndex(indexName);
91+
if (!didInitIndices) {
92+
Index originalIndex = client.getIndex(originalIndexName);
93+
client.deleteIndex(originalIndexName);
8594

86-
client.deleteIndex(indexName);
95+
originalObjects = new ArrayList<>();
96+
originalObjects.add(new JSONObject("{\"city\": \"San Francisco\"}"));
97+
originalObjects.add(new JSONObject("{\"city\": \"San José\"}"));
8798

88-
objects = new ArrayList<>();
89-
objects.add(new JSONObject("{\"city\": \"San Francisco\"}"));
90-
objects.add(new JSONObject("{\"city\": \"San José\"}"));
99+
JSONObject task = originalIndex.addObjects(new JSONArray(originalObjects));
100+
originalIndex.waitTask(task.getString("taskID"));
91101

92-
JSONObject task = index.addObjects(new JSONArray(objects));
93-
index.waitTask(task.getString("taskID"));
102+
JSONArray objectIDs = task.getJSONArray("objectIDs");
103+
originalIds = new ArrayList<>();
104+
for (int i = 0; i < objectIDs.length(); ++i) {
105+
originalIds.add(objectIDs.getString(i));
106+
}
107+
108+
didInitIndices = true;
94109

95-
JSONArray objectIDs = task.getJSONArray("objectIDs");
96-
ids = new ArrayList<>();
97-
for (int i = 0; i < objectIDs.length(); ++i) {
98-
ids.add(objectIDs.getString(i));
110+
for (int i = 0; i < COUNT_TEST_INDICES; i++) {
111+
final String iterIndexName = originalIndexName + i;
112+
client.deleteIndex(iterIndexName);
113+
task = client.copyIndex(originalIndexName, iterIndexName);
114+
}
115+
originalIndex.waitTask(task.getString("taskID"));
99116
}
117+
118+
ids = new ArrayList<>(originalIds);
119+
objects = new ArrayList<>(originalObjects);
120+
indexName = originalIndexName + countIndices++;
121+
index = client.getIndex(indexName);
100122
}
101123

102124
@Override

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ buildscript {
2929
}
3030
dependencies {
3131
classpath 'ch.raffael.pegdown-doclet:pegdown-doclet:1.3'
32-
classpath 'com.android.tools.build:gradle:2.1.0'
32+
classpath 'com.android.tools.build:gradle:2.2.3'
3333
classpath "io.codearte.gradle.nexus:gradle-nexus-staging-plugin:0.5.3"
3434

3535
// NOTE: Do not place your application dependencies here; they belong

gradle/wrapper/gradle-wrapper.jar

-312 Bytes
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Sep 30 13:34:29 CEST 2016
1+
#Fri Dec 09 15:07:31 CET 2016
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip

gradlew

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,30 @@
66
##
77
##############################################################################
88

9-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10-
DEFAULT_JVM_OPTS=""
9+
# Attempt to set APP_HOME
10+
# Resolve links: $0 may be a link
11+
PRG="$0"
12+
# Need this for relative symlinks.
13+
while [ -h "$PRG" ] ; do
14+
ls=`ls -ld "$PRG"`
15+
link=`expr "$ls" : '.*-> \(.*\)$'`
16+
if expr "$link" : '/.*' > /dev/null; then
17+
PRG="$link"
18+
else
19+
PRG=`dirname "$PRG"`"/$link"
20+
fi
21+
done
22+
SAVED="`pwd`"
23+
cd "`dirname \"$PRG\"`/" >/dev/null
24+
APP_HOME="`pwd -P`"
25+
cd "$SAVED" >/dev/null
1126

1227
APP_NAME="Gradle"
1328
APP_BASE_NAME=`basename "$0"`
1429

30+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31+
DEFAULT_JVM_OPTS=""
32+
1533
# Use the maximum available, or set MAX_FD != -1 to use that value.
1634
MAX_FD="maximum"
1735

@@ -30,6 +48,7 @@ die ( ) {
3048
cygwin=false
3149
msys=false
3250
darwin=false
51+
nonstop=false
3352
case "`uname`" in
3453
CYGWIN* )
3554
cygwin=true
@@ -40,26 +59,11 @@ case "`uname`" in
4059
MINGW* )
4160
msys=true
4261
;;
62+
NONSTOP* )
63+
nonstop=true
64+
;;
4365
esac
4466

45-
# Attempt to set APP_HOME
46-
# Resolve links: $0 may be a link
47-
PRG="$0"
48-
# Need this for relative symlinks.
49-
while [ -h "$PRG" ] ; do
50-
ls=`ls -ld "$PRG"`
51-
link=`expr "$ls" : '.*-> \(.*\)$'`
52-
if expr "$link" : '/.*' > /dev/null; then
53-
PRG="$link"
54-
else
55-
PRG=`dirname "$PRG"`"/$link"
56-
fi
57-
done
58-
SAVED="`pwd`"
59-
cd "`dirname \"$PRG\"`/" >/dev/null
60-
APP_HOME="`pwd -P`"
61-
cd "$SAVED" >/dev/null
62-
6367
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6468

6569
# Determine the Java command to use to start the JVM.
@@ -85,7 +89,7 @@ location of your Java installation."
8589
fi
8690

8791
# Increase the maximum file descriptors if we can.
88-
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
92+
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
8993
MAX_FD_LIMIT=`ulimit -H -n`
9094
if [ $? -eq 0 ] ; then
9195
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then

gradlew.bat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
@rem Set local scope for the variables with windows NT shell
99
if "%OS%"=="Windows_NT" setlocal
1010

11-
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12-
set DEFAULT_JVM_OPTS=
13-
1411
set DIRNAME=%~dp0
1512
if "%DIRNAME%" == "" set DIRNAME=.
1613
set APP_BASE_NAME=%~n0
1714
set APP_HOME=%DIRNAME%
1815

16+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17+
set DEFAULT_JVM_OPTS=
18+
1919
@rem Find java.exe
2020
if defined JAVA_HOME goto findJavaFromJavaHome
2121

@@ -46,7 +46,7 @@ echo location of your Java installation.
4646
goto fail
4747

4848
:init
49-
@rem Get command-line arguments, handling Windowz variants
49+
@rem Get command-line arguments, handling Windows variants
5050

5151
if not "%OS%" == "Windows_NT" goto win9xME_args
5252
if "%@eval[2+2]" == "4" goto 4NT_args

0 commit comments

Comments
 (0)