Files
im_server/server/db/mysql/tenant_entry_schema_test.go
T

41 lines
1.2 KiB
Go

//go:build mysql
// +build mysql
package mysql
import (
"strings"
"testing"
)
func TestEnsureTenantEntryControlTablesStatements(t *testing.T) {
stmts := []string{
`CREATE TABLE IF NOT EXISTS im_public_uploads(
id BIGINT NOT NULL AUTO_INCREMENT,
file_id VARCHAR(64) NOT NULL,
purpose VARCHAR(64) NOT NULL,
PRIMARY KEY(id),
UNIQUE INDEX uk_im_public_uploads_file(file_id)
)`,
`CREATE TABLE IF NOT EXISTS im_tenant_applications(
id BIGINT NOT NULL AUTO_INCREMENT,
application_id VARCHAR(64) NOT NULL,
credit_code VARCHAR(18) NOT NULL,
idempotency_key VARCHAR(128) NOT NULL,
UNIQUE INDEX uk_im_tenant_applications_idempotency(idempotency_key)
)`,
`CREATE TABLE IF NOT EXISTS im_tenant_entry_feedbacks(
id BIGINT NOT NULL AUTO_INCREMENT,
feedback_id VARCHAR(64) NOT NULL,
idempotency_key VARCHAR(128) NOT NULL,
UNIQUE INDEX uk_im_tenant_entry_feedbacks_idempotency(idempotency_key)
)`,
}
joined := strings.ToLower(strings.Join(stmts, "\n"))
for _, want := range []string{"im_public_uploads", "im_tenant_applications", "im_tenant_entry_feedbacks", "idempotency_key"} {
if !strings.Contains(joined, want) {
t.Fatalf("schema statement missing %s", want)
}
}
}