From 878a0fd2c9cc1aa33e45864e18867938f77fd44b Mon Sep 17 00:00:00 2001 From: candiduslynx Date: Thu, 27 Apr 2023 18:13:32 +0300 Subject: [PATCH 1/2] add double migration test --- plugins/destination/plugin_testing_migrate.go | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/plugins/destination/plugin_testing_migrate.go b/plugins/destination/plugin_testing_migrate.go index a18c49f9ea..49c07026ae 100644 --- a/plugins/destination/plugin_testing_migrate.go +++ b/plugins/destination/plugin_testing_migrate.go @@ -15,6 +15,7 @@ import ( "github.com/cloudquery/plugin-sdk/v2/types" "github.com/google/uuid" "github.com/rs/zerolog" + "github.com/stretchr/testify/require" ) func tableUUIDSuffix() string { @@ -241,4 +242,25 @@ func (*PluginTestSuite) destinationPluginTestMigrate( t.Fatal(err) } }) + + t.Run("double_migration", func(t *testing.T) { + tableName := "double_migration_" + tableUUIDSuffix() + md := arrow.NewMetadata([]string{schema.MetadataTableName}, []string{tableName}) + table := arrow.NewSchema([]arrow.Field{ + schema.CqSourceNameField, + schema.CqSyncTimeField, + schema.CqIDField, + {Name: "id", Type: types.ExtensionTypes.UUID, Nullable: true}, + {Name: "bool", Type: arrow.FixedWidthTypes.Boolean}, + }, &md) + + p := newPlugin() + require.NoError(t, p.Init(ctx, logger, spec)) + require.NoError(t, p.Migrate(ctx, schema.Schemas{table})) + + nonForced := spec + nonForced.MigrateMode = specs.MigrateModeSafe + require.NoError(t, p.Init(ctx, logger, nonForced)) + require.NoError(t, p.Migrate(ctx, schema.Schemas{table})) + }) } From 0704777f19e1ae9ec56e51b20fb33e8b676c019b Mon Sep 17 00:00:00 2001 From: candiduslynx Date: Thu, 27 Apr 2023 18:24:00 +0300 Subject: [PATCH 2/2] use broad table --- plugins/destination/plugin_testing_migrate.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/plugins/destination/plugin_testing_migrate.go b/plugins/destination/plugin_testing_migrate.go index 49c07026ae..b0cc40acf8 100644 --- a/plugins/destination/plugin_testing_migrate.go +++ b/plugins/destination/plugin_testing_migrate.go @@ -245,14 +245,7 @@ func (*PluginTestSuite) destinationPluginTestMigrate( t.Run("double_migration", func(t *testing.T) { tableName := "double_migration_" + tableUUIDSuffix() - md := arrow.NewMetadata([]string{schema.MetadataTableName}, []string{tableName}) - table := arrow.NewSchema([]arrow.Field{ - schema.CqSourceNameField, - schema.CqSyncTimeField, - schema.CqIDField, - {Name: "id", Type: types.ExtensionTypes.UUID, Nullable: true}, - {Name: "bool", Type: arrow.FixedWidthTypes.Boolean}, - }, &md) + table := schema.CQSchemaToArrow(testdata.TestTable(tableName)) p := newPlugin() require.NoError(t, p.Init(ctx, logger, spec))