Skip to content

Commit

Permalink
feat(client)!: switch to mongo client from deprecated mongo class (#20)
Browse files Browse the repository at this point in the history
  • Loading branch information
fernandonogueira authored Mar 3, 2024
1 parent eac5017 commit 080f6d7
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 43 deletions.
15 changes: 8 additions & 7 deletions src/main/java/ox/engine/Ox.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ox.engine;

import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ox.engine.exception.InvalidMongoConfiguration;
Expand Down Expand Up @@ -39,11 +40,11 @@ public final class Ox {
private static final Logger LOG = LoggerFactory.getLogger(Ox.class);

private boolean simulate = false;
private Mongo mongo;
private String scanPackage;
private MongoDBConnector mongoConnector;
private final MongoClient mongo;
private final String scanPackage;
private final MongoDBConnector mongoConnector;

private Ox(Mongo mongo,
private Ox(MongoClient mongo,
String scanPackage,
String databaseName,
boolean createVersioningCollectionIfMissing) {
Expand All @@ -60,7 +61,7 @@ private Ox(Mongo mongo,
}

public static Ox setUp(
Mongo mongo,
MongoClient mongo,
String scanPackage,
String databaseName,
boolean createVersioningCollectionIfMissing) {
Expand All @@ -69,7 +70,7 @@ public static Ox setUp(
}

public static Ox setUp(
Mongo mongo,
MongoClient mongo,
String scanPackage,
String databaseName) {

Expand Down Expand Up @@ -252,4 +253,4 @@ private enum ExecutionMode {
UP, DOWN
}

}
}
8 changes: 4 additions & 4 deletions src/main/java/ox/engine/internal/MongoDBConnector.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@
public class MongoDBConnector {

private static final Logger LOG = LoggerFactory.getLogger(MongoDBConnector.class);
private String databaseName;
private final String databaseName;

private boolean createCollectionIfDontExists;
private final boolean createCollectionIfDontExists;

private MongoDBConnectorConfig config;
private final MongoDBConnectorConfig config;

public MongoDBConnector(MongoDBConnectorConfig config) {
LOG.info("[Ox] Configuring MongoDB Access...");
assert config != null;
this.config = config;
this.createCollectionIfDontExists = config.isCreateCollectionIfDontExists();
this.createCollectionIfDontExists = config.isCreateCollectionIfNotExists();
this.databaseName = config.getDatabaseName();

if (this.databaseName == null) {
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/ox/engine/internal/MongoDBConnectorConfig.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package ox.engine.internal;

import com.mongodb.Mongo;
import com.mongodb.MongoClient;

/**
* MongoDBConnector Configuration.
Expand All @@ -9,33 +9,33 @@
*/
public final class MongoDBConnectorConfig {

private boolean createCollectionIfDontExists;
private Mongo mongo;
private boolean createCollectionIfNotExists;
private MongoClient mongo;
private String databaseName;

public static MongoDBConnectorConfig create() {
return new MongoDBConnectorConfig();
}

private MongoDBConnectorConfig() {
this.createCollectionIfDontExists = true;
this.createCollectionIfNotExists = true;
}

public MongoDBConnectorConfig createCollectionIfDontExists(boolean value) {
this.createCollectionIfDontExists = value;
this.createCollectionIfNotExists = value;
return this;
}

public MongoDBConnectorConfig setMongoClient(Mongo mongo) {
public MongoDBConnectorConfig setMongoClient(MongoClient mongo) {
this.mongo = mongo;
return this;
}

public boolean isCreateCollectionIfDontExists() {
return createCollectionIfDontExists;
public boolean isCreateCollectionIfNotExists() {
return createCollectionIfNotExists;
}

public Mongo getMongo() {
public MongoClient getMongo() {
return mongo;
}

Expand Down
3 changes: 1 addition & 2 deletions src/test/java/ox/engine/OxMigrationDownTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import org.mockito.junit.MockitoJUnitRunner;
import ox.Configuration;
import ox.engine.exception.InvalidMongoConfiguration;
import ox.engine.internal.MongoDBConnector;

import java.util.ArrayList;
import java.util.List;
Expand All @@ -19,7 +18,7 @@
public class OxMigrationDownTest {

@Mock
private Mongo mongo;
private MongoClient mongo;

@Test
public void runDownMigrationOnANonEmptyDBTest() throws InvalidMongoConfiguration {
Expand Down
9 changes: 3 additions & 6 deletions src/test/java/ox/engine/OxMigrationTest.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package ox.engine;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
Expand All @@ -19,7 +16,7 @@ public class OxMigrationTest {
private MongoDBConnector mongoConnector;

@Mock
private Mongo mongo;
private MongoClient mongo;

@Mock
private DB db;
Expand All @@ -44,7 +41,7 @@ public void runDownMigrationTest() throws InvalidMongoConfiguration {

Mockito.when(mongo.getDB(Mockito.anyString())).thenReturn(db);
Mockito.when(db.getCollection(Mockito.anyString())).thenReturn(coll);
Mockito.when(coll.count(Mockito.any(DBObject.class))).thenReturn(1l);
Mockito.when(coll.count(Mockito.any(DBObject.class))).thenReturn(1L);

Ox
.setUp(mongo, "ox.db.migrations", "myDB", true)
Expand Down
24 changes: 12 additions & 12 deletions src/test/java/ox/engine/internal/MongoDBConnectorTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
@RunWith(MockitoJUnitRunner.class)
public class MongoDBConnectorTest {

private Mongo newMockedMongo() {
return Mockito.mock(Mongo.class);
private MongoClient newMockedMongo() {
return Mockito.mock(MongoClient.class);
}

private static DB createMockedDB(boolean collectionExists) {
Expand Down Expand Up @@ -68,7 +68,7 @@ public void mongoDBConnectorNoDatabaseValidationTest() {
@Test(expected = InvalidMongoDatabaseConfiguration.class)
public void mongoDBConnectorDatabaseNotFoundAndAutoCreationNotSetTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);

MongoDBConnector connector = new MongoDBConnector(MongoDBConnectorConfig
.create()
Expand Down Expand Up @@ -115,7 +115,7 @@ public void mongoDBConnectorGetSchemaVersionTest() {
@Test
public void mongoDBConnectorCreateSchemaVersionCollectionIfNotExists() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);

String fakeDB = Faker.fakeDBName();

Expand Down Expand Up @@ -161,7 +161,7 @@ public void executeCommandTest() {
@Test(expected = InvalidCollectionException.class)
public void executeInvalidCollectionCommandTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);

MongoDBConnector connector = new MongoDBConnector(MongoDBConnectorConfig
.create()
Expand All @@ -183,7 +183,7 @@ public void executeInvalidCollectionCommandTest() {
@Test
public void verifyIfAn2dsphereIndexWithSameAttributesAlreadyExistsTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);

MongoDBConnectorConfig config = MongoDBConnectorConfig
.create()
Expand Down Expand Up @@ -220,7 +220,7 @@ public void verifyIfAn2dsphereIndexWithSameAttributesAlreadyExistsTest() {
@Test
public void verifyIfAnIndexWithSameAttributesAlreadyExistsTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);

MongoDBConnectorConfig config = MongoDBConnectorConfig
.create()
Expand Down Expand Up @@ -260,7 +260,7 @@ public void verifyIfAnIndexWithSameAttributesAlreadyExistsTest() {
@Test
public void validateVerifyIfIndexExistsWhenTheCollectionHasNoIndex() {

Mongo mockedMongo = newMockedMongo();
MongoClient mockedMongo = newMockedMongo();

MongoDBConnectorConfig config = MongoDBConnectorConfig
.create()
Expand All @@ -281,7 +281,7 @@ public void validateVerifyIfIndexExistsWhenTheCollectionHasNoIndex() {
Mockito.when(db.getCollection(Mockito.anyString())).thenReturn(collection);
Mockito.when(collection.getIndexInfo()).thenReturn(indexInfo);

Assert.assertTrue(!connector.verifyIfIndexExists(attrs, "myIndexTest", "myCollection"));
Assert.assertFalse(connector.verifyIfIndexExists(attrs, "myIndexTest", "myCollection"));
}

/**
Expand All @@ -292,7 +292,7 @@ public void validateVerifyIfIndexExistsWhenTheCollectionHasNoIndex() {
@Test
public void validateVerifyIfIndexWithTheSameNameExists() {

Mongo mockedMongo = newMockedMongo();
MongoClient mockedMongo = newMockedMongo();

MongoDBConnectorConfig config = MongoDBConnectorConfig
.create()
Expand Down Expand Up @@ -386,7 +386,7 @@ public void dropIndexByNameIndexNullTest() {
@Test
public void dropIndexByNameDatabaseNotNullTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);
DB db = Mockito.mock(DB.class);
DBCollection collection = Mockito.mock(DBCollection.class);

Expand All @@ -404,7 +404,7 @@ public void dropIndexByNameDatabaseNotNullTest() {
@Test
public void createIndexTest() {

Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);
DB db = Mockito.mock(DB.class);
DBCollection collection = Mockito.mock(DBCollection.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
Expand All @@ -14,7 +15,7 @@
public class ValidateRemoveIndexActionTest {

private MongoDBConnector newMongoDBConnector() {
Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);
return new MongoDBConnector(MongoDBConnectorConfig.create()
.setMongoClient(mockedMongo).setDatabaseName(Faker.fakeDBName()));
}
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/ox/utils/TestUtils.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package ox.utils;

import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import org.mockito.Mockito;
import ox.engine.internal.MongoDBConnector;
import ox.engine.internal.MongoDBConnectorConfig;

public class TestUtils {

public static MongoDBConnector newMongoDBConnector() {
Mongo mockedMongo = Mockito.mock(Mongo.class);
MongoClient mockedMongo = Mockito.mock(MongoClient.class);
return new MongoDBConnector(MongoDBConnectorConfig
.create()
.setMongoClient(mockedMongo)
Expand Down

0 comments on commit 080f6d7

Please sign in to comment.