From 68ab3ff64cc9075e0cd8240f03f656d4079ce084 Mon Sep 17 00:00:00 2001 From: David Bloss Date: Thu, 12 Sep 2024 20:57:12 -0500 Subject: [PATCH] update tests, move datasources for testing --- tests/check_alert_source_usage.tftest.hcl | 20 +- tests/check_git_branch_protection.tftest.hcl | 20 +- tests/check_has_documentation.tftest.hcl | 20 +- tests/check_has_recent_deploy.tftest.hcl | 20 +- tests/check_manual.tftest.hcl | 20 +- tests/check_package_version.tftest.hcl | 16 +- tests/check_repository_file.tftest.hcl | 20 +- tests/check_repository_grep.tftest.hcl | 20 +- tests/check_repository_integrated.tftest.hcl | 20 +- tests/check_repository_search.tftest.hcl | 20 +- tests/check_service_configuration.tftest.hcl | 20 +- tests/check_service_dependency.tftest.hcl | 28 +-- tests/check_service_ownership.tftest.hcl | 16 +- tests/check_service_property.tftest.hcl | 16 +- tests/check_tag_defined.tftest.hcl | 20 +- tests/check_tool_usage.tftest.hcl | 20 +- tests/data/filter/main.tf | 1 + tests/data/filter/outputs.tf | 7 + tests/data/filter/versions.tf | 1 + tests/data/repository/main.tf | 1 + tests/data/repository/outputs.tf | 7 + tests/data/repository/versions.tf | 1 + tests/data/service/main.tf | 1 + tests/data/service/outputs.tf | 7 + tests/data/service/versions.tf | 1 + tests/data/team/main.tf | 1 + tests/data/team/outputs.tf | 7 + tests/data/team/versions.tf | 1 + tests/data/user/main.tf | 1 + tests/data/user/outputs.tf | 7 + tests/data/user/versions.tf | 1 + tests/filter.tftest.hcl | 18 -- tests/remote/service_repository.tftest.hcl | 209 ------------------ tests/remote/service_tag.tftest.hcl | 133 ----------- tests/remote/service_tool.tftest.hcl | 173 --------------- .../service_dependency.tftest.hcl | 44 ++-- tests/service_repository.tftest.hcl | 201 +++++++++++++++++ tests/service_tag.tftest.hcl | 129 +++++++++++ tests/service_tool.tftest.hcl | 169 ++++++++++++++ tests/team_all.tftest.hcl | 37 +--- tests/team_min.tftest.hcl | 14 +- tests/user_all.tftest.hcl | 21 -- 42 files changed, 664 insertions(+), 845 deletions(-) create mode 100644 tests/data/filter/main.tf create mode 100644 tests/data/filter/outputs.tf create mode 120000 tests/data/filter/versions.tf create mode 100644 tests/data/repository/main.tf create mode 100644 tests/data/repository/outputs.tf create mode 120000 tests/data/repository/versions.tf create mode 100644 tests/data/service/main.tf create mode 100644 tests/data/service/outputs.tf create mode 120000 tests/data/service/versions.tf create mode 100644 tests/data/team/main.tf create mode 100644 tests/data/team/outputs.tf create mode 120000 tests/data/team/versions.tf create mode 100644 tests/data/user/main.tf create mode 100644 tests/data/user/outputs.tf create mode 120000 tests/data/user/versions.tf delete mode 100644 tests/remote/service_repository.tftest.hcl delete mode 100644 tests/remote/service_tag.tftest.hcl delete mode 100644 tests/remote/service_tool.tftest.hcl rename tests/{remote => }/service_dependency.tftest.hcl (51%) create mode 100644 tests/service_repository.tftest.hcl create mode 100644 tests/service_tag.tftest.hcl create mode 100644 tests/service_tool.tftest.hcl diff --git a/tests/check_alert_source_usage.tftest.hcl b/tests/check_alert_source_usage.tftest.hcl index 665c8677..741d0669 100644 --- a/tests/check_alert_source_usage.tftest.hcl +++ b/tests/check_alert_source_usage.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -73,14 +65,14 @@ run "resource_check_alert_source_usage_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -211,14 +203,14 @@ run "resource_check_alert_source_usage_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_git_branch_protection.tftest.hcl b/tests/check_git_branch_protection.tftest.hcl index d42cae66..197aec31 100644 --- a/tests/check_git_branch_protection.tftest.hcl +++ b/tests/check_git_branch_protection.tftest.hcl @@ -21,12 +21,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -49,12 +45,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -64,14 +56,14 @@ run "resource_check_git_branch_protection_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -194,14 +186,14 @@ run "resource_check_git_branch_protection_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_has_documentation.tftest.hcl b/tests/check_has_documentation.tftest.hcl index 2585b9ed..7b22f6a9 100644 --- a/tests/check_has_documentation.tftest.hcl +++ b/tests/check_has_documentation.tftest.hcl @@ -23,12 +23,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -51,12 +47,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -66,14 +58,14 @@ run "resource_check_has_documentation_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -196,14 +188,14 @@ run "resource_check_has_documentation_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_has_recent_deploy.tftest.hcl b/tests/check_has_recent_deploy.tftest.hcl index 624415a4..f9d641ae 100644 --- a/tests/check_has_recent_deploy.tftest.hcl +++ b/tests/check_has_recent_deploy.tftest.hcl @@ -22,12 +22,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -50,12 +46,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -65,14 +57,14 @@ run "resource_check_has_recent_deploy_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -195,14 +187,14 @@ run "resource_check_has_recent_deploy_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_manual.tftest.hcl b/tests/check_manual.tftest.hcl index 9eace041..a0234a68 100644 --- a/tests/check_manual.tftest.hcl +++ b/tests/check_manual.tftest.hcl @@ -29,12 +29,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -57,12 +53,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -72,14 +64,14 @@ run "resource_check_manual_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id update_requires_comment = var.update_requires_comment update_frequency = var.update_frequency } @@ -221,14 +213,14 @@ run "resource_check_manual_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = !var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = "${var.name} updated" notes = "${var.notes} updated" - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id update_requires_comment = !var.update_requires_comment update_frequency = var.update_frequency } diff --git a/tests/check_package_version.tftest.hcl b/tests/check_package_version.tftest.hcl index 57f926fc..c8e6fb79 100644 --- a/tests/check_package_version.tftest.hcl +++ b/tests/check_package_version.tftest.hcl @@ -32,12 +32,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -60,12 +56,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -75,7 +67,7 @@ run "resource_check_package_version_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) @@ -83,7 +75,7 @@ run "resource_check_package_version_create_with_all_fields" { missing_package_result = var.missing_package_result name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id package_constraint = var.package_constraint package_manager = var.package_manager package_name = var.package_name diff --git a/tests/check_repository_file.tftest.hcl b/tests/check_repository_file.tftest.hcl index 70bbdf5f..cd29a285 100644 --- a/tests/check_repository_file.tftest.hcl +++ b/tests/check_repository_file.tftest.hcl @@ -30,12 +30,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -58,12 +54,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -74,14 +66,14 @@ run "resource_check_repository_file_create_with_all_fields" { enable_on = var.enable_on enabled = var.enabled file_contents_predicate = var.file_contents_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -217,14 +209,14 @@ run "resource_check_repository_file_update_all_fields" { enable_on = var.enable_on enabled = var.enabled file_contents_predicate = var.file_contents_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_repository_grep.tftest.hcl b/tests/check_repository_grep.tftest.hcl index 91a54551..e8c9b2d2 100644 --- a/tests/check_repository_grep.tftest.hcl +++ b/tests/check_repository_grep.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -72,14 +64,14 @@ run "resource_check_repository_grep_create_with_all_fields" { enable_on = var.enable_on enabled = var.enabled file_contents_predicate = var.file_contents_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -204,14 +196,14 @@ run "resource_check_repository_grep_update_all_fields" { enable_on = var.enable_on enabled = var.enabled file_contents_predicate = var.file_contents_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_repository_integrated.tftest.hcl b/tests/check_repository_integrated.tftest.hcl index e619b7f7..7c6413d6 100644 --- a/tests/check_repository_integrated.tftest.hcl +++ b/tests/check_repository_integrated.tftest.hcl @@ -21,12 +21,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -49,12 +45,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -64,14 +56,14 @@ run "resource_check_repository_integrated_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -194,14 +186,14 @@ run "resource_check_repository_integrated_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_repository_search.tftest.hcl b/tests/check_repository_search.tftest.hcl index bfee9667..1058eac4 100644 --- a/tests/check_repository_search.tftest.hcl +++ b/tests/check_repository_search.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -73,14 +65,14 @@ run "resource_check_repository_search_create_with_all_fields" { enabled = var.enabled file_contents_predicate = var.file_contents_predicate file_extensions = var.file_extensions - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -218,14 +210,14 @@ run "resource_check_repository_search_update_all_fields" { enabled = var.enabled file_contents_predicate = var.file_contents_predicate file_extensions = setunion(var.file_extensions, ["yaml"]) - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_service_configuration.tftest.hcl b/tests/check_service_configuration.tftest.hcl index fb444e1d..45d7acbc 100644 --- a/tests/check_service_configuration.tftest.hcl +++ b/tests/check_service_configuration.tftest.hcl @@ -21,12 +21,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -49,12 +45,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -64,14 +56,14 @@ run "resource_check_service_configuration_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { @@ -194,14 +186,14 @@ run "resource_check_service_configuration_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id } module { diff --git a/tests/check_service_dependency.tftest.hcl b/tests/check_service_dependency.tftest.hcl index 57e5b06f..d5b74238 100644 --- a/tests/check_service_dependency.tftest.hcl +++ b/tests/check_service_dependency.tftest.hcl @@ -21,12 +21,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -49,12 +45,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -69,9 +61,9 @@ run "resource_check_service_dependency_create_with_all_fields" { for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) - name = var.name - notes = var.notes - owner = run.from_team_module.all.teams[0].id + name = var.name + notes = var.notes + owner = run.from_team_module.first.id } module { @@ -152,8 +144,8 @@ run "resource_check_service_dependency_update_unset_optional_fields" { for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) - notes = null - owner = null + notes = null + owner = null } module { @@ -199,9 +191,9 @@ run "resource_check_service_dependency_update_all_fields" { for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) - name = var.name - notes = var.notes - owner = run.from_team_module.all.teams[0].id + name = var.name + notes = var.notes + owner = run.from_team_module.first.id } module { diff --git a/tests/check_service_ownership.tftest.hcl b/tests/check_service_ownership.tftest.hcl index e222fcf4..f1384099 100644 --- a/tests/check_service_ownership.tftest.hcl +++ b/tests/check_service_ownership.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -79,7 +71,7 @@ run "resource_check_service_ownership_create_with_all_fields" { ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tag_predicate = var.tag_predicate } @@ -225,7 +217,7 @@ run "resource_check_service_ownership_update_all_fields" { ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tag_predicate = var.tag_predicate } diff --git a/tests/check_service_property.tftest.hcl b/tests/check_service_property.tftest.hcl index 4067a308..8d8e2eb8 100644 --- a/tests/check_service_property.tftest.hcl +++ b/tests/check_service_property.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -78,7 +70,7 @@ run "resource_check_service_property_create_with_all_fields" { ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id predicate = var.predicate } @@ -210,7 +202,7 @@ run "resource_check_service_property_update_all_fields" { ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id predicate = var.predicate } diff --git a/tests/check_tag_defined.tftest.hcl b/tests/check_tag_defined.tftest.hcl index a98548ca..3ed7e7f5 100644 --- a/tests/check_tag_defined.tftest.hcl +++ b/tests/check_tag_defined.tftest.hcl @@ -28,12 +28,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -56,12 +52,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -71,14 +63,14 @@ run "resource_check_tag_defined_create_with_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tag_predicate = var.tag_predicate } @@ -207,14 +199,14 @@ run "resource_check_tag_defined_update_all_fields" { category = run.from_rubric_category_module.all.rubric_categories[0].id enable_on = var.enable_on enabled = var.enabled - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tag_predicate = var.tag_predicate } diff --git a/tests/check_tool_usage.tftest.hcl b/tests/check_tool_usage.tftest.hcl index 0e9e1ca6..d14098ff 100644 --- a/tests/check_tool_usage.tftest.hcl +++ b/tests/check_tool_usage.tftest.hcl @@ -36,12 +36,8 @@ variables { run "from_filter_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/filter" + source = "./data/filter" } } @@ -64,12 +60,8 @@ run "from_rubric_level_module" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } @@ -80,14 +72,14 @@ run "resource_check_tool_usage_create_with_all_fields" { enable_on = var.enable_on enabled = var.enabled environment_predicate = var.environment_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tool_category = var.tool_category tool_name_predicate = var.tool_name_predicate tool_url_predicate = var.tool_url_predicate @@ -214,14 +206,14 @@ run "resource_check_tool_usage_update_all_fields" { enable_on = var.enable_on enabled = var.enabled environment_predicate = var.environment_predicate - filter = run.from_filter_module.all.filters[0].id + filter = run.from_filter_module.first.id level = element([ for lvl in run.from_rubric_level_module.all.rubric_levels : lvl.id if lvl.index == max(run.from_rubric_level_module.all.rubric_levels[*].index...) ], 0) name = var.name notes = var.notes - owner = run.from_team_module.all.teams[0].id + owner = run.from_team_module.first.id tool_category = var.tool_category tool_name_predicate = var.tool_name_predicate tool_url_predicate = var.tool_url_predicate diff --git a/tests/data/filter/main.tf b/tests/data/filter/main.tf new file mode 100644 index 00000000..fa50cc8f --- /dev/null +++ b/tests/data/filter/main.tf @@ -0,0 +1 @@ +data "opslevel_filters" "all" {} diff --git a/tests/data/filter/outputs.tf b/tests/data/filter/outputs.tf new file mode 100644 index 00000000..ea305e06 --- /dev/null +++ b/tests/data/filter/outputs.tf @@ -0,0 +1,7 @@ +output "all" { + value = data.opslevel_filters.all +} + +output "first" { + value = data.opslevel_filters.all.filters[0] +} diff --git a/tests/data/filter/versions.tf b/tests/data/filter/versions.tf new file mode 120000 index 00000000..24114768 --- /dev/null +++ b/tests/data/filter/versions.tf @@ -0,0 +1 @@ +../../../workspace/versions.tf \ No newline at end of file diff --git a/tests/data/repository/main.tf b/tests/data/repository/main.tf new file mode 100644 index 00000000..5512e5ea --- /dev/null +++ b/tests/data/repository/main.tf @@ -0,0 +1 @@ +data "opslevel_repositories" "all" {} diff --git a/tests/data/repository/outputs.tf b/tests/data/repository/outputs.tf new file mode 100644 index 00000000..1db0f109 --- /dev/null +++ b/tests/data/repository/outputs.tf @@ -0,0 +1,7 @@ +output "all" { + value = data.opslevel_repositories.all +} + +output "first" { + value = data.opslevel_repositories.all.repositories[0] +} diff --git a/tests/data/repository/versions.tf b/tests/data/repository/versions.tf new file mode 120000 index 00000000..24114768 --- /dev/null +++ b/tests/data/repository/versions.tf @@ -0,0 +1 @@ +../../../workspace/versions.tf \ No newline at end of file diff --git a/tests/data/service/main.tf b/tests/data/service/main.tf new file mode 100644 index 00000000..0d1c8e9c --- /dev/null +++ b/tests/data/service/main.tf @@ -0,0 +1 @@ +data "opslevel_services" "all" {} diff --git a/tests/data/service/outputs.tf b/tests/data/service/outputs.tf new file mode 100644 index 00000000..510c5f6e --- /dev/null +++ b/tests/data/service/outputs.tf @@ -0,0 +1,7 @@ +output "all" { + value = data.opslevel_services.all +} + +output "first" { + value = data.opslevel_services.all.services[0] +} diff --git a/tests/data/service/versions.tf b/tests/data/service/versions.tf new file mode 120000 index 00000000..24114768 --- /dev/null +++ b/tests/data/service/versions.tf @@ -0,0 +1 @@ +../../../workspace/versions.tf \ No newline at end of file diff --git a/tests/data/team/main.tf b/tests/data/team/main.tf new file mode 100644 index 00000000..091cb928 --- /dev/null +++ b/tests/data/team/main.tf @@ -0,0 +1 @@ +data "opslevel_teams" "all" {} diff --git a/tests/data/team/outputs.tf b/tests/data/team/outputs.tf new file mode 100644 index 00000000..712e8bf3 --- /dev/null +++ b/tests/data/team/outputs.tf @@ -0,0 +1,7 @@ +output "all" { + value = data.opslevel_teams.all +} + +output "first" { + value = data.opslevel_teams.all.teams[0] +} diff --git a/tests/data/team/versions.tf b/tests/data/team/versions.tf new file mode 120000 index 00000000..24114768 --- /dev/null +++ b/tests/data/team/versions.tf @@ -0,0 +1 @@ +../../../workspace/versions.tf \ No newline at end of file diff --git a/tests/data/user/main.tf b/tests/data/user/main.tf new file mode 100644 index 00000000..6c5fd780 --- /dev/null +++ b/tests/data/user/main.tf @@ -0,0 +1 @@ +data "opslevel_users" "all" {} diff --git a/tests/data/user/outputs.tf b/tests/data/user/outputs.tf new file mode 100644 index 00000000..8acab5b0 --- /dev/null +++ b/tests/data/user/outputs.tf @@ -0,0 +1,7 @@ +output "all" { + value = data.opslevel_users.all +} + +output "first" { + value = data.opslevel_users.all.users[0] +} diff --git a/tests/data/user/versions.tf b/tests/data/user/versions.tf new file mode 120000 index 00000000..24114768 --- /dev/null +++ b/tests/data/user/versions.tf @@ -0,0 +1 @@ +../../../workspace/versions.tf \ No newline at end of file diff --git a/tests/filter.tftest.hcl b/tests/filter.tftest.hcl index ad6fbe43..3b3ffa88 100644 --- a/tests/filter.tftest.hcl +++ b/tests/filter.tftest.hcl @@ -87,21 +87,3 @@ run "resource_filter_update_set_all_fields" { #} } - -run "datasource_filters_list_all" { - - module { - source = "./opslevel_modules/modules/filter" - } - - assert { - condition = can(data.opslevel_filters.all.filters) - error_message = replace(var.error_unexpected_datasource_fields, "TYPE", var.filters_all) - } - - assert { - condition = length(data.opslevel_filters.all.filters) > 0 - error_message = replace(var.error_empty_datasource, "TYPE", var.filters_all) - } - -} diff --git a/tests/remote/service_repository.tftest.hcl b/tests/remote/service_repository.tftest.hcl deleted file mode 100644 index a339402b..00000000 --- a/tests/remote/service_repository.tftest.hcl +++ /dev/null @@ -1,209 +0,0 @@ -variables { - resource_name = "opslevel_service_repository" - - # required fields - - # optional fields - base_directory = null - name = null - repository = null - repository_alias = null - service = null - service_alias = null -} - -run "from_repository_module" { - command = plan - - variables { - identifier = "" - } - - module { - source = "./repository" - } -} - -run "from_service_module" { - command = plan - - variables { - name = "" - } - - module { - source = "./service" - } -} - -run "resource_service_repository_create_with_ids" { - - variables { - base_directory = "base/path" - name = "TF test service repository" - repository = run.from_repository_module.first_repository.id - repository_alias = null - service = run.from_service_module.first_service.id - service_alias = null - } - - module { - source = "./service_repository" - } - - assert { - condition = alltrue([ - can(opslevel_service_repository.test.base_directory), - can(opslevel_service_repository.test.id), - can(opslevel_service_repository.test.name), - can(opslevel_service_repository.test.repository), - can(opslevel_service_repository.test.repository_alias), - can(opslevel_service_repository.test.service), - can(opslevel_service_repository.test.service_alias), - ]) - error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_repository.test.base_directory == var.base_directory - error_message = format( - "expected '%v' but got '%v'", - var.base_directory, - opslevel_service_repository.test.base_directory, - ) - } - - assert { - condition = startswith(opslevel_service_repository.test.id, var.id_prefix) - error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_repository.test.name == var.name - error_message = format( - "expected '%v' but got '%v'", - var.name, - opslevel_service_repository.test.name, - ) - } - - assert { - condition = opslevel_service_repository.test.repository == var.repository - error_message = format( - "expected '%v' but got '%v'", - var.repository, - opslevel_service_repository.test.repository, - ) - } - - assert { - condition = opslevel_service_repository.test.repository_alias == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_repository.test.service == var.service - error_message = format( - "expected '%v' but got '%v'", - var.service, - opslevel_service_repository.test.service, - ) - } - - assert { - condition = opslevel_service_repository.test.service_alias == null - error_message = var.error_expected_null_field - } - -} - -run "resource_service_repository_create_with_aliases" { - - variables { - base_directory = "base/path" - name = "TF test service repository" - repository = null - repository_alias = run.from_repository_module.first_repository.alias - service = null - service_alias = run.from_service_module.first_service.aliases[0] - } - - module { - source = "./service_repository" - } - - assert { - condition = opslevel_service_repository.test.base_directory == var.base_directory - error_message = format( - "expected '%v' but got '%v'", - var.base_directory, - opslevel_service_repository.test.base_directory, - ) - } - - assert { - condition = opslevel_service_repository.test.name == var.name - error_message = format( - "expected '%v' but got '%v'", - var.name, - opslevel_service_repository.test.name, - ) - } - - assert { - condition = opslevel_service_repository.test.repository == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_repository.test.repository_alias == var.repository_alias - error_message = format( - "expected '%v' but got '%v'", - var.repository_alias, - opslevel_service_repository.test.repository_alias, - ) - } - - assert { - condition = opslevel_service_repository.test.service == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_repository.test.service_alias == var.service_alias - error_message = format( - "expected '%v' but got '%v'", - var.service_alias, - opslevel_service_repository.test.service_alias, - ) - } - -} - -run "resource_service_repository_update_unset_optional_fields" { - - variables { - base_directory = null - name = "TF test service repository" - repository = null - repository_alias = run.from_repository_module.first_repository.alias - service = null - service_alias = run.from_service_module.first_service.aliases[0] - } - - module { - source = "./service_repository" - } - - assert { - condition = opslevel_service_repository.test.base_directory == null - error_message = var.error_expected_null_field - } - - # TODO: unable to unset 'name' field for now - # assert { - # condition = opslevel_service_repository.test.name == null - # error_message = var.error_expected_null_field - # } - -} diff --git a/tests/remote/service_tag.tftest.hcl b/tests/remote/service_tag.tftest.hcl deleted file mode 100644 index f8076a08..00000000 --- a/tests/remote/service_tag.tftest.hcl +++ /dev/null @@ -1,133 +0,0 @@ -variables { - resource_name = "opslevel_service_tag" - - # required fields - key = "test-service-tag-key" - value = "test-service-tag-value" - - # optional fields - service = null - service_alias = null -} - -run "from_service_module" { - command = plan - - variables { - name = "" - } - - module { - source = "./service" - } -} - -run "resource_service_tag_create_with_service_id" { - - variables { - key = var.key - service = run.from_service_module.first_service.id - service_alias = null - value = var.value - } - - module { - source = "./service_tag" - } - - assert { - condition = alltrue([ - can(opslevel_service_tag.test.key), - can(opslevel_service_tag.test.id), - can(opslevel_service_tag.test.service), - can(opslevel_service_tag.test.service_alias), - can(opslevel_service_tag.test.value), - ]) - error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) - } - - assert { - condition = startswith(opslevel_service_tag.test.id, var.id_prefix) - error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_tag.test.key == var.key - error_message = format( - "expected '%v' but got '%v'", - var.key, - opslevel_service_tag.test.key, - ) - } - - assert { - condition = opslevel_service_tag.test.service == var.service - error_message = format( - "expected '%v' but got '%v'", - var.service, - opslevel_service_tag.test.service, - ) - } - - assert { - condition = opslevel_service_tag.test.service_alias == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_tag.test.value == var.value - error_message = format( - "expected '%v' but got '%v'", - var.value, - opslevel_service_tag.test.value, - ) - } - -} - -run "resource_service_tag_create_with_service_alias" { - - variables { - key = var.key - service = null - service_alias = run.from_service_module.first_service.aliases[0] - value = var.value - } - - module { - source = "./service_tag" - } - - assert { - condition = opslevel_service_tag.test.key == var.key - error_message = format( - "expected '%v' but got '%v'", - var.key, - opslevel_service_tag.test.key, - ) - } - - assert { - condition = opslevel_service_tag.test.service == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_tag.test.service_alias == var.service_alias - error_message = format( - "expected '%v' but got '%v'", - var.service_alias, - opslevel_service_tag.test.service_alias, - ) - } - - assert { - condition = opslevel_service_tag.test.value == var.value - error_message = format( - "expected '%v' but got '%v'", - var.value, - opslevel_service_tag.test.value, - ) - } - -} diff --git a/tests/remote/service_tool.tftest.hcl b/tests/remote/service_tool.tftest.hcl deleted file mode 100644 index 49d0f4d5..00000000 --- a/tests/remote/service_tool.tftest.hcl +++ /dev/null @@ -1,173 +0,0 @@ -variables { - resource_name = "opslevel_service_tool" - - # required fields - category = "observability" - name = "TF Test Service Tool" - url = "https://example.com" - - # optional fields - environment = "production" - service = null - service_alias = null -} - -run "from_service_module" { - command = plan - - variables { - name = "" - } - - module { - source = "./service" - } -} - -run "resource_service_tool_create_with_service_id" { - - variables { - category = var.category - environment = var.environment - name = var.name - service = run.from_service_module.first_service.id - service_alias = null - url = var.url - } - - module { - source = "./service_tool" - } - - assert { - condition = alltrue([ - can(opslevel_service_tool.test.category), - can(opslevel_service_tool.test.environment), - can(opslevel_service_tool.test.id), - can(opslevel_service_tool.test.name), - can(opslevel_service_tool.test.service), - can(opslevel_service_tool.test.service_alias), - can(opslevel_service_tool.test.url), - ]) - error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_tool.test.category == var.category - error_message = format( - "expected '%v' but got '%v'", - var.category, - opslevel_service_tool.test.category, - ) - } - - assert { - condition = opslevel_service_tool.test.environment == var.environment - error_message = format( - "expected '%v' but got '%v'", - var.environment, - opslevel_service_tool.test.environment, - ) - } - - assert { - condition = startswith(opslevel_service_tool.test.id, var.id_prefix) - error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_tool.test.name == var.name - error_message = format( - "expected '%v' but got '%v'", - var.name, - opslevel_service_tool.test.name, - ) - } - - assert { - condition = opslevel_service_tool.test.service == var.service - error_message = format( - "expected '%v' but got '%v'", - var.service, - opslevel_service_tool.test.service, - ) - } - - assert { - condition = opslevel_service_tool.test.service_alias == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_tool.test.url == var.url - error_message = format( - "expected '%v' but got '%v'", - var.url, - opslevel_service_tool.test.url, - ) - } - -} - -run "resource_service_tool_create_with_service_alias" { - - variables { - category = var.category - environment = var.environment - name = var.name - service = null - service_alias = run.from_service_module.first_service.aliases[0] - url = var.url - } - - module { - source = "./service_tool" - } - - assert { - condition = opslevel_service_tool.test.category == var.category - error_message = format( - "expected '%v' but got '%v'", - var.category, - opslevel_service_tool.test.category, - ) - } - - assert { - condition = opslevel_service_tool.test.environment == var.environment - error_message = format( - "expected '%v' but got '%v'", - var.environment, - opslevel_service_tool.test.environment, - ) - } - - assert { - condition = startswith(opslevel_service_tool.test.id, var.id_prefix) - error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) - } - - assert { - condition = opslevel_service_tool.test.service == null - error_message = var.error_expected_null_field - } - - assert { - condition = opslevel_service_tool.test.service_alias == var.service_alias - error_message = format( - "expected '%v' but got '%v'", - var.service_alias, - opslevel_service_tool.test.service_alias, - ) - } - - assert { - condition = opslevel_service_tool.test.url == var.url - error_message = format( - "expected '%v' but got '%v'", - var.url, - opslevel_service_tool.test.url, - ) - } - -} diff --git a/tests/remote/service_dependency.tftest.hcl b/tests/service_dependency.tftest.hcl similarity index 51% rename from tests/remote/service_dependency.tftest.hcl rename to tests/service_dependency.tftest.hcl index 0afdbef5..0b7d3b3c 100644 --- a/tests/remote/service_dependency.tftest.hcl +++ b/tests/service_dependency.tftest.hcl @@ -2,7 +2,7 @@ variables { resource_name = "opslevel_service_dependency" # required fields - depends_upon = "" + depends_upon = null service = null # optional fields @@ -12,66 +12,62 @@ variables { run "from_service_module" { command = plan - variables { - name = "" - } - module { - source = "./service" + source = "./data/service" } } run "resource_service_dependency_create_with_service_id" { variables { - depends_upon = run.from_service_module.first_service.id - service = run.from_service_module.last_service.id + depends_upon = run.from_service_module.all.services[0].id + service = run.from_service_module.all.services[1].id note = var.note } module { - source = "./service_dependency" + source = "./opslevel_modules/modules/service/dependency" } assert { condition = alltrue([ - can(opslevel_service_dependency.test.depends_upon), - can(opslevel_service_dependency.test.id), - can(opslevel_service_dependency.test.note), - can(opslevel_service_dependency.test.service), + can(opslevel_service_dependency.this.depends_upon), + can(opslevel_service_dependency.this.id), + can(opslevel_service_dependency.this.note), + can(opslevel_service_dependency.this.service), ]) error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) } assert { - condition = opslevel_service_dependency.test.depends_upon == var.depends_upon + condition = opslevel_service_dependency.this.depends_upon == var.depends_upon error_message = format( "expected '%v' but got '%v'", var.depends_upon, - opslevel_service_dependency.test.depends_upon, + opslevel_service_dependency.this.depends_upon, ) } assert { - condition = startswith(opslevel_service_dependency.test.id, var.id_prefix) + condition = startswith(opslevel_service_dependency.this.id, var.id_prefix) error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) } assert { - condition = opslevel_service_dependency.test.note == var.note + condition = opslevel_service_dependency.this.note == var.note error_message = format( "expected '%v' but got '%v'", var.note, - opslevel_service_dependency.test.note, + opslevel_service_dependency.this.note, ) } assert { - condition = opslevel_service_dependency.test.service == var.service + condition = opslevel_service_dependency.this.service == var.service error_message = format( "expected '%v' but got '%v'", var.service, - opslevel_service_dependency.test.service, + opslevel_service_dependency.this.service, ) } @@ -80,17 +76,17 @@ run "resource_service_dependency_create_with_service_id" { run "resource_service_dependency_update_unset_optional_fields" { variables { - depends_upon = run.from_service_module.first_service.id - service = run.from_service_module.last_service.id + depends_upon = run.from_service_module.all.services[0].id + service = run.from_service_module.all.services[1].id note = null } module { - source = "./service_dependency" + source = "./opslevel_modules/modules/service/dependency" } assert { - condition = opslevel_service_dependency.test.note == null + condition = opslevel_service_dependency.this.note == null error_message = var.error_expected_null_field } diff --git a/tests/service_repository.tftest.hcl b/tests/service_repository.tftest.hcl new file mode 100644 index 00000000..faac3d87 --- /dev/null +++ b/tests/service_repository.tftest.hcl @@ -0,0 +1,201 @@ +variables { + resource_name = "opslevel_service_repository" + + # required fields + + # optional fields + base_directory = null + name = null + repository = null + repository_alias = null + service = null + service_alias = null +} + +run "from_repository_module" { + command = plan + + module { + source = "./data/repository" + } +} + +run "from_service_module" { + command = plan + + module { + source = "./data/service" + } +} + +run "resource_service_repository_create_with_ids" { + + variables { + base_directory = "base/path" + name = "TF test service repository" + repository = run.from_repository_module.first.id + repository_alias = null + service = run.from_service_module.first.id + service_alias = null + } + + module { + source = "./opslevel_modules/modules/service/repository" + } + + assert { + condition = alltrue([ + can(opslevel_service_repository.this.base_directory), + can(opslevel_service_repository.this.id), + can(opslevel_service_repository.this.name), + can(opslevel_service_repository.this.repository), + can(opslevel_service_repository.this.repository_alias), + can(opslevel_service_repository.this.service), + can(opslevel_service_repository.this.service_alias), + ]) + error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) + } + + assert { + condition = opslevel_service_repository.this.base_directory == var.base_directory + error_message = format( + "expected '%v' but got '%v'", + var.base_directory, + opslevel_service_repository.this.base_directory, + ) + } + + assert { + condition = startswith(opslevel_service_repository.this.id, var.id_prefix) + error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) + } + + assert { + condition = opslevel_service_repository.this.name == var.name + error_message = format( + "expected '%v' but got '%v'", + var.name, + opslevel_service_repository.this.name, + ) + } + + assert { + condition = opslevel_service_repository.this.repository == var.repository + error_message = format( + "expected '%v' but got '%v'", + var.repository, + opslevel_service_repository.this.repository, + ) + } + + assert { + condition = opslevel_service_repository.this.repository_alias == null + error_message = var.error_expected_null_field + } + + assert { + condition = opslevel_service_repository.this.service == var.service + error_message = format( + "expected '%v' but got '%v'", + var.service, + opslevel_service_repository.this.service, + ) + } + + assert { + condition = opslevel_service_repository.this.service_alias == null + error_message = var.error_expected_null_field + } + +} + +# run "resource_service_repository_create_with_aliases" { + +# variables { +# base_directory = "base/path" +# name = "TF test service repository" +# repository = null +# repository_alias = run.from_repository_module.first.alias +# service = null +# service_alias = run.from_service_module.first.aliases[0] +# } + +# module { +# source = "./opslevel_modules/modules/service/repository" +# } + +# assert { +# condition = opslevel_service_repository.this.base_directory == var.base_directory +# error_message = format( +# "expected '%v' but got '%v'", +# var.base_directory, +# opslevel_service_repository.this.base_directory, +# ) +# } + +# assert { +# condition = opslevel_service_repository.this.name == var.name +# error_message = format( +# "expected '%v' but got '%v'", +# var.name, +# opslevel_service_repository.this.name, +# ) +# } + +# assert { +# condition = opslevel_service_repository.this.repository == null +# error_message = var.error_expected_null_field +# } + +# assert { +# condition = opslevel_service_repository.this.repository_alias == var.repository_alias +# error_message = format( +# "expected '%v' but got '%v'", +# var.repository_alias, +# opslevel_service_repository.this.repository_alias, +# ) +# } + +# assert { +# condition = opslevel_service_repository.this.service == null +# error_message = var.error_expected_null_field +# } + +# assert { +# condition = opslevel_service_repository.this.service_alias == var.service_alias +# error_message = format( +# "expected '%v' but got '%v'", +# var.service_alias, +# opslevel_service_repository.this.service_alias, +# ) +# } + +# } + +# run "resource_service_repository_update_unset_optional_fields" { + +# variables { +# base_directory = null +# name = "TF test service repository" +# repository = null +# repository_alias = run.from_repository_module.first.alias +# service = null +# service_alias = run.from_service_module.first.aliases[0] +# } + +# module { +# source = "./opslevel_modules/modules/service/repository" +# } + +# assert { +# condition = opslevel_service_repository.this.base_directory == null +# error_message = var.error_expected_null_field +# } + +# # TODO: unable to unset 'name' field for now +# # assert { +# # condition = opslevel_service_repository.this.name == null +# # error_message = var.error_expected_null_field +# # } + +# } diff --git a/tests/service_tag.tftest.hcl b/tests/service_tag.tftest.hcl new file mode 100644 index 00000000..fa039938 --- /dev/null +++ b/tests/service_tag.tftest.hcl @@ -0,0 +1,129 @@ +variables { + resource_name = "opslevel_service_tag" + + # required fields + key = "test-service-tag-key" + value = "test-service-tag-value" + + # optional fields + service = null + service_alias = null +} + +run "from_service_module" { + command = plan + + module { + source = "./data/service" + } +} + +run "resource_service_tag_create_with_service_id" { + + variables { + key = var.key + service = run.from_service_module.first.id + service_alias = null + value = var.value + } + + module { + source = "./opslevel_modules/modules/service/tag" + } + + assert { + condition = alltrue([ + can(opslevel_service_tag.this.key), + can(opslevel_service_tag.this.id), + can(opslevel_service_tag.this.service), + can(opslevel_service_tag.this.service_alias), + can(opslevel_service_tag.this.value), + ]) + error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) + } + + assert { + condition = startswith(opslevel_service_tag.this.id, var.id_prefix) + error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) + } + + assert { + condition = opslevel_service_tag.this.key == var.key + error_message = format( + "expected '%v' but got '%v'", + var.key, + opslevel_service_tag.this.key, + ) + } + + assert { + condition = opslevel_service_tag.this.service == var.service + error_message = format( + "expected '%v' but got '%v'", + var.service, + opslevel_service_tag.this.service, + ) + } + + assert { + condition = opslevel_service_tag.this.service_alias == null + error_message = var.error_expected_null_field + } + + assert { + condition = opslevel_service_tag.this.value == var.value + error_message = format( + "expected '%v' but got '%v'", + var.value, + opslevel_service_tag.this.value, + ) + } + +} + +# run "resource_service_tag_create_with_service_alias" { + +# variables { +# key = var.key +# service = null +# service_alias = run.from_service_module.first.aliases[0] +# value = var.value +# } + +# module { +# source = "./opslevel_modules/modules/service/tag" +# } + +# assert { +# condition = opslevel_service_tag.this.key == var.key +# error_message = format( +# "expected '%v' but got '%v'", +# var.key, +# opslevel_service_tag.this.key, +# ) +# } + +# assert { +# condition = opslevel_service_tag.this.service == null +# error_message = var.error_expected_null_field +# } + +# assert { +# condition = opslevel_service_tag.this.service_alias == var.service_alias +# error_message = format( +# "expected '%v' but got '%v'", +# var.service_alias, +# opslevel_service_tag.this.service_alias, +# ) +# } + +# assert { +# condition = opslevel_service_tag.this.value == var.value +# error_message = format( +# "expected '%v' but got '%v'", +# var.value, +# opslevel_service_tag.this.value, +# ) +# } + +# } diff --git a/tests/service_tool.tftest.hcl b/tests/service_tool.tftest.hcl new file mode 100644 index 00000000..6b88fe43 --- /dev/null +++ b/tests/service_tool.tftest.hcl @@ -0,0 +1,169 @@ +variables { + resource_name = "opslevel_service_tool" + + # required fields + category = "observability" + name = "TF Test Service Tool" + url = "https://example.com" + + # optional fields + environment = "production" + service = null + service_alias = null +} + +run "from_service_module" { + command = plan + + module { + source = "./data/service" + } +} + +run "resource_service_tool_create_with_service_id" { + + variables { + category = var.category + environment = var.environment + name = var.name + service = run.from_service_module.first.id + service_alias = null + url = var.url + } + + module { + source = "./opslevel_modules/modules/service/tool" + } + + assert { + condition = alltrue([ + can(opslevel_service_tool.this.category), + can(opslevel_service_tool.this.environment), + can(opslevel_service_tool.this.id), + can(opslevel_service_tool.this.name), + can(opslevel_service_tool.this.service), + can(opslevel_service_tool.this.service_alias), + can(opslevel_service_tool.this.url), + ]) + error_message = replace(var.error_unexpected_resource_fields, "TYPE", var.resource_name) + } + + assert { + condition = opslevel_service_tool.this.category == var.category + error_message = format( + "expected '%v' but got '%v'", + var.category, + opslevel_service_tool.this.category, + ) + } + + assert { + condition = opslevel_service_tool.this.environment == var.environment + error_message = format( + "expected '%v' but got '%v'", + var.environment, + opslevel_service_tool.this.environment, + ) + } + + assert { + condition = startswith(opslevel_service_tool.this.id, var.id_prefix) + error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) + } + + assert { + condition = opslevel_service_tool.this.name == var.name + error_message = format( + "expected '%v' but got '%v'", + var.name, + opslevel_service_tool.this.name, + ) + } + + assert { + condition = opslevel_service_tool.this.service == var.service + error_message = format( + "expected '%v' but got '%v'", + var.service, + opslevel_service_tool.this.service, + ) + } + + assert { + condition = opslevel_service_tool.this.service_alias == null + error_message = var.error_expected_null_field + } + + assert { + condition = opslevel_service_tool.this.url == var.url + error_message = format( + "expected '%v' but got '%v'", + var.url, + opslevel_service_tool.this.url, + ) + } + +} + +# run "resource_service_tool_create_with_service_alias" { + +# variables { +# category = var.category +# environment = var.environment +# name = var.name +# service = null +# service_alias = run.from_service_module.first.aliases[0] +# url = var.url +# } + +# module { +# source = "./opslevel_modules/modules/service/tool" +# } + +# assert { +# condition = opslevel_service_tool.this.category == var.category +# error_message = format( +# "expected '%v' but got '%v'", +# var.category, +# opslevel_service_tool.this.category, +# ) +# } + +# assert { +# condition = opslevel_service_tool.this.environment == var.environment +# error_message = format( +# "expected '%v' but got '%v'", +# var.environment, +# opslevel_service_tool.this.environment, +# ) +# } + +# assert { +# condition = startswith(opslevel_service_tool.this.id, var.id_prefix) +# error_message = replace(var.error_wrong_id, "TYPE", var.resource_name) +# } + +# assert { +# condition = opslevel_service_tool.this.service == null +# error_message = var.error_expected_null_field +# } + +# assert { +# condition = opslevel_service_tool.this.service_alias == var.service_alias +# error_message = format( +# "expected '%v' but got '%v'", +# var.service_alias, +# opslevel_service_tool.this.service_alias, +# ) +# } + +# assert { +# condition = opslevel_service_tool.this.url == var.url +# error_message = format( +# "expected '%v' but got '%v'", +# var.url, +# opslevel_service_tool.this.url, +# ) +# } + +# } diff --git a/tests/team_all.tftest.hcl b/tests/team_all.tftest.hcl index 71a7d515..0ebcedf5 100644 --- a/tests/team_all.tftest.hcl +++ b/tests/team_all.tftest.hcl @@ -14,24 +14,16 @@ variables { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } run "from_user_module" { command = plan - variables { - email = "" - } - module { - source = "./opslevel_modules/modules/user" + source = "./data/user" } } @@ -48,7 +40,7 @@ run "resource_team_create_with_all_fields" { role = "contributor" }, ] - parent = run.from_team_module.all.teams[0].id + parent = run.from_team_module.first.id } module { @@ -189,26 +181,3 @@ run "resource_team_unset_responsibilities" { } } - -run "datasource_teams_all" { - - command = plan - - module { - source = "./opslevel_modules/modules/team" - } - - assert { - condition = alltrue([ - can(data.opslevel_teams.all.teams[0].alias), - can(data.opslevel_teams.all.teams[0].contacts), - can(data.opslevel_teams.all.teams[0].id), - can(data.opslevel_teams.all.teams[0].members), - can(data.opslevel_teams.all.teams[0].name), - can(data.opslevel_teams.all.teams[0].parent_alias), - can(data.opslevel_teams.all.teams[0].parent_id), - ]) - error_message = replace(var.error_unexpected_datasource_fields, "TYPE", var.resource_name) - } - -} diff --git a/tests/team_min.tftest.hcl b/tests/team_min.tftest.hcl index 846f5e40..35dc5095 100644 --- a/tests/team_min.tftest.hcl +++ b/tests/team_min.tftest.hcl @@ -80,12 +80,8 @@ run "resource_team_set_aliases" { run "from_user_module" { command = plan - variables { - email = "" - } - module { - source = "./opslevel_modules/modules/user" + source = "./data/user" } } @@ -122,19 +118,15 @@ run "resource_team_set_members" { run "from_team_module" { command = plan - variables { - name = "" - } - module { - source = "./opslevel_modules/modules/team" + source = "./data/team" } } run "resource_team_set_parent" { variables { - parent = run.from_team_module.all.teams[0].id + parent = run.from_team_module.first.id } module { diff --git a/tests/user_all.tftest.hcl b/tests/user_all.tftest.hcl index e569cc01..052c0452 100644 --- a/tests/user_all.tftest.hcl +++ b/tests/user_all.tftest.hcl @@ -86,24 +86,3 @@ run "resource_user_unset_skip_welcome_email_defaults_to_true" { } } - -run "datasource_users_all" { - - command = plan - - module { - source = "./opslevel_modules/modules/user" - } - - assert { - condition = alltrue([ - can(data.opslevel_users.all.ignore_deactivated), - can(data.opslevel_users.all.users[0].email), - can(data.opslevel_users.all.users[0].id), - can(data.opslevel_users.all.users[0].name), - can(data.opslevel_users.all.users[0].role), - ]) - error_message = replace(var.error_unexpected_datasource_fields, "TYPE", var.resource_name) - } - -}