test migrate
The test "migrate" "name" block describes a migrate test case.
test "migrate" "20240613061102" {
migrate {
to = "20240613061046"
}
exec {
sql = "INSERT INTO users (name) VALUES ('Ada Lovelace')"
}
migrate {
to = "20240613061102"
}
exec {
sql = "SELECT first_name,last_name FROM users"
output = "Ada, Lovelace"
}
}
test.migrate attributes
| Name | Required | Value |
|---|
skip | false | bool |
test.migrate blocks
test.assert
The assert block executes an SQL statement and expects a single-row, single-column result with a true value.
test.assert attributes
test.assert constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.catch
The catch block executes one or more SQL statements and expects an error to occur.
test.catch attributes
| Name | Required | Value |
|---|
error | false | string |
sql | true | string |
test.catch constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.cleanup
The cleanup block registers a command to be called when the test case is completed.
cleanup {
sql = "SELECT pg_catalog.set_config('search_path', '', false)"
}
test.cleanup attributes
| Name | Required | Value |
|---|
sql | true | string |
test.cleanup constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.exec
The exec block executes one or more SQL statements and expects all of them to succeed.
If output or match is defined, the output of the SQL statement is compared to the expected value.
test.exec attributes
test.exec constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.external
The external allows executing external programs to insert data or run assertions on the dev-database used by test case.
external {
program = [
"go", "run", "seed.go",
"--dev-url", testing.dev_url,
]
}
test.external attributes
test.external constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.log
The log block logs a message to the test output.
test.log attributes
test.log constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.migrate
test.migrate attributes
| Name | Required | Value |
|---|
to | true | string |
test.migrate constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test plan
The test "plan" "name" block describes a schema plan test case.
test "plan" "20240613061102" {
schema {
url = "atlas://repo?version=20240613061046"
}
exec {
sql = "INSERT INTO users (name) VALUES ('Ada Lovelace')"
}
apply {
url = "file://name.plan.hcl"
}
exec {
sql = "SELECT first_name,last_name FROM users"
output = "Ada, Lovelace"
}
}
test.plan attributes
| Name | Required | Value |
|---|
skip | false | bool |
test.plan blocks
test.apply
test.apply attributes
| Name | Required | Value |
|---|
url | true | string |
test.apply constraints
| Constraint | Value |
|---|
| Required | true |
| Require Name | false |
test.assert
The assert block executes an SQL statement and expects a single-row, single-column result with a true value.
test.assert attributes
test.assert constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.catch
The catch block executes one or more SQL statements and expects an error to occur.
test.catch attributes
| Name | Required | Value |
|---|
error | false | string |
sql | true | string |
test.catch constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.cleanup
The cleanup block registers a command to be called when the test case is completed.
cleanup {
sql = "SELECT pg_catalog.set_config('search_path', '', false)"
}
test.cleanup attributes
| Name | Required | Value |
|---|
sql | true | string |
test.cleanup constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.exec
The exec block executes one or more SQL statements and expects all of them to succeed.
If output or match is defined, the output of the SQL statement is compared to the expected value.
test.exec attributes
test.exec constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.external
The external allows executing external programs to insert data or run assertions on the dev-database used by test case.
external {
program = [
"go", "run", "seed.go",
"--dev-url", testing.dev_url,
]
}
test.external attributes
test.external constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.log
The log block logs a message to the test output.
test.log attributes
test.log constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.schema
test.schema attributes
| Name | Required | Value |
|---|
url | true | string |
test.schema constraints
| Constraint | Value |
|---|
| Required | true |
| Require Name | false |
test schema
The test "schema" "name" block describes a schema test case.
test "schema" "postal" {
parallel = true
exec {
sql = "SELECT '12345'::us_postal_code"
}
catch {
sql = "SELECT 'hello'::us_postal_code"
}
}
test.schema attributes
test.schema blocks
test.assert
The assert block executes an SQL statement and expects a single-row, single-column result with a true value.
test.assert attributes
test.assert constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.catch
The catch block executes one or more SQL statements and expects an error to occur.
test.catch attributes
| Name | Required | Value |
|---|
error | false | string |
sql | true | string |
test.catch constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.cleanup
The cleanup block registers a command to be called when the test case is completed.
cleanup {
sql = "SELECT pg_catalog.set_config('search_path', '', false)"
}
test.cleanup attributes
| Name | Required | Value |
|---|
sql | true | string |
test.cleanup constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
test.exec
The exec block executes one or more SQL statements and expects all of them to succeed.
If output or match is defined, the output of the SQL statement is compared to the expected value.
test.exec attributes
test.exec constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.external
The external allows executing external programs to insert data or run assertions on the dev-database used by test case.
external {
program = [
"go", "run", "seed.go",
"--dev-url", testing.dev_url,
]
}
test.external attributes
test.external constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |
| Mutually exclusive sets | [output, match] |
test.log
The log block logs a message to the test output.
test.log attributes
test.log constraints
| Constraint | Value |
|---|
| Required | false |
| Require Name | false |
| Repeatable | true |