{"id":20657756,"url":"https://github.com/boltops-tools/terraspace-demo-module-test","last_synced_at":"2026-04-20T17:02:38.332Z","repository":{"id":91684920,"uuid":"372626984","full_name":"boltops-tools/terraspace-demo-module-test","owner":"boltops-tools","description":"Terraspace module test demo","archived":false,"fork":false,"pushed_at":"2021-05-31T20:57:09.000Z","size":7,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-31T15:28:25.572Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boltops-tools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-31T20:56:09.000Z","updated_at":"2023-08-22T15:24:58.000Z","dependencies_parsed_at":"2023-07-11T08:01:16.235Z","dependency_job_id":null,"html_url":"https://github.com/boltops-tools/terraspace-demo-module-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boltops-tools/terraspace-demo-module-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Fterraspace-demo-module-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Fterraspace-demo-module-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Fterraspace-demo-module-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Fterraspace-demo-module-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boltops-tools","download_url":"https://codeload.github.com/boltops-tools/terraspace-demo-module-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boltops-tools%2Fterraspace-demo-module-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32056876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T18:23:00.076Z","updated_at":"2026-04-20T17:02:38.278Z","avatar_url":"https://github.com/boltops-tools.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Testing Modules Example\n\nThis is a Terraspace project to show how to test a module.\n\n* This helps answer this forum question: [Terratest testing module](https://community.boltops.com/t/terratest-testing-module/708)\n* [Terraspace Docs: Module-Level Testing](https://terraspace.cloud/docs/testing/module/)\n\n## Generate example boiler plate\n\nWe can use [terraspace new test]({% link _reference/terraspace-new-test.md %}) run from the **root** of the terraspace project to create a `app/modules/example/test/spec/main_spec.rb` test.\n\n    terraspace new test example --type module\n\nNote, we have already:\n\n1. generated an example test for the example module in this repo\n2. edit the example so it checks for the bucket name\n\n## Run Tests\n\nTo run the test, you should be **within** in the module folder itself.\n\n    cd app/modules/example\n    bundle\n    terraspace test\n\n## Output Example\n\n\n    $ cd app/modules/example\n    $ terraspace test\n    =\u003e cd test \u0026\u0026 bundle exec rspec\n\n    main\n    Terraspace.logger has been reconfigured to /tmp/terraspace/log/test.log\n    Building test harness at: /tmp/terraspace/test-harnesses/example-harness\n    Test harness built.\n    =\u003e terraspace up example -y\n\n    An execution plan has been generated and is shown below.\n    Resource actions are indicated with the following symbols:\n      + create\n\n    Terraform will perform the following actions:\n      # aws_s3_bucket.this will be created\n      + resource \"aws_s3_bucket\" \"this\" {\n          + acceleration_status         = (known after apply)\n          + acl                         = \"private\"\n          + arn                         = (known after apply)\n          + bucket                      = (known after apply)\n          + bucket_domain_name          = (known after apply)\n          + bucket_regional_domain_name = (known after apply)\n          + force_destroy               = false\n          + hosted_zone_id              = (known after apply)\n          + id                          = (known after apply)\n          + region                      = (known after apply)\n          + request_payer               = (known after apply)\n          + tags_all                    = (known after apply)\n          + website_domain              = (known after apply)\n          + website_endpoint            = (known after apply)\n          + versioning {\n              + enabled    = (known after apply)\n              + mfa_delete = (known after apply)\n            }\n        }\n    Plan: 1 to add, 0 to change, 0 to destroy.\n\n    Changes to Outputs:\n      + name = (known after apply)\n    ------------------------------------------------------------------------\n    This plan was saved to: /tmp/terraspace/plans/example-33c955bd6d416c613e76c699ad3bc437.plan\n    To perform exactly these actions, run the following command to apply:\n        terraform apply \"/tmp/terraspace/plans/example-33c955bd6d416c613e76c699ad3bc437.plan\"\n    aws_s3_bucket.this: Creating...\n    aws_s3_bucket.this: Creation complete after 1s [id=terraform-20210531205108563900000001]\n\n    Apply complete! Resources: 1 added, 0 changed, 0 destroyed.\n\n    The state of your infrastructure has been saved to the path\n    below. This state is required to modify and destroy your\n    infrastructure, so keep it safe. To inspect the complete state\n    use the `terraform show` command.\n\n    State path: terraform.tfstate\n\n    Outputs:\n\n    name = \"terraform-20210531205108563900000001\"\n    =\u003e terraspace output example --format json --out /tmp/terraspace/rspec/output.json\n    {\"name\"=\u003e\n      {\"sensitive\"=\u003efalse,\n       \"type\"=\u003e\"string\",\n       \"value\"=\u003e\"terraform-20210531205108563900000001\"}}\n      successful deploy\n    =\u003e terraspace down example -y\n\n    An execution plan has been generated and is shown below.\n    Resource actions are indicated with the following symbols:\n      - destroy\n\n    Terraform will perform the following actions:\n      # aws_s3_bucket.this will be destroyed\n      - resource \"aws_s3_bucket\" \"this\" {\n          - acl                         = \"private\" -\u003e null\n          - arn                         = \"arn:aws:s3:::terraform-20210531205108563900000001\" -\u003e null\n          - bucket                      = \"terraform-20210531205108563900000001\" -\u003e null\n          - bucket_domain_name          = \"terraform-20210531205108563900000001.s3.amazonaws.com\" -\u003e null\n          - bucket_regional_domain_name = \"terraform-20210531205108563900000001.s3.us-west-2.amazonaws.com\" -\u003e null\n          - force_destroy               = false -\u003e null\n          - hosted_zone_id              = \"Z3BJ6K6RIION7M\" -\u003e null\n          - id                          = \"terraform-20210531205108563900000001\" -\u003e null\n          - region                      = \"us-west-2\" -\u003e null\n          - request_payer               = \"BucketOwner\" -\u003e null\n          - tags_all                    = {} -\u003e null\n\n          - versioning {\n              - enabled    = false -\u003e null\n              - mfa_delete = false -\u003e null\n            }\n        }\n\n    Plan: 0 to add, 0 to change, 1 to destroy.\n\n    Changes to Outputs:\n      - name = \"terraform-20210531205108563900000001\" -\u003e null\n\n    ------------------------------------------------------------------------\n\n    Note: You didn't specify an \"-out\" parameter to save this plan, so Terraform\n    can't guarantee that exactly these actions will be performed if\n    \"terraform apply\" is subsequently run.\n    aws_s3_bucket.this: Destroying... [id=terraform-20210531205108563900000001]\n    aws_s3_bucket.this: Destruction complete after 0s\n\n    Destroy complete! Resources: 1 destroyed.\n\n    Finished in 22.16 seconds (files took 0.29652 seconds to load)\n    1 example, 0 failures\n\n    $\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboltops-tools%2Fterraspace-demo-module-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboltops-tools%2Fterraspace-demo-module-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboltops-tools%2Fterraspace-demo-module-test/lists"}