Skip to content

Commit 0df0964

Browse files
committed
mapping tests refactoring
1 parent 765a5c7 commit 0df0964

File tree

8 files changed

+62
-182
lines changed

8 files changed

+62
-182
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.arangodb.springframework;
2+
3+
import com.arangodb.model.StreamTransactionOptions;
4+
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeLazyTestEntity;
5+
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeTestEntity;
6+
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
7+
import org.junit.jupiter.api.AfterEach;
8+
import org.junit.jupiter.api.BeforeEach;
9+
10+
import java.util.Arrays;
11+
import java.util.HashSet;
12+
import java.util.Set;
13+
14+
public abstract class AbstractTxTest extends AbstractArangoTest {
15+
protected String tx;
16+
17+
@BeforeEach
18+
void beginTx() {
19+
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
20+
cols.add(BasicTestEntity.class);
21+
cols.add(BasicEdgeTestEntity.class);
22+
cols.add(BasicEdgeLazyTestEntity.class);
23+
24+
String[] txCols = cols.stream()
25+
.map(it -> template.collection(it).name())
26+
.toArray(String[]::new);
27+
28+
tx = db.beginStreamTransaction(new StreamTransactionOptions()
29+
.readCollections(txCols)
30+
.writeCollections(txCols)
31+
).getId();
32+
}
33+
34+
@AfterEach
35+
void abortTx() {
36+
db.abortStreamTransaction(tx);
37+
}
38+
39+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.arangodb.springframework.core.mapping;
2+
3+
import com.arangodb.model.DocumentCreateOptions;
4+
import com.arangodb.model.DocumentReadOptions;
5+
import com.arangodb.springframework.AbstractTxTest;
6+
import org.junit.jupiter.api.BeforeEach;
7+
8+
public abstract class AbstractMappingTxTest extends AbstractTxTest {
9+
protected DocumentCreateOptions insertOpts;
10+
protected DocumentReadOptions findOpts;
11+
12+
@BeforeEach
13+
void initOpts() {
14+
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
15+
findOpts = new DocumentReadOptions().streamTransactionId(tx);
16+
}
17+
}

src/test/java/com/arangodb/springframework/core/mapping/EdgeMappingTxTest.java

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,13 @@
2020

2121
package com.arangodb.springframework.core.mapping;
2222

23-
import com.arangodb.model.DocumentCreateOptions;
24-
import com.arangodb.model.DocumentReadOptions;
25-
import com.arangodb.model.StreamTransactionOptions;
26-
import com.arangodb.springframework.AbstractArangoTest;
2723
import com.arangodb.springframework.annotation.From;
2824
import com.arangodb.springframework.annotation.To;
2925
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeLazyTestEntity;
3026
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeTestEntity;
3127
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
32-
import org.junit.jupiter.api.AfterEach;
33-
import org.junit.jupiter.api.BeforeEach;
3428
import org.junit.jupiter.api.Test;
3529

36-
import java.util.Arrays;
37-
import java.util.HashSet;
38-
import java.util.Set;
39-
4030
import static org.hamcrest.MatcherAssert.assertThat;
4131
import static org.hamcrest.Matchers.is;
4232
import static org.hamcrest.Matchers.notNullValue;
@@ -45,35 +35,7 @@
4535
* @author Mark Vollmary
4636
*
4737
*/
48-
public class EdgeMappingTxTest extends AbstractArangoTest {
49-
50-
private DocumentCreateOptions insertOpts;
51-
private DocumentReadOptions findOpts;
52-
53-
@BeforeEach
54-
void beginTx() {
55-
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
56-
cols.add(BasicTestEntity.class);
57-
cols.add(BasicEdgeLazyTestEntity.class);
58-
cols.add(BasicEdgeTestEntity.class);
59-
60-
String[] txCols = cols.stream()
61-
.map(it -> template.collection(it).name())
62-
.toArray(String[]::new);
63-
64-
String tx = db.beginStreamTransaction(new StreamTransactionOptions()
65-
.readCollections(txCols)
66-
.writeCollections(txCols)
67-
).getId();
68-
69-
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
70-
findOpts = new DocumentReadOptions().streamTransactionId(tx);
71-
}
72-
73-
@AfterEach
74-
void abortTx() {
75-
db.abortStreamTransaction(insertOpts.getStreamTransactionId());
76-
}
38+
public class EdgeMappingTxTest extends AbstractMappingTxTest {
7739

7840
@Test
7941
public void edgeFromTo() {

src/test/java/com/arangodb/springframework/core/mapping/FromMappingTxTest.java

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,13 @@
2020

2121
package com.arangodb.springframework.core.mapping;
2222

23-
import com.arangodb.model.DocumentCreateOptions;
24-
import com.arangodb.model.DocumentReadOptions;
25-
import com.arangodb.model.StreamTransactionOptions;
26-
import com.arangodb.springframework.AbstractArangoTest;
2723
import com.arangodb.springframework.annotation.From;
2824
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeLazyTestEntity;
2925
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeTestEntity;
3026
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
31-
import org.junit.jupiter.api.AfterEach;
32-
import org.junit.jupiter.api.BeforeEach;
3327
import org.junit.jupiter.api.Test;
3428

35-
import java.util.Arrays;
3629
import java.util.Collection;
37-
import java.util.HashSet;
3830
import java.util.Set;
3931
import java.util.stream.Collectors;
4032

@@ -45,35 +37,7 @@
4537
* @author Mark Vollmary
4638
*
4739
*/
48-
public class FromMappingTxTest extends AbstractArangoTest {
49-
50-
private DocumentCreateOptions insertOpts;
51-
private DocumentReadOptions findOpts;
52-
53-
@BeforeEach
54-
void beginTx() {
55-
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
56-
cols.add(BasicTestEntity.class);
57-
cols.add(BasicEdgeTestEntity.class);
58-
cols.add(BasicEdgeLazyTestEntity.class);
59-
60-
String[] txCols = cols.stream()
61-
.map(it -> template.collection(it).name())
62-
.toArray(String[]::new);
63-
64-
String tx = db.beginStreamTransaction(new StreamTransactionOptions()
65-
.readCollections(txCols)
66-
.writeCollections(txCols)
67-
).getId();
68-
69-
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
70-
findOpts = new DocumentReadOptions().streamTransactionId(tx);
71-
}
72-
73-
@AfterEach
74-
void abortTx() {
75-
db.abortStreamTransaction(insertOpts.getStreamTransactionId());
76-
}
40+
public class FromMappingTxTest extends AbstractMappingTxTest {
7741

7842
public static class DocumentFromTestEntity extends BasicTestEntity {
7943
@From

src/test/java/com/arangodb/springframework/core/mapping/GeneralMappingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ public void geoMapping() throws JSONException, JsonProcessingException {
235235
String jsonString = jsonMapper.writeValueAsString(written);
236236
JSONObject json = new JSONObject(jsonString);
237237

238-
GeoTestEntity read = converter.read(GeoTestEntity.class, written);
238+
GeoTestEntity read = converter.read(GeoTestEntity.class, written, TransactionMappingContext.EMPTY);
239239
assertThat(read.geoJson, is(entity.geoJson));
240240
JSONAssert.assertEquals(
241241
"{ type: Point, coordinates: [1.1, 2.2] }",

src/test/java/com/arangodb/springframework/core/mapping/RefMappingTxTest.java

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,10 @@
2020

2121
package com.arangodb.springframework.core.mapping;
2222

23-
import com.arangodb.model.DocumentCreateOptions;
24-
import com.arangodb.model.DocumentReadOptions;
25-
import com.arangodb.model.StreamTransactionOptions;
26-
import com.arangodb.springframework.AbstractArangoTest;
2723
import com.arangodb.springframework.annotation.ArangoId;
2824
import com.arangodb.springframework.annotation.Document;
2925
import com.arangodb.springframework.annotation.Ref;
3026
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
31-
import org.junit.jupiter.api.AfterEach;
32-
import org.junit.jupiter.api.BeforeEach;
3327
import org.junit.jupiter.api.Test;
3428
import org.springframework.data.annotation.Id;
3529

@@ -39,33 +33,7 @@
3933
import static org.hamcrest.MatcherAssert.assertThat;
4034
import static org.hamcrest.Matchers.*;
4135

42-
public class RefMappingTxTest extends AbstractArangoTest {
43-
44-
private DocumentCreateOptions insertOpts;
45-
private DocumentReadOptions findOpts;
46-
47-
@BeforeEach
48-
void beginTx() {
49-
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
50-
cols.add(BasicTestEntity.class);
51-
52-
String[] txCols = cols.stream()
53-
.map(it -> template.collection(it).name())
54-
.toArray(String[]::new);
55-
56-
String tx = db.beginStreamTransaction(new StreamTransactionOptions()
57-
.readCollections(txCols)
58-
.writeCollections(txCols)
59-
).getId();
60-
61-
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
62-
findOpts = new DocumentReadOptions().streamTransactionId(tx);
63-
}
64-
65-
@AfterEach
66-
void abortTx() {
67-
db.abortStreamTransaction(insertOpts.getStreamTransactionId());
68-
}
36+
public class RefMappingTxTest extends AbstractMappingTxTest {
6937

7038
public static class SingleReferenceTestEntity extends BasicTestEntity {
7139
@Ref

src/test/java/com/arangodb/springframework/core/mapping/RelationsMappingTxTest.java

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,9 @@
2020

2121
package com.arangodb.springframework.core.mapping;
2222

23-
import com.arangodb.model.DocumentCreateOptions;
24-
import com.arangodb.model.DocumentReadOptions;
25-
import com.arangodb.model.StreamTransactionOptions;
26-
import com.arangodb.springframework.AbstractArangoTest;
2723
import com.arangodb.springframework.annotation.Relations;
2824
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeTestEntity;
2925
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
30-
import org.junit.jupiter.api.AfterEach;
31-
import org.junit.jupiter.api.BeforeEach;
3226
import org.junit.jupiter.api.Test;
3327

3428
import java.util.*;
@@ -40,34 +34,7 @@
4034
/**
4135
* @author Mark Vollmary
4236
*/
43-
public class RelationsMappingTxTest extends AbstractArangoTest {
44-
45-
private DocumentCreateOptions insertOpts;
46-
private DocumentReadOptions findOpts;
47-
48-
@BeforeEach
49-
void beginTx() {
50-
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
51-
cols.add(BasicTestEntity.class);
52-
cols.add(BasicEdgeTestEntity.class);
53-
54-
String[] txCols = cols.stream()
55-
.map(it -> template.collection(it).name())
56-
.toArray(String[]::new);
57-
58-
String tx = db.beginStreamTransaction(new StreamTransactionOptions()
59-
.readCollections(txCols)
60-
.writeCollections(txCols)
61-
).getId();
62-
63-
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
64-
findOpts = new DocumentReadOptions().streamTransactionId(tx);
65-
}
66-
67-
@AfterEach
68-
void abortTx() {
69-
db.abortStreamTransaction(insertOpts.getStreamTransactionId());
70-
}
37+
public class RelationsMappingTxTest extends AbstractMappingTxTest {
7138

7239
public static class RelationsTestEntity extends BasicTestEntity {
7340
@Relations(edges = BasicEdgeTestEntity.class)

src/test/java/com/arangodb/springframework/core/mapping/ToMappingTxTest.java

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,13 @@
2020

2121
package com.arangodb.springframework.core.mapping;
2222

23-
import com.arangodb.model.DocumentCreateOptions;
24-
import com.arangodb.model.DocumentReadOptions;
25-
import com.arangodb.model.StreamTransactionOptions;
26-
import com.arangodb.springframework.AbstractArangoTest;
2723
import com.arangodb.springframework.annotation.To;
2824
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeLazyTestEntity;
2925
import com.arangodb.springframework.core.mapping.testdata.BasicEdgeTestEntity;
3026
import com.arangodb.springframework.core.mapping.testdata.BasicTestEntity;
31-
import org.junit.jupiter.api.AfterEach;
32-
import org.junit.jupiter.api.BeforeEach;
3327
import org.junit.jupiter.api.Test;
3428

35-
import java.util.Arrays;
3629
import java.util.Collection;
37-
import java.util.HashSet;
38-
import java.util.Set;
3930
import java.util.stream.Collectors;
4031

4132
import static org.hamcrest.MatcherAssert.assertThat;
@@ -45,35 +36,7 @@
4536
* @author Mark Vollmary
4637
*
4738
*/
48-
public class ToMappingTxTest extends AbstractArangoTest {
49-
50-
private DocumentCreateOptions insertOpts;
51-
private DocumentReadOptions findOpts;
52-
53-
@BeforeEach
54-
void beginTx() {
55-
Set<Class<?>> cols = new HashSet<>(Arrays.asList(getClass().getDeclaredClasses()));
56-
cols.add(BasicTestEntity.class);
57-
cols.add(BasicEdgeLazyTestEntity.class);
58-
cols.add(BasicEdgeTestEntity.class);
59-
60-
String[] txCols = cols.stream()
61-
.map(it -> template.collection(it).name())
62-
.toArray(String[]::new);
63-
64-
String tx = db.beginStreamTransaction(new StreamTransactionOptions()
65-
.readCollections(txCols)
66-
.writeCollections(txCols)
67-
).getId();
68-
69-
insertOpts = new DocumentCreateOptions().streamTransactionId(tx);
70-
findOpts = new DocumentReadOptions().streamTransactionId(tx);
71-
}
72-
73-
@AfterEach
74-
void abortTx() {
75-
db.abortStreamTransaction(insertOpts.getStreamTransactionId());
76-
}
39+
public class ToMappingTxTest extends AbstractMappingTxTest {
7740

7841
public static class DocumentToTestEntity extends BasicTestEntity {
7942
@To

0 commit comments

Comments
 (0)