Skip to content

Commit

Permalink
Fixed db upgrade failure test
Browse files Browse the repository at this point in the history
  • Loading branch information
andreaceccanti committed Jan 10, 2022
1 parent 93bbe89 commit 04300ef
Showing 1 changed file with 14 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,21 @@
*/
package it.infn.mw.iam.test.db_upgrade;

import java.io.IOException;
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.DynamicPropertyRegistry;
import org.springframework.test.context.DynamicPropertySource;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.boot.SpringApplication;
import org.testcontainers.containers.BindMode;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

import it.infn.mw.iam.IamLoginService;
import it.infn.mw.iam.test.util.db.MySQL57TestContainer;

@Testcontainers(disabledWithoutDocker = true)
@SpringBootTest
@AutoConfigureMockMvc
@Transactional
@ActiveProfiles({"mysql-test", "flyway-repair"})
@DirtiesContext
public class Upgradev1_7_0DbTests extends UpgradeDbTestSupport {

public static final String DB_DUMP = "iam-v1.7.0-mysql5.7.sql";
Expand All @@ -47,17 +40,18 @@ public class Upgradev1_7_0DbTests extends UpgradeDbTestSupport {
joinPathStrings(DB_DUMPS_DIR, DB_DUMP), joinPathStrings(INITDB_DIR, DB_DUMP),
BindMode.READ_ONLY);


@DynamicPropertySource
static void registerMysqlConnectionString(DynamicPropertyRegistry registry) {
registry.add("spring.datasource.url", db::getJdbcUrl);
}

@Test
public void dbUpgradeFails() throws IOException {
public void dbUpgradeFailsGracefully() throws Exception {

SpringApplication iamApp = new SpringApplication(IamLoginService.class);

BeanCreationException exception = assertThrows(BeanCreationException.class, () -> {
iamApp.run("--spring.profiles.active=mysql-test,flyway-repair",
"--spring.datasource.url=" + db.getJdbcUrl());
});

assertThat(exception.getMessage(),
containsString("'version_rank' doesn't have a default value"));
}

}

0 comments on commit 04300ef

Please sign in to comment.