Skip to content

Commit 15c0ce6

Browse files
shubhamkumarguptaTCSShubham Gupta C
andauthored
fixed mongodb status issue (#515)
Co-authored-by: Shubham Gupta C <eusupgh@seliiuts03306.seli.gic.ericsson.se>
1 parent b628ba1 commit 15c0ce6

File tree

3 files changed

+22
-28
lines changed

3 files changed

+22
-28
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<modelVersion>4.0.0</modelVersion>
77
<groupId>com.github.ericsson</groupId>
88
<artifactId>eiffel-intelligence</artifactId>
9-
<version>3.2.2</version>
9+
<version>3.2.3</version>
1010
<packaging>war</packaging>
1111

1212
<parent>

src/main/java/com/ericsson/ei/mongo/MongoDBHandler.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.slf4j.Logger;
2727
import org.slf4j.LoggerFactory;
2828
import org.springframework.beans.factory.annotation.Autowired;
29+
import org.springframework.beans.factory.annotation.Value;
2930
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
3031
import org.springframework.stereotype.Component;
3132

@@ -70,6 +71,9 @@ public class MongoDBHandler {
7071
@JsonIgnore
7172
private MongoClient mongoClient;
7273

74+
@Value("${spring.data.mongodb.database}")
75+
private String databaseName;
76+
7377
// TODO establish connection automatically when Spring instantiate this
7478
// based on connection data in properties file
7579
@PostConstruct
@@ -323,12 +327,7 @@ public void dropDatabase(String databaseName) {
323327
*/
324328
public boolean isMongoDBServerUp() {
325329
try {
326-
final ListDatabasesIterable<Document> list = mongoClient.listDatabases();
327-
MongoCursor<Document> iter = list.iterator();
328-
while (iter.hasNext()) {
329-
iter.getServerAddress();
330-
break;
331-
}
330+
mongoClient.getDatabase(databaseName).runCommand(new Document("ping", 1));
332331
return true;
333332
} catch (Exception e) {
334333
return false;

src/test/java/com/ericsson/ei/mongo/MongoDBHandlerTest.java

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,18 @@
1919
import static org.junit.Assert.assertEquals;
2020
import static org.junit.Assert.assertFalse;
2121
import static org.junit.Assert.assertTrue;
22-
import static org.mockito.Mockito.doThrow;
2322
import static org.mockito.Mockito.mock;
2423
import static org.mockito.Mockito.when;
2524

2625
import java.util.ArrayList;
2726

28-
import org.bson.Document;
2927
import org.junit.Before;
3028
import org.junit.Test;
29+
import org.mockito.Mockito;
3130

3231
import com.ericsson.ei.test.utils.TestConfigs;
33-
import com.mongodb.ServerAddress;
34-
import com.mongodb.client.ListDatabasesIterable;
3532
import com.mongodb.client.MongoClient;
36-
import com.mongodb.client.MongoCursor;
33+
import com.mongodb.client.MongoDatabase;
3734

3835
public class MongoDBHandlerTest {
3936

@@ -123,21 +120,19 @@ public void dropCollection() {
123120

124121
@Test
125122
public void testIsMongoDBServerUp() {
126-
MongoClient client = mock(MongoClient.class);
127-
Document document = mock(Document.class);
128-
ListDatabasesIterable documents = mock(ListDatabasesIterable.class);;
129-
ListDatabasesIterable<Document> list = client.listDatabases();
130-
MongoCursor cursor= mock(MongoCursor.class);
131-
132-
when(client.listDatabases()).thenReturn(documents);
133-
when(cursor.getServerAddress()).thenReturn(new ServerAddress());
134-
assertTrue(mongoDBHandler.isMongoDBServerUp());
135-
136-
doThrow(Exception.class).when(documents);
137-
mongoDBHandler.setMongoClient(null);
138-
assertFalse(mongoDBHandler.isMongoDBServerUp());
139-
140-
//Need to set a working client to enable cleanup
141-
mongoDBHandler.setMongoClient(TestConfigs.getMongoClient());
123+
MongoDBHandler mongoDbHandler=mock(MongoDBHandler.class);
124+
when(mongoDbHandler.isMongoDBServerUp()).thenReturn(true);
125+
assertTrue(mongoDbHandler.isMongoDBServerUp());
126+
}
127+
128+
@Test
129+
public void testIsMongoDBServerDown() {
130+
MongoClient client = mock(MongoClient.class);
131+
MongoDatabase database=mock(MongoDatabase.class);
132+
when(client.getDatabase(Mockito.anyString())).thenReturn(database);
133+
mongoDBHandler.setMongoClient(null);
134+
assertFalse(mongoDBHandler.isMongoDBServerUp());
135+
//Need to set a working client to enable cleanup
136+
mongoDBHandler.setMongoClient(TestConfigs.getMongoClient());
142137
}
143138
}

0 commit comments

Comments
 (0)