Search in sources :

Example 16 with ResolvedMigration

use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.

the class JdbcMigrationResolverSmallTest method resolveMigrations.

@Test
public void resolveMigrations() throws SQLException {
    JdbcMigrationResolver jdbcMigrationResolver = new JdbcMigrationResolver(scanner, new Location("org/flywaydb/core/internal/resolver/jdbc/dummy"), config);
    Collection<ResolvedMigration> migrations = jdbcMigrationResolver.resolveMigrations();
    assertEquals(3, migrations.size());
    List<ResolvedMigration> migrationList = new ArrayList<ResolvedMigration>(migrations);
    ResolvedMigration migrationInfo = migrationList.get(0);
    assertEquals("2", migrationInfo.getVersion().toString());
    assertEquals("InterfaceBasedMigration", migrationInfo.getDescription());
    assertNull(migrationInfo.getChecksum());
    // do a test execute, since the migration does not do anything, we simply test whether the
    // configuration has been set correctly
    migrationInfo.getExecutor().execute(null);
    ResolvedMigration migrationInfo1 = migrationList.get(1);
    assertEquals("3.5", migrationInfo1.getVersion().toString());
    assertEquals("Three Dot Five", migrationInfo1.getDescription());
    assertEquals(35, migrationInfo1.getChecksum().intValue());
    ResolvedMigration migrationInfo2 = migrationList.get(2);
    assertEquals("4", migrationInfo2.getVersion().toString());
}
Also used : ArrayList(java.util.ArrayList) ResolvedMigration(org.flywaydb.core.api.resolver.ResolvedMigration) Location(org.flywaydb.core.internal.util.Location) Test(org.junit.Test)

Example 17 with ResolvedMigration

use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.

the class JdbcMigrationResolverSmallTest method conventionOverConfiguration.

@Test
public void conventionOverConfiguration() {
    JdbcMigrationResolver jdbcMigrationResolver = new JdbcMigrationResolver(scanner, null, null);
    ResolvedMigration migrationInfo = jdbcMigrationResolver.extractMigrationInfo(new V2__InterfaceBasedMigration());
    assertEquals("2", migrationInfo.getVersion().toString());
    assertEquals("InterfaceBasedMigration", migrationInfo.getDescription());
    assertNull(migrationInfo.getChecksum());
}
Also used : V2__InterfaceBasedMigration(org.flywaydb.core.internal.resolver.jdbc.dummy.V2__InterfaceBasedMigration) ResolvedMigration(org.flywaydb.core.api.resolver.ResolvedMigration) Test(org.junit.Test)

Example 18 with ResolvedMigration

use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.

the class SpringJdbcMigrationResolverSmallTest method resolveMigrations.

@Test
public void resolveMigrations() {
    SpringJdbcMigrationResolver springJdbcMigrationResolver = new SpringJdbcMigrationResolver(scanner, new Location("org/flywaydb/core/internal/resolver/spring/dummy"), config);
    Collection<ResolvedMigration> migrations = springJdbcMigrationResolver.resolveMigrations();
    assertEquals(2, migrations.size());
    List<ResolvedMigration> migrationList = new ArrayList<ResolvedMigration>(migrations);
    assertEquals("2", migrationList.get(0).getVersion().toString());
    assertEquals("3.5", migrationList.get(1).getVersion().toString());
    assertEquals("InterfaceBasedMigration", migrationList.get(0).getDescription());
    assertEquals("Three Dot Five", migrationList.get(1).getDescription());
    assertNull(migrationList.get(0).getChecksum());
    assertEquals(35, migrationList.get(1).getChecksum().intValue());
}
Also used : ArrayList(java.util.ArrayList) ResolvedMigration(org.flywaydb.core.api.resolver.ResolvedMigration) Location(org.flywaydb.core.internal.util.Location) Test(org.junit.Test)

Example 19 with ResolvedMigration

use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.

the class SpringJdbcMigrationResolverSmallTest method conventionOverConfiguration.

@Test
public void conventionOverConfiguration() {
    SpringJdbcMigrationResolver springJdbcMigrationResolver = new SpringJdbcMigrationResolver(scanner, null, null);
    ResolvedMigration migrationInfo = springJdbcMigrationResolver.extractMigrationInfo(new V2__InterfaceBasedMigration());
    assertEquals("2", migrationInfo.getVersion().toString());
    assertEquals("InterfaceBasedMigration", migrationInfo.getDescription());
    assertNull(migrationInfo.getChecksum());
}
Also used : V2__InterfaceBasedMigration(org.flywaydb.core.internal.resolver.spring.dummy.V2__InterfaceBasedMigration) ResolvedMigration(org.flywaydb.core.api.resolver.ResolvedMigration) Test(org.junit.Test)

Example 20 with ResolvedMigration

use of org.flywaydb.core.api.resolver.ResolvedMigration in project flyway by flyway.

the class SampleResolver method resolveMigrations.

@Override
public Collection<ResolvedMigration> resolveMigrations() {
    return Arrays.asList((ResolvedMigration) new ResolvedMigration() {

        @Override
        public MigrationVersion getVersion() {
            return MigrationVersion.fromVersion("2.0");
        }

        @Override
        public String getDescription() {
            return "Custom Resolved";
        }

        @Override
        public String getScript() {
            return "R1";
        }

        @Override
        public Integer getChecksum() {
            return 20;
        }

        @Override
        public MigrationType getType() {
            return MigrationType.CUSTOM;
        }

        @Override
        public String getPhysicalLocation() {
            return null;
        }

        @Override
        public MigrationExecutor getExecutor() {
            return new MigrationExecutor() {

                @Override
                public void execute(Connection connection) throws SQLException {
                    Statement statement = null;
                    try {
                        statement = connection.createStatement();
                        statement.execute("INSERT INTO test_user (name) VALUES ('Resolvix')");
                    } finally {
                        JdbcUtils.closeStatement(statement);
                    }
                }

                @Override
                public boolean executeInTransaction() {
                    return true;
                }
            };
        }
    });
}
Also used : Statement(java.sql.Statement) MigrationExecutor(org.flywaydb.core.api.resolver.MigrationExecutor) Connection(java.sql.Connection) ResolvedMigration(org.flywaydb.core.api.resolver.ResolvedMigration)

Aggregations

ResolvedMigration (org.flywaydb.core.api.resolver.ResolvedMigration)24 Test (org.junit.Test)13 ArrayList (java.util.ArrayList)10 Location (org.flywaydb.core.internal.util.Location)7 Scanner (org.flywaydb.core.internal.util.scanner.Scanner)5 FlywayException (org.flywaydb.core.api.FlywayException)4 MigrationResolver (org.flywaydb.core.api.resolver.MigrationResolver)4 MigrationVersion (org.flywaydb.core.api.MigrationVersion)3 ResolvedMigrationComparator (org.flywaydb.core.internal.resolver.ResolvedMigrationComparator)3 ResolvedMigrationImpl (org.flywaydb.core.internal.resolver.ResolvedMigrationImpl)3 Connection (java.sql.Connection)2 MigrationType (org.flywaydb.core.api.MigrationType)2 MigrationExecutor (org.flywaydb.core.api.resolver.MigrationExecutor)2 AppliedMigration (org.flywaydb.core.internal.metadatatable.AppliedMigration)2 SqlMigrationResolver (org.flywaydb.core.internal.resolver.sql.SqlMigrationResolver)2 Locations (org.flywaydb.core.internal.util.Locations)2 PlaceholderReplacer (org.flywaydb.core.internal.util.PlaceholderReplacer)2 Hashing (com.google.common.hash.Hashing)1 ByteSource (com.google.common.io.ByteSource)1 File (java.io.File)1