8000 re-enabled JsonBSerdeTest · arangodb/arangodb-java-driver@c14f367 · GitHub
[go: up one dir, main page]

Skip to content

Commit c14f367

Browse files
committed
re-enabled JsonBSerdeTest
1 parent 9bf3097 commit c14f367

File tree

4 files changed

+150
-150
lines changed

4 files changed

+150
-150
lines changed

test-non-functional/pom.xml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@
2020
</properties>
2121

2222
<dependencies>
23-
<!-- FIXME: JsonB serde tests-->
24-
<!-- <dependency>-->
25-
<!-- <groupId>com.arangodb</groupId>-->
26-
<!-- <artifactId>jsonb-serde</artifactId>-->
27-
<!-- <scope>compile</scope>-->
28-
<!-- </dependency>-->
29-
<!-- <dependency>-->
30-
<!-- <groupId>org.eclipse</groupId>-->
31-
<!-- <artifactId>yasson</artifactId>-->
32-
<!-- </dependency>-->
33-
23+
<dependency>
24+
<groupId>com.arangodb</groupId>
25+
<artifactId>jsonb-serde</artifactId>
26+
<scope>compile</scope>
27+
</dependency>
28+
<dependency>
29+
<groupId>org.eclipse</groupId>
30+
<artifactId>yasson</artifactId>
31+
<scope>test</scope>
32+
</dependency>
3433
<dependency>
3534
<groupId>com.tngtech.archunit</groupId>
3635
<artifactId>archunit-junit5</artifactId>

test-non-functional/src/test/java/arch/ShadedArchTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// FIXME
12
//package arch;
23
//
34
//import com.tngtech.archunit.core.importer.ImportOption.DoNotIncludeTests;
Lines changed: 61 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,61 @@
1-
//package serde;
2-
//
3-
//
4-
//import com.arangodb.serde.jsonb.Key;
5-
//import jakarta.json.bind.annotation.JsonbProperty;
6-
//
7-
//import java.util.Objects;
8-
//
9-
//public class JsonBPerson {
10-
// @Key
11-
// private String key;
12-
// @JsonbProperty("firstName")
13-
// private String name;
14-
// private int age;
15-
//
16-
// public JsonBPerson() {
17-
// }
18-
//
19-
// public JsonBPerson(String key, String name, int age) {
20-
// this.key = key;
21-
// this.name = name;
22-
// this.age = age;
23-
// }
24-
//
25-
// public String getKey() {
26-
// return key;
27-
// }
28-
//
29-
// public void setKey(String key) {
30-
// this.key = key;
31-
// }
32-
//
33-
// public String getName() {
34-
// return name;
35-
// }
36-
//
37-
// public void setName(String name) {
38-
// this.name = name;
39-
// }
40-
//
41-
// public int getAge() {
42-
// return age;
43-
// }
44-
//
45-
// public void setAge(int age) {
46-
// this.age = age;
47-
// }
48-
//
49-
// @Override
50-
// public boolean equals(Object o) {
51-
// if (this == o) return true;
52-
// if (o == null || getClass() != o.getClass()) return false;
53-
// JsonBPerson person = (JsonBPerson) o;
54-
// return age == person.age && Objects.equals(key, person.key) && Objects.equals(name, person.name);
55-
// }
56-
//
57-
// @Override
58-
// public int hashCode() {
59-
// return Objects.hash(key, name, age);
60-
// }
61-
//}
1+
package serde;
2+
< 77FB code>3+
4+
import com.arangodb.serde.jsonb.Key;
5+
import jakarta.json.bind.annotation.JsonbProperty;
6+
7+
import java.util.Objects;
8+
9+
public class JsonBPerson {
10+
@Key
11+
private String key;
12+
@JsonbProperty("firstName")
13+
private String name;
14+
private int age;
15+
16+
public JsonBPerson() {
17+
}
18+
19+
public JsonBPerson(String key, String name, int age) {
20+
this.key = key;
21+
this.name = name;
22+
this.age = age;
23+
}
24+
25+
public String getKey() {
26+
return key;
27+
}
28+
29+
public void setKey(String key) {
30+
this.key = key;
31+
}
32+
33+
public String getName() {
34+
return name;
35+
}
36+
37+
public void setName(String name) {
38+
this.name = name;
39+
}
40+
41+
public int getAge() {
42+
return age;
43+
}
44+
45+
public void setAge(int age) {
46+
this.age = age;
47+
}
48+
49+
@Override
50+
public boolean equals(Object o) {
51+
if (this == o) return true;
52+
if (o == null || getClass() != o.getClass()) return false;
53+
JsonBPerson person = (JsonBPerson) o;
54+
return age == person.age && Objects.equals(key, person.key) && Objects.equals(name, person.name);
55+
}
56+
57+
@Override
58+
public int hashCode() {
59+
return Objects.hash(key, name, age);
60+
}
61+
}
Lines changed: 78 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,78 @@
1-
//package serde;
2-
//
3-
//import com.arangodb.ArangoDB;
4-
//import com.arangodb.config.ArangoConfigProperties;
5-
//import com.arangodb.serde.jsonb.JsonbSerdeProvider;
6-
//import com.arangodb.util.RawJson;
7-
//import jakarta.json.*;
8-
//import org.junit.jupiter.params.ParameterizedTest;
9-
//import org.junit.jupiter.params.provider.Arguments;
10-
//import org.junit.jupiter.params.provider.MethodSource;
11-
//
12-
//import java.util.Collections;
13-
//import java.util.Map;
14-
//import java.util.stream.Stream;
15-
//
16-
//import static org.assertj.core.api.Assertions.assertThat;
17-
//
18-
//class JsonBSerdeTest {
19-
//
20-
// static Stream<Arguments> adbByContentType() {
21-
// return Stream.of(new ArangoDB.Builder()
22-
// .loadProperties(ArangoConfigProperties.fromFile())
23-
// .serde(new JsonbSerdeProvider().create())
24-
// .build())
25-
// .map(Arguments::of);
26-
// }
27-
//
28-
// @ParameterizedTest
29-
// @MethodSource("adbByContentType")
30-
// void jsonNode(ArangoDB adb) {
31-
// JsonObject doc = Json.createObjectBuilder()
32-
// .add("foo", "bar")
33-
// .build();
34-
// JsonObject res = adb.db().query("return @d", JsonObject.class, Collections.singletonMap("d", doc)).next();
35-
// assertThat(res.size()).isEqualTo(1);
36-
// assertThat(res.getString("foo")).isEqualTo("bar");
37-
// JsonValue value = adb.db().query("return @d.foo", JsonValue.class, Collections.singletonMap("d", doc)).next();
38-
// assertThat(value)
39-
// .isInstanceOf(JsonString.class)
40-
// .extracting(v -> ((JsonString) v).getString())
41-
// .isEqualTo("bar");
42-
// }
43-
//
44-
// @ParameterizedTest
45-
// @MethodSource("adbByContentType")
46-
// void map(ArangoDB adb) {
47-
// Map<String, String> doc = Collections.singletonMap("foo", "bar");
48-
// Map<?, ?> res = adb.db().query("return @d", Map.class, Collections.singletonMap("d", doc)).next();
49-
// assertThat(res).hasSize(1);
50-
// assertThat(res.get("foo")).isEqualTo("bar");
51-
// String value = adb.db().query("return @d.foo", String.class, Collections.singletonMap("d", doc)).next();
52-
// assertThat(value).isEqualTo("bar");
53-
// }
54-
//
55-
// @ParameterizedTest
56-
// @MethodSource("adbByContentType")
57-
// void rawJson(ArangoDB adb) {
58-
// RawJson doc = RawJson.of("""
59-
// {"foo":"bar"}""");
60-
// RawJson res = adb.db().query("return @d", RawJson.class, Collections.singletonMap("d", doc)).next();
61-
// assertThat(res.get()).isEqualTo(doc.get());
62-
// RawJson value = adb.db().query("return @d.foo", RawJson.class, Collections.singletonMap("d", doc)).next();
63-
// assertThat(value.get()).isEqualTo("\"bar\"");
64-
// }
65-
//
66-
// @ParameterizedTest
67-
// @MethodSource("adbByContentType")
68-
// void person(ArangoDB adb) {
69-
// JsonBPerson doc = new JsonBPerson("key", "Jim", 22);
70-
// JsonBPerson res = adb.db().query("return @d", JsonBPerson.class, Collections.singletonMap("d", doc)).next();
71-
// assertThat(res).isEqualTo(doc);
72-
// String key = adb.db().query("return @d._key", String.class, Collections.singletonMap("d", doc)).next();
73-
// assertThat(key).isEqualTo("key");
74-
// String name = adb.db().query("return @d.firstName", String.class, Collections.singletonMap("d", doc)).next();
75-
// assertThat(name).isEqualTo("Jim");
76-
// }
77-
//
78-
//}
1+
package serde;
2+
3+
import com.arangodb.ArangoDB;
4+
import com.arangodb.config.ArangoConfigProperties;
5+
import com.arangodb.serde.jsonb.JsonbSerdeProvider;
6+
import com.arangodb.util.RawJson;
7+
import jakarta.json.*;
8+
import org.junit.jupiter.params.ParameterizedTest;
9+
import org.junit.jupiter.params.provider.Arguments;
10+
import org.junit.jupiter.params.provider.MethodSource;
11+
12+
import java.util.Collections;
13+
import java.util.Map;
14+
import java.util.stream.Stream;
15+
16+
import static org.assertj.core.api.Assertions.assertThat;
17+
18+
class JsonBSerdeTest {
19+
20+
static Stream<Arguments> adbByContentType() {
21+
return Stream.of(new ArangoDB.Builder()
22+
.loadProperties(ArangoConfigProperties.fromFile())
23+
.serde(new JsonbSerdeProvider().create())
24+
.build())
25+
.map(Arguments::of);
26+
}
27+
28+
@ParameterizedTest
29+
@MethodSource("adbByContentType")
30+
void jsonNode(ArangoDB adb) {
31+
JsonObject doc = Json.createObjectBuilder()
32+
.add("foo", "bar")
33+
.build();
34+
JsonObject res = adb.db().query("return @d", JsonObject.class, Collections.singletonMap("d", doc)).next();
35+
assertThat(res.size()).isEqualTo(1);
36+
assertThat(res.getString("foo")).isEqualTo("bar");
37+
JsonValue value = adb.db().query("return @d.foo", JsonValue.class, Collections.singletonMap("d", doc)).next();
38+
assertThat(value)
39+
.isInstanceOf(JsonString.class)
40+
.extracting(v -> ((JsonString) v).getString())
41+
.isEqualTo("bar");
42+
}
43+
44+
@ParameterizedTest
45+
@MethodSource("adbByContentType")
46+
void map(ArangoDB adb) {
47+
Map<String, String> doc = Collections.singletonMap("foo", "bar");
48+
Map<?, ?> res = adb.db().query("return @d", Map.class, Collections.singletonMap("d", doc)).next();
49+
assertThat(res).hasSize(1);
50+
assertThat(res.get("foo")).isEqualTo("bar");
51+
String value = adb.db().query("return @d.foo", String.class, Collections.singletonMap("d", doc)).next();
52+
assertThat(value).isEqualTo("bar");
53+
}
54+
55+
@ParameterizedTest
56+
@MethodSource("adbByContentType")
57+
void rawJson(ArangoDB adb) {
58+
RawJson doc = RawJson.of("""
59+
{"foo":"bar"}""");
60+
RawJson res = adb.db().query("return @d", RawJson.class, Collections.singletonMap("d", doc)).next();
61+
assertThat(res.get()).isEqualTo(doc.get());
62+
RawJson value = adb.db().query("return @d.foo", RawJson.class, Collections.singletonMap("d", doc)).next();
63+
assertThat(value.get()).isEqualTo("\"bar\"");
64+
}
65+
66+
@ParameterizedTest
67+
@MethodSource("adbByContentType")
68+
void person(ArangoDB adb) {
69+
JsonBPerson doc = new JsonBPerson("key", "Jim", 22);
70+
JsonBPerson res = adb.db().query("return @d", JsonBPerson.class, Collections.singletonMap("d", doc)).next();
71+
assertThat(res).isEqualTo(doc);
72+
String key = adb.db().query("return @d._key", String.class, Collections.singletonMap("d", doc)).next();
73+
assertThat(key).isEqualTo("key");
74+
String name = adb.db().query("return @d.firstName", String.class, Collections.singletonMap("d", doc)).next();
75+
assertThat(name).isEqualTo("Jim");
76+
}
77+
78+
}

0 commit comments

Comments
 (0)
0