diff --git a/2022/Days/IaC/Automated-test-with-Terratest/README.md b/2022/Days/IaC/Automated-test-with-Terratest/README.md deleted file mode 100644 index be86e19..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/README.md +++ /dev/null @@ -1,23 +0,0 @@ -# Terratest -Terratest is a Go library developed at Gruntwork, that makes it easier to write automated tests for our infrastructure code. It provides a variety of helper functions and patterns for common infrastructure testing tasks but here we will be discussing about Testing Terraform code. - -# To Run this application -* git clone https://github.com/imnitin28/terra-form-test-techhub.git
-* cd test
-* go mod init ""
- **MODULE_NAME would be github.com//**
-* go mod init github.com/
-* go run - --------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -go mod init "" would create go.mod file into test folder.
-* The go.mod file is the root of dependency management in GoLang. -* All the modules which are needed or to be used in the project are maintained here in go.mod file. -* It creates entry for all the packages we are going to use/import in our project. -* It reduces effort for getting each dependencies manually. - -On running **go test** for the first time you would get go.sum file created. -* go.sum file is created when **go test** or **go build** is executed for the first time. -* It installs all the packages with specific version(latest) -* we do not need to edit or modify this file. diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/instance.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/instance.tf deleted file mode 100644 index 5a9db2d..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/instance.tf +++ /dev/null @@ -1,12 +0,0 @@ -resource "aws_instance" "example" { - ami = var.AMIS[var.AWS_REGION] - instance_type = "t2.micro" - vpc_security_group_ids = [aws_security_group.instance.id] - - # When the instance boots, start a web server on port 8080 that responds with "Hello, World!". - user_data = < index.html -nohup busybox httpd -f -p 8080 & -EOF -} \ No newline at end of file diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/output.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/output.tf deleted file mode 100644 index 752bb05..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/output.tf +++ /dev/null @@ -1,4 +0,0 @@ -# Output the instance's public IP address. -output "public_ip" { - value = aws_instance.example.public_ip -} \ No newline at end of file diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/provider.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/provider.tf deleted file mode 100644 index 696b517..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/provider.tf +++ /dev/null @@ -1,6 +0,0 @@ -provider "aws" { - access_key = var.AWS_ACCESS_KEY - secret_key = var.AWS_SECRET_KEY - region = var.AWS_REGION -} - diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/securitygroup.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/securitygroup.tf deleted file mode 100644 index d562dee..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/securitygroup.tf +++ /dev/null @@ -1,9 +0,0 @@ -# Allow the instance to receive requests on port 8080. -resource "aws_security_group" "instance" { - ingress { - from_port = 8080 - to_port = 8080 - protocol = "tcp" - cidr_blocks = ["0.0.0.0/0"] - } -} \ No newline at end of file diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/terraform.tfvars b/2022/Days/IaC/Automated-test-with-Terratest/examples/terraform.tfvars deleted file mode 100644 index dcc3f3b..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/terraform.tfvars +++ /dev/null @@ -1,3 +0,0 @@ -AWS_ACCESS_KEY = "XXXX" -AWS_SECRET_KEY = "XXXXXXXX" -AWS_REGION="ap-south-1" diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/vars.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/vars.tf deleted file mode 100644 index 9316302..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/vars.tf +++ /dev/null @@ -1,17 +0,0 @@ -variable "AWS_ACCESS_KEY" { -} - -variable "AWS_SECRET_KEY" { -} - -variable "AWS_REGION" { - default = "ap-south-1" -} - -variable "AMIS" { - type = map(string) - default = { - ap-south-1 = "ami-0860c9429baba6ad2" - } -} - diff --git a/2022/Days/IaC/Automated-test-with-Terratest/examples/versions.tf b/2022/Days/IaC/Automated-test-with-Terratest/examples/versions.tf deleted file mode 100644 index 0ac1e24..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/examples/versions.tf +++ /dev/null @@ -1,3 +0,0 @@ -terraform { - required_version = ">= 0.12.26" -} \ No newline at end of file diff --git a/2022/Days/IaC/Automated-test-with-Terratest/test/terraform_test.go b/2022/Days/IaC/Automated-test-with-Terratest/test/terraform_test.go deleted file mode 100644 index 93dc842..0000000 --- a/2022/Days/IaC/Automated-test-with-Terratest/test/terraform_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package test - -import ( - "fmt" - "testing" - "time" - - http_helper "github.com/gruntwork-io/terratest/modules/http-helper" - - "github.com/gruntwork-io/terratest/modules/terraform" -) - -func TestTerraformAwsHelloWorldExample(t *testing.T) { - t.Parallel() - - /*Construct the terraform options with default retryable errors to handle the most common retryable errors in terraform testing. */ - terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{ - /* The path to where our Terraform code is located */ - TerraformDir: "../examples", - }) - - /* At the end of the test, run `terraform destroy` to clean up any resources that were created.*/ - defer terraform.Destroy(t, terraformOptions) - - /* Run `terraform init` and `terraform apply`. Fail the test if there are any errors. */ - terraform.InitAndApply(t, terraformOptions) - - /* Run `terraform output` to get the IP of the instance */ - publicIp := terraform.Output(t, terraformOptions, "public_ip") - - /* Make an HTTP request to the instance and make sure we get back a 200 OK with the body "Hello, World!" */ - url := fmt.Sprintf("http://%s:8080", publicIp) - http_helper.HttpGetWithRetry(t, url, nil, 200, "Hello, World!", 30, 5*time.Second) -}