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 |