plugins_migration_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package migrations
  2. import (
  3. "strings"
  4. "testing"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func TestPluginsMigrationKeepsAccountSchemaUnchanged(t *testing.T) {
  8. content, err := FS.ReadFile("229_plugins.sql")
  9. require.NoError(t, err)
  10. sql := strings.Join(strings.Fields(string(content)), " ")
  11. require.Contains(t, sql, "CREATE TABLE IF NOT EXISTS sub2api_plugin_installations")
  12. require.Contains(t, sql, "CREATE TABLE IF NOT EXISTS sub2api_plugin_bindings")
  13. require.Contains(t, sql, "config_encrypted TEXT NOT NULL DEFAULT ''")
  14. require.Contains(t, sql, "REFERENCES sub2api_plugin_installations(id)")
  15. require.Contains(t, sql, "CREATE UNIQUE INDEX IF NOT EXISTS idx_sub2api_plugin_bindings_one_enabled_scope")
  16. require.Contains(t, sql, "WHERE enabled = TRUE")
  17. require.NotContains(t, sql, "CREATE TABLE IF NOT EXISTS plugin_installations")
  18. require.NotContains(t, sql, "CREATE TABLE IF NOT EXISTS plugin_bindings")
  19. require.NotContains(t, strings.ToUpper(sql), "ALTER TABLE ACCOUNTS")
  20. require.NotContains(t, sql, "account_id")
  21. }
  22. func TestPluginArtifactMigrationSupportsExistingInstallations(t *testing.T) {
  23. content, err := FS.ReadFile("230_plugin_artifacts.sql")
  24. require.NoError(t, err)
  25. sql := strings.Join(strings.Fields(string(content)), " ")
  26. require.Contains(t, sql, "ALTER TABLE sub2api_plugin_installations")
  27. require.Contains(t, sql, "ADD COLUMN IF NOT EXISTS artifact_data BYTEA")
  28. require.NotContains(t, strings.ToUpper(sql), "ALTER TABLE ACCOUNTS")
  29. }