Skip to content

Commit 0c07714

Browse files
author
mpv1989
committed
added multi thread tests
1 parent d219837 commit 0c07714

File tree

1 file changed

+43
-3
lines changed

1 file changed

+43
-3
lines changed

src/test/java/com/arangodb/internal/velocystream/CommunicationTest.java

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
import java.util.Iterator;
2929
import java.util.concurrent.ConcurrentLinkedQueue;
3030

31-
import org.junit.Ignore;
3231
import org.junit.Test;
3332

3433
import com.arangodb.ArangoDB;
3534
import com.arangodb.ArangoDBException;
35+
import com.arangodb.ArangoDatabase;
3636
import com.arangodb.entity.ArangoDBVersion;
3737

3838
/**
@@ -52,10 +52,8 @@ public void chunkSizeSmall() {
5252
}
5353

5454
@Test
55-
@Ignore // need server fix
5655
public void multiThread() throws Exception {
5756
final ArangoDB arangoDB = new ArangoDB.Builder().build();
58-
arangoDB.getVersion();// authenticate
5957

6058
final Collection<String> result = new ConcurrentLinkedQueue<String>();
6159
final Thread fast = new Thread() {
@@ -91,6 +89,48 @@ public void run() {
9189
assertThat(iterator.next(), is(SLOW));
9290
}
9391

92+
@Test
93+
public void multiThreadMultiDatabases() throws Exception {
94+
final ArangoDB arangoDB = new ArangoDB.Builder().build();
95+
96+
try {
97+
arangoDB.createDatabase("db1");
98+
arangoDB.createDatabase("db2");
99+
final ArangoDatabase db1 = arangoDB.db("db1");
100+
final ArangoDatabase db2 = arangoDB.db("db2");
101+
102+
final Collection<String> result = new ConcurrentLinkedQueue<String>();
103+
final Thread t1 = new Thread() {
104+
@Override
105+
public void run() {
106+
try {
107+
db1.query("return sleep(1)", null, null, null);
108+
result.add("1");
109+
} catch (final ArangoDBException e) {
110+
}
111+
}
112+
};
113+
final Thread t2 = new Thread() {
114+
@Override
115+
public void run() {
116+
try {
117+
db2.query("return sleep(1)", null, null, null);
118+
result.add("1");
119+
} catch (final ArangoDBException e) {
120+
}
121+
}
122+
};
123+
t2.start();
124+
t1.start();
125+
t2.join();
126+
t1.join();
127+
assertThat(result.size(), is(2));
128+
} finally {
129+
arangoDB.db("db1").drop();
130+
arangoDB.db("db2").drop();
131+
}
132+
}
133+
94134
@Test
95135
public void minOneConnection() {
96136
final ArangoDB arangoDB = new ArangoDB.Builder().maxConnections(0).build();

0 commit comments

Comments
 (0)