41 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|
|
}
|