Spaces:
Runtime error
Runtime error
| package store | |
| import "testing" | |
| func TestQualifyPostgres(t *testing.T) { | |
| s := &Store{pg: true, schema: "matrixcloud", tblRe: compileTableRe()} | |
| cases := []struct{ in, want string }{ | |
| { | |
| `SELECT u.id FROM users u JOIN workspaces w ON w.id = u.workspace_id WHERE u.email = ?`, | |
| `SELECT u.id FROM matrixcloud.users u JOIN matrixcloud.workspaces w ON w.id = u.workspace_id WHERE u.email = ?`, | |
| }, | |
| { | |
| `CREATE INDEX IF NOT EXISTS idx_users_workspace ON users(workspace_id)`, | |
| `CREATE INDEX IF NOT EXISTS idx_users_workspace ON matrixcloud.users(workspace_id)`, | |
| }, | |
| { | |
| `INSERT INTO model_runtime_installations (id,model_profile_id) VALUES (?,?)`, | |
| `INSERT INTO matrixcloud.model_runtime_installations (id,model_profile_id) VALUES (?,?)`, | |
| }, | |
| { | |
| `LEFT JOIN model_profiles p ON p.id = i.model_profile_id`, | |
| `LEFT JOIN matrixcloud.model_profiles p ON p.id = i.model_profile_id`, | |
| }, | |
| { | |
| `SELECT * FROM runtimes WHERE id IN (SELECT workspace_id FROM runtime_join_tokens)`, | |
| `SELECT * FROM matrixcloud.runtimes WHERE id IN (SELECT workspace_id FROM matrixcloud.runtime_join_tokens)`, | |
| }, | |
| { | |
| `CREATE TABLE IF NOT EXISTS sessions (token TEXT, user_id TEXT REFERENCES users(id))`, | |
| `CREATE TABLE IF NOT EXISTS matrixcloud.sessions (token TEXT, user_id TEXT REFERENCES matrixcloud.users(id))`, | |
| }, | |
| } | |
| for _, c := range cases { | |
| if got := s.qualify(c.in); got != c.want { | |
| t.Errorf("qualify mismatch\n in: %s\n got: %s\n want: %s", c.in, got, c.want) | |
| } | |
| } | |
| } | |
| func TestQualifyNoopForSQLite(t *testing.T) { | |
| s := &Store{pg: false} | |
| q := `SELECT * FROM users JOIN workspaces` | |
| if got := s.qualify(q); got != q { | |
| t.Errorf("SQLite qualify should be a no-op, got %q", got) | |
| } | |
| } | |