Files
bifrost/terraform/modules/bifrost/tests/kubernetes.tftest.hcl
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

158 lines
4.0 KiB
HCL

# =============================================================================
# Generic Kubernetes Module Tests
# =============================================================================
mock_provider "aws" {
mock_data "aws_availability_zones" {
defaults = { names = ["us-east-1a", "us-east-1b", "us-east-1c"] }
}
mock_data "aws_caller_identity" {
defaults = { account_id = "123456789012" }
}
mock_data "aws_region" {
defaults = { name = "us-east-1" }
}
mock_data "aws_iam_policy_document" {
defaults = { json = "{\"Version\":\"2012-10-17\",\"Statement\":[]}" }
}
}
mock_provider "google" {}
mock_provider "azurerm" {
mock_data "azurerm_client_config" {
defaults = {
tenant_id = "00000000-0000-0000-0000-000000000000"
subscription_id = "00000000-0000-0000-0000-000000000000"
object_id = "00000000-0000-0000-0000-000000000000"
}
}
}
mock_provider "kubernetes" {}
run "k8s_basic" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
}
}
run "k8s_custom_namespace" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
kubernetes_namespace = "custom-ns"
}
}
run "k8s_custom_storage_class" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
storage_class_name = "gp2"
}
}
run "k8s_with_hpa" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
enable_autoscaling = true
min_capacity = 2
max_capacity = 10
}
}
run "k8s_with_ingress" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
create_load_balancer = true
domain_name = "bifrost.example.com"
}
}
run "k8s_custom_ingress_class" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
create_load_balancer = true
domain_name = "bifrost.example.com"
ingress_class_name = "traefik"
}
}
run "k8s_ingress_annotations" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
create_load_balancer = true
domain_name = "bifrost.example.com"
ingress_annotations = { "cert-manager.io/cluster-issuer" = "letsencrypt" }
}
}
run "k8s_custom_compute" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
cpu = 1000
memory = 2048
desired_count = 3
}
}
run "k8s_custom_volume" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
volume_size_gb = 50
}
}
run "k8s_tags" {
command = plan
module { source = "./tests/setup" }
variables {
cloud_provider = "kubernetes"
service = "deployment"
region = "local"
config_json = jsonencode({})
tags = { Environment = "staging", Team = "platform" }
}
}