Release / update-version (push) Has been cancelled
Release / build-frontend (push) Has been cancelled
Release / release (push) Has been cancelled
Release / sync-version-file (push) Has been cancelled
CI / shell (push) Canceled after 0s
CI / test (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
Security Scan / backend-security (push) Canceled after 0s
Security Scan / frontend-security (push) Canceled after 0s
37 lines
1.3 KiB
Go
37 lines
1.3 KiB
Go
package migrations
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestMigration175DefaultsOrdinaryOpenAIAndInheritsForSparkShadows(t *testing.T) {
|
|
content, err := FS.ReadFile("175_default_openai_long_context_billing.sql")
|
|
require.NoError(t, err)
|
|
|
|
sql := string(content)
|
|
require.Contains(t, sql, "parent_account_id IS NULL")
|
|
require.Contains(t, sql, "quota_dimension = 'spark'")
|
|
require.Contains(t, sql, "parent.extra")
|
|
require.Contains(t, sql, "jsonb_typeof")
|
|
require.Contains(t, sql, "openai_long_context_billing_enabled")
|
|
}
|
|
|
|
func TestMigration175GuardsMixedVersionAccountWrites(t *testing.T) {
|
|
content, err := FS.ReadFile("175_default_openai_long_context_billing.sql")
|
|
require.NoError(t, err)
|
|
|
|
sql := string(content)
|
|
require.Contains(t, sql, "RETURNS TRIGGER")
|
|
require.Contains(t, sql, "BEFORE INSERT OR UPDATE")
|
|
require.Contains(t, sql, "CREATE TRIGGER")
|
|
require.Contains(t, sql, "must be a boolean")
|
|
require.Contains(t, sql, "INSERT INTO scheduler_outbox")
|
|
require.Contains(t, sql, "'account_changed'")
|
|
require.Contains(t, sql, "jsonb_typeof(extra->'openai_long_context_billing_enabled') IS DISTINCT FROM 'boolean'")
|
|
require.Contains(t, sql, "WITH shadow_values AS")
|
|
require.Contains(t, sql, "TG_OP = 'UPDATE'")
|
|
require.Contains(t, sql, "OLD.extra->'openai_long_context_billing_enabled'")
|
|
}
|