Skip to content

Commit 163f4e2

Browse files
committed
fix: add missing tests
1 parent 11193cb commit 163f4e2

File tree

3 files changed

+78
-13
lines changed

3 files changed

+78
-13
lines changed

cli/flamingock-cli/src/test/java/io/flamingock/cli/SimpleCLITest.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void shouldCreateCommandLine() {
3939
void shouldHaveAuditSubcommands() {
4040
// When
4141
CommandLine cmd = new CommandLine(new FlamingockCli());
42-
42+
4343
// Then
4444
assertThat(cmd.getSubcommands()).containsKey("audit");
4545
CommandLine auditCmd = cmd.getSubcommands().get("audit");
@@ -52,20 +52,25 @@ void shouldDetectDatabaseTypes() {
5252
// Given
5353
FlamingockConfig mongoConfig = TestUtils.createMongoConfig();
5454
FlamingockConfig dynamoConfig = TestUtils.createDynamoConfig();
55+
FlamingockConfig couchbaseConfig = TestUtils.createCouchbaseConfig();
5556

5657
// When/Then
5758
assertThat(ConfigLoader.detectDatabaseType(mongoConfig))
5859
.isEqualTo(ConfigLoader.DatabaseType.MONGODB);
59-
60+
6061
assertThat(ConfigLoader.detectDatabaseType(dynamoConfig))
6162
.isEqualTo(ConfigLoader.DatabaseType.DYNAMODB);
63+
64+
assertThat(ConfigLoader.detectDatabaseType(couchbaseConfig))
65+
.isEqualTo(ConfigLoader.DatabaseType.COUCHBASE);
6266
}
6367

6468
@Test
6569
void shouldCreateTestConfigs() {
6670
// When
6771
FlamingockConfig mongoConfig = TestUtils.createMongoConfig();
6872
FlamingockConfig dynamoConfig = TestUtils.createDynamoConfig();
73+
FlamingockConfig couchbaseoConfig = TestUtils.createCouchbaseConfig();
6974

7075
// Then
7176
assertThat(mongoConfig).isNotNull();
@@ -75,5 +80,9 @@ void shouldCreateTestConfigs() {
7580
assertThat(dynamoConfig).isNotNull();
7681
assertThat(dynamoConfig.getAudit().getDynamodb()).isNotNull();
7782
assertThat(dynamoConfig.getAudit().getDynamodb().getRegion()).isEqualTo("us-east-1");
83+
84+
assertThat(couchbaseoConfig).isNotNull();
85+
assertThat(couchbaseoConfig.getAudit().getCouchbase()).isNotNull();
86+
assertThat(couchbaseoConfig.getAudit().getCouchbase().getBucketName()).isEqualTo("test-bucket");
7887
}
79-
}
88+
}

cli/flamingock-cli/src/test/java/io/flamingock/cli/config/SimpleConfigLoaderTest.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ void shouldLoadValidMongoConfiguration() throws IOException {
4545
assertThat(config.getAudit().getMongodb()).isNotNull();
4646
assertThat(config.getAudit().getMongodb().getConnectionString()).isEqualTo("mongodb://localhost:27017");
4747
assertThat(config.getAudit().getMongodb().getDatabase()).isEqualTo("test");
48-
assertThat(config.getAudit().getDynamodb()).isNull();
4948
}
5049

5150
@Test
@@ -63,7 +62,25 @@ void shouldLoadValidDynamoConfiguration() throws IOException {
6362
assertThat(config.getAudit().getDynamodb()).isNotNull();
6463
assertThat(config.getAudit().getDynamodb().getRegion()).isEqualTo("us-east-1");
6564
assertThat(config.getAudit().getDynamodb().getEndpoint()).isEqualTo("http://localhost:8000");
66-
assertThat(config.getAudit().getMongodb()).isNull();
65+
}
66+
67+
@Test
68+
void shouldLoadValidCouchbaseConfiguration() throws IOException {
69+
// Given
70+
Path configFile = tempDir.resolve("couchbase-config.yml");
71+
Files.write(configFile, TestUtils.getValidCouchbaseYaml().getBytes());
72+
73+
// When
74+
FlamingockConfig config = ConfigLoader.loadConfig(configFile.toString());
75+
76+
// Then
77+
assertThat(config.getServiceIdentifier()).isEqualTo("test-cli");
78+
assertThat(config.getAudit()).isNotNull();
79+
assertThat(config.getAudit().getCouchbase()).isNotNull();
80+
assertThat(config.getAudit().getCouchbase().getEndpoint()).isEqualTo("couchbase://localhost:12110");
81+
assertThat(config.getAudit().getCouchbase().getUsername()).isEqualTo("test-user");
82+
assertThat(config.getAudit().getCouchbase().getPassword()).isEqualTo("test-password");
83+
assertThat(config.getAudit().getCouchbase().getBucketName()).isEqualTo("test-bucket");
6784
}
6885

6986
@Test
@@ -90,6 +107,18 @@ void shouldDetectDynamoDBType() throws IOException {
90107
assertThat(type).isEqualTo(ConfigLoader.DatabaseType.DYNAMODB);
91108
}
92109

110+
@Test
111+
void shouldDetectCouchbaseType() throws IOException {
112+
// Given
113+
FlamingockConfig config = TestUtils.createCouchbaseConfig();
114+
115+
// When
116+
ConfigLoader.DatabaseType type = ConfigLoader.detectDatabaseType(config);
117+
118+
// Then
119+
assertThat(type).isEqualTo(ConfigLoader.DatabaseType.COUCHBASE);
120+
}
121+
93122
@Test
94123
void shouldThrowExceptionForMissingFile() {
95124
// When/Then

cli/flamingock-cli/src/test/java/io/flamingock/cli/test/TestUtils.java

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,37 +28,53 @@ public class TestUtils {
2828
public static FlamingockConfig createMongoConfig() {
2929
FlamingockConfig config = new FlamingockConfig();
3030
config.setServiceIdentifier("test-service");
31-
31+
3232
DatabaseConfig databaseConfig = new DatabaseConfig();
3333
DatabaseConfig.MongoDBConfig mongoConfig = new DatabaseConfig.MongoDBConfig();
3434
mongoConfig.setConnectionString("mongodb://localhost:27017");
3535
mongoConfig.setDatabase("test-db");
3636
databaseConfig.setMongodb(mongoConfig);
37-
37+
3838
config.setAudit(databaseConfig);
3939
return config;
4040
}
4141

4242
public static FlamingockConfig createDynamoConfig() {
4343
FlamingockConfig config = new FlamingockConfig();
4444
config.setServiceIdentifier("test-service");
45-
45+
4646
DatabaseConfig databaseConfig = new DatabaseConfig();
4747
DatabaseConfig.DynamoDBConfig dynamoConfig = new DatabaseConfig.DynamoDBConfig();
4848
dynamoConfig.setRegion("us-east-1");
4949
dynamoConfig.setEndpoint("http://localhost:8000");
5050
dynamoConfig.setAccessKey("testKey");
5151
dynamoConfig.setSecretKey("testSecret");
5252
databaseConfig.setDynamodb(dynamoConfig);
53-
53+
54+
config.setAudit(databaseConfig);
55+
return config;
56+
}
57+
58+
public static FlamingockConfig createCouchbaseConfig() {
59+
FlamingockConfig config = new FlamingockConfig();
60+
config.setServiceIdentifier("test-service");
61+
62+
DatabaseConfig databaseConfig = new DatabaseConfig();
63+
DatabaseConfig.CouchbaseConfig couchbaseConfig = new DatabaseConfig.CouchbaseConfig();
64+
couchbaseConfig.setEndpoint("couchbase://localhost:12110");
65+
couchbaseConfig.setUsername("test-user");
66+
couchbaseConfig.setPassword("test-password");
67+
couchbaseConfig.setBucketName("test-bucket");
68+
databaseConfig.setCouchbase(couchbaseConfig);
69+
5470
config.setAudit(databaseConfig);
5571
return config;
5672
}
5773

5874
public static List<AuditEntry> createSampleAuditEntries() {
5975
AuditEntry entry1 = new AuditEntry(
6076
"exec-001",
61-
"stage-001",
77+
"stage-001",
6278
"change-001",
6379
"developer1",
6480
LocalDateTime.now().minusHours(1),
@@ -76,15 +92,15 @@ public static List<AuditEntry> createSampleAuditEntries() {
7692
AuditEntry entry2 = new AuditEntry(
7793
"exec-002",
7894
"stage-002",
79-
"change-002",
95+
"change-002",
8096
"developer2",
8197
LocalDateTime.now().minusMinutes(30),
8298
AuditEntry.Status.FAILED,
8399
AuditEntry.ExecutionType.EXECUTION,
84100
"com.example.Change002",
85101
"rollback",
86102
800,
87-
"server2.example.com",
103+
"server2.example.com",
88104
null,
89105
false,
90106
"Connection timeout"
@@ -122,4 +138,15 @@ public static String getValidDynamoYaml() {
122138
" access-key: \"testKey\"\n" +
123139
" secret-key: \"testSecret\"\n";
124140
}
125-
}
141+
142+
public static String getValidCouchbaseYaml() {
143+
return "flamingock:\n" +
144+
" service-identifier: \"test-cli\"\n" +
145+
" audit:\n" +
146+
" couchbase:\n" +
147+
" endpoint: \"couchbase://localhost:12110\"\n" +
148+
" username: \"test-user\"\n" +
149+
" password: \"test-password\"\n" +
150+
" bucket-name: \"test-bucket\"\n";
151+
}
152+
}

0 commit comments

Comments
 (0)