Skip to content

Commit 2fe29eb

Browse files
committed
Fix test assumptions
1 parent 1295f0e commit 2fe29eb

File tree

4 files changed

+44
-16
lines changed

4 files changed

+44
-16
lines changed

src/test/java/com/fusiondb/studio/api/API.java

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424

2525
import com.evolvedbinary.j8fu.tuple.Tuple2;
2626

27+
import static com.evolvedbinary.j8fu.tuple.Tuple.Tuple;
28+
import static io.restassured.RestAssured.given;
29+
import static org.apache.http.HttpStatus.SC_OK;
30+
2731
public class API {
2832

2933
/**
@@ -220,23 +224,42 @@ static <K, V> Map<K, V>[] arrayOf(final Map<K, V>... entries) {
220224
return arrayOfMaps;
221225
}
222226

223-
static boolean testServerHasBadJsonSerialization() {
224-
final String dockerTestImage = sysPropOrEnvVarOrDefault(SYS_PROP_NAME_DOCKER_DB_IMAGE, ENV_VAR_DOCKER_DB_IMAGE, null, envVarValue -> envVarValue);
225-
if (dockerTestImage == null || dockerTestImage.isEmpty()) {
226-
return false;
227-
}
227+
static Tuple2<String, String> getServerVersion() {
228+
final String productName =
229+
given().
230+
accept("text/text").
231+
when().
232+
get(getRestApiBaseUri() + "/db?_query=system:get-product-name()&_wrap=no").
233+
then().
234+
statusCode(SC_OK).
235+
extract().body().asString();
228236

229-
return dockerTestImage.endsWith("fusiondb-server:1.0.0-ALPHA2")
230-
|| dockerTestImage.endsWith("existdb:5.0.0")
231-
|| dockerTestImage.endsWith("existdb:5.2.0");
237+
final String version =
238+
given().
239+
accept("text/text").
240+
when().
241+
get(getRestApiBaseUri() + "/db?_query=system:get-version()&_wrap=no").
242+
then().
243+
statusCode(SC_OK).
244+
extract().body().asString();
245+
246+
return Tuple(productName, version);
247+
}
248+
249+
static boolean testServerHasBadJsonSerialization() {
250+
final Tuple2<String, String> serverVersion = getServerVersion();
251+
return serverVersion.equals(Tuple("FusionDB", "1.0.0-ALPHA2"))
252+
|| serverVersion.equals(Tuple("eXist-db", "5.0.0"))
253+
|| serverVersion.equals(Tuple("eXist-db", "5.2.0"));
232254
}
233255

234256
static boolean testServerHasBadXmldbSetMimeType() {
235-
final String dockerTestImage = sysPropOrEnvVarOrDefault(SYS_PROP_NAME_DOCKER_DB_IMAGE, ENV_VAR_DOCKER_DB_IMAGE, null, envVarValue -> envVarValue);
236-
if (dockerTestImage == null || dockerTestImage.isEmpty()) {
237-
return false;
238-
}
257+
final Tuple2<String, String> serverVersion = getServerVersion();
258+
return serverVersion.equals(Tuple("FusionDB", "1.0.0-ALPHA2"));
259+
}
239260

240-
return dockerTestImage.endsWith("fusiondb-server:1.0.0-ALPHA2");
261+
static boolean testServerHasBadCopyMoveCollectionOperations() {
262+
final Tuple2<String, String> serverVersion = getServerVersion();
263+
return serverVersion.equals(Tuple("FusionDB", "1.0.0-ALPHA3"));
241264
}
242265
}

src/test/java/com/fusiondb/studio/api/CollectionIT.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.restassured.http.Header;
2121
import io.restassured.response.ExtractableResponse;
2222
import io.restassured.response.Response;
23+
import org.junit.jupiter.api.Assumptions;
2324
import org.junit.jupiter.api.Test;
2425

2526
import java.util.Map;
@@ -118,6 +119,8 @@ public void updateMode() {
118119

119120
@Test
120121
public void copyCollection() {
122+
Assumptions.assumeFalse(testServerHasBadCopyMoveCollectionOperations(), "Server has bad copy/move operations");
123+
121124
final String collectionPath = "/db/fusion-studio-api-test-document-it-col-4";
122125

123126
// 1. create the source collection
@@ -158,6 +161,8 @@ public void copyCollection() {
158161

159162
@Test
160163
public void moveCollection() {
164+
Assumptions.assumeFalse(testServerHasBadCopyMoveCollectionOperations(),"Server has bad copy/move operations");
165+
161166
final String collectionPath = "/db/fusion-studio-api-test-document-it-col-5";
162167

163168
// 1. create the source collection

src/test/java/com/fusiondb/studio/api/DocumentIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public void updateMode() {
134134

135135
@Test
136136
public void updateMediaType() {
137-
Assumptions.assumeFalse(testServerHasBadXmldbSetMimeType());
137+
Assumptions.assumeFalse(testServerHasBadXmldbSetMimeType(), "Server has bad XML:DB setMimetype");
138138

139139
final String docPath = "/db/fusion-studio-api-test-document-it-5.xml";
140140

src/test/java/com/fusiondb/studio/api/QueryIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ public void serializeQueryAsAdaptive() {
260260

261261
@Test
262262
public void serializeQueryAsJsonNoIndent() {
263-
Assumptions.assumeFalse(testServerHasBadJsonSerialization());
263+
Assumptions.assumeFalse(testServerHasBadJsonSerialization(), "Server has bad JSON serialization");
264264

265265
final Map<String, Object> requestBody = mapOf(
266266
Tuple("query", "map {'a': 'b', 'x': ['y', 'z'], 't': true(), 'f': false() }"),
@@ -286,7 +286,7 @@ public void serializeQueryAsJsonNoIndent() {
286286

287287
@Test
288288
public void serializeQueryAsJsonIndent() {
289-
Assumptions.assumeFalse(testServerHasBadJsonSerialization());
289+
Assumptions.assumeFalse(testServerHasBadJsonSerialization(), "Server has bad JSON serialization");
290290

291291
final Map<String, Object> requestBody = mapOf(
292292
Tuple("query", "map {'a': 'b', 'x': ['y', 'z'], 't': true(), 'f': false() }"),

0 commit comments

Comments
 (0)