Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Test
on:
pull_request:
branches:
- main
jobs:
test:
name: Unit Tests
uses: equinor/terraform-baseline/.github/workflows/terraform-test.yml@main

17 changes: 0 additions & 17 deletions test/basic_example_test.go

This file was deleted.

17 changes: 0 additions & 17 deletions test/complete_example_test.go

This file was deleted.

57 changes: 0 additions & 57 deletions test/go.mod

This file was deleted.

963 changes: 0 additions & 963 deletions test/go.sum

This file was deleted.

35 changes: 35 additions & 0 deletions tests/basic.tftest.hcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
mock_provider "azurerm" {}

run "setup_tests" {
module {
source = "./tests/setup"
}
}

run "basic_defaults" {
command = plan

variables {
database_name = run.setup_tests.database_name
server_name = run.setup_tests.server_name
administrator_login = run.setup_tests.administrator_login
resource_group_name = run.setup_tests.resource_group_name
location = run.setup_tests.location
log_analytics_workspace_id = run.setup_tests.log_analytics_workspace_id
}

assert {
condition = azurerm_postgresql_database.this.name == run.setup_tests.database_name
error_message = "PostgreSQL database name should match the setup test database name"
}

assert {
condition = azurerm_postgresql_database.this.resource_group_name == run.setup_tests.resource_group_name
error_message = "PostgreSQL database resource group should match the setup test resource group"
}

assert {
condition = azurerm_postgresql_server.this.location == run.setup_tests.location
error_message = "PostgreSQL database server location should match the setup test location"
}
}
13 changes: 13 additions & 0 deletions tests/setup/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
resource "random_id" "name_suffix" {
byte_length = 8
}

resource "random_uuid" "subscription_id" {}

resource "random_uuid" "tenant_id" {}

locals {
name_suffix = random_id.name_suffix.hex
resource_group_name = "rg-${local.name_suffix}"
location = "northeurope"
}
27 changes: 27 additions & 0 deletions tests/setup/outputs.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
output "database_name" {
value = "db-${local.name_suffix}"
}

output "server_name" {
value = "psql-${local.name_suffix}"
}

output "administrator_login" {
value = "psqladmin${local.name_suffix}"
}

output "resource_group_name" {
value = "rg-${local.name_suffix}"
}

output "location" {
value = "northeurope"
}

output "log_analytics_workspace_id" {
value = "/subscriptions/${random_uuid.subscription_id.result}/resourceGroups/${local.resource_group_name}/providers/Microsoft.OperationalInsights/workspaces/log-${local.name_suffix}"
}

output "tenant_id" {
value = random_uuid.tenant_id.result
}
4 changes: 2 additions & 2 deletions versions.tf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
terraform {
required_version = ">= 1.0.0"
required_version = ">= 1.12.0"

required_providers {
random = {
Expand All @@ -9,7 +9,7 @@ terraform {

azurerm = {
source = "hashicorp/azurerm"
version = ">= 3.0.0"
version = ">= 4.0.0"
}
}
}