Skip to content

Commit 82983d8

Browse files
committed
adds couchbase configuration
1 parent aca6e72 commit 82983d8

File tree

3 files changed

+25
-35
lines changed

3 files changed

+25
-35
lines changed

couchdb-driver/src/test/java/org/jnosql/diana/couchdb/document/CouchDBDocumentCollectionManagerAsyncTest.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@
2222
import org.jnosql.diana.api.document.DocumentEntity;
2323
import org.jnosql.diana.api.document.DocumentQuery;
2424
import org.jnosql.diana.api.document.Documents;
25-
import org.jnosql.diana.couchdb.document.configuration.CouchDBDocumentTcConfiguration;
2625
import org.junit.jupiter.api.AfterAll;
27-
import org.junit.jupiter.api.BeforeAll;
2826
import org.junit.jupiter.api.BeforeEach;
2927
import org.junit.jupiter.api.Test;
3028

@@ -39,6 +37,7 @@
3937
import static org.hamcrest.Matchers.notNullValue;
4038
import static org.jnosql.diana.api.document.query.DocumentQueryBuilder.delete;
4139
import static org.jnosql.diana.api.document.query.DocumentQueryBuilder.select;
40+
import static org.jnosql.diana.couchdb.document.configuration.CouchDBDocumentTcConfiguration.INSTANCE;
4241
import static org.junit.jupiter.api.Assertions.assertEquals;
4342
import static org.junit.jupiter.api.Assertions.assertFalse;
4443
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -51,12 +50,6 @@ class CouchDBDocumentCollectionManagerAsyncTest {
5150

5251
private DocumentCollectionManager entityManager;
5352

54-
private static CouchDBDocumentConfiguration configuration;
55-
56-
@BeforeAll
57-
public static void setupContainer() {
58-
configuration = CouchDBDocumentTcConfiguration.getTcConfiguration();
59-
}
6053

6154
@AfterAll
6255
public static void afterClass() throws InterruptedException {
@@ -65,7 +58,7 @@ public static void afterClass() throws InterruptedException {
6558

6659
@BeforeEach
6760
public void setUp() {
68-
CouchDBDocumentCollectionManagerFactory managerFactory = configuration.get();
61+
CouchDBDocumentCollectionManagerFactory managerFactory = INSTANCE.get();
6962
entityManagerAsync = managerFactory.getAsync("people");
7063
entityManager = managerFactory.get("people");
7164
DocumentEntity documentEntity = getEntity();

couchdb-driver/src/test/java/org/jnosql/diana/couchdb/document/DefaultCouchDBDocumentCollectionManagerTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.jnosql.diana.api.document.DocumentQuery;
2323
import org.jnosql.diana.api.document.Documents;
2424
import org.jnosql.diana.api.document.query.DocumentQueryBuilder;
25-
import org.jnosql.diana.couchdb.document.configuration.CouchDBDocumentTcConfiguration;
2625
import org.junit.jupiter.api.BeforeEach;
2726
import org.junit.jupiter.api.Test;
2827

@@ -34,6 +33,7 @@
3433
import static java.util.Arrays.asList;
3534
import static org.jnosql.diana.api.document.query.DocumentQueryBuilder.select;
3635
import static org.jnosql.diana.couchdb.document.CouchDBConstant.ID;
36+
import static org.jnosql.diana.couchdb.document.configuration.CouchDBDocumentTcConfiguration.INSTANCE;
3737
import static org.junit.jupiter.api.Assertions.assertEquals;
3838
import static org.junit.jupiter.api.Assertions.assertFalse;
3939
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@@ -48,8 +48,7 @@ class DefaultCouchDBDocumentCollectionManagerTest {
4848
private CouchDBDocumentCollectionManager entityManager;
4949

5050
{
51-
CouchDBDocumentConfiguration configuration = CouchDBDocumentTcConfiguration.getTcConfiguration();
52-
CouchDBDocumentCollectionManagerFactory managerFactory = configuration.get();
51+
CouchDBDocumentCollectionManagerFactory managerFactory = INSTANCE.get();
5352
entityManager = managerFactory.get("people");
5453
}
5554

couchdb-driver/src/test/java/org/jnosql/diana/couchdb/document/configuration/CouchDBDocumentTcConfiguration.java

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,27 @@
2020
import org.jnosql.diana.api.SettingsBuilder;
2121
import org.jnosql.diana.couchdb.document.CouchDBDocumentCollectionManagerFactory;
2222
import org.jnosql.diana.couchdb.document.CouchDBDocumentConfiguration;
23+
import org.testcontainers.containers.GenericContainer;
2324

24-
public class CouchDBDocumentTcConfiguration extends CouchDBDocumentConfiguration {
25-
26-
private static CouchDBDocumentTcConfiguration tcConfiguration;
27-
private CouchDBContainer couchDB;
28-
29-
private CouchDBDocumentTcConfiguration() {
30-
couchDB = new CouchDBContainer();
31-
couchDB.start();
32-
}
33-
34-
public static CouchDBDocumentTcConfiguration getTcConfiguration() {
35-
if (tcConfiguration == null) {
36-
tcConfiguration = new CouchDBDocumentTcConfiguration();
37-
}
38-
return tcConfiguration;
39-
}
40-
41-
@Override
42-
public CouchDBDocumentCollectionManagerFactory get() {
43-
SettingsBuilder builder = Settings.builder();
44-
builder.put(CouchDBDocumentConfiguration.PORT, couchDB.getFirstMappedPort());
45-
return super.get(builder.build());
46-
}
25+
import java.util.function.Supplier;
26+
27+
public enum CouchDBDocumentTcConfiguration implements Supplier<CouchDBDocumentCollectionManagerFactory> {
28+
29+
INSTANCE;
30+
31+
32+
private GenericContainer couchDB = new CouchDBContainer();
33+
34+
{
35+
couchDB.start();
36+
}
37+
38+
@Override
39+
public CouchDBDocumentCollectionManagerFactory get() {
40+
CouchDBDocumentConfiguration configuration = new CouchDBDocumentConfiguration();
41+
SettingsBuilder builder = Settings.builder();
42+
builder.put(CouchDBDocumentConfiguration.PORT, couchDB.getFirstMappedPort());
43+
return configuration.get(builder.build());
44+
}
4745

4846
}

0 commit comments

Comments
 (0)