MCPcopy
hub / github.com/gruntwork-io/terratest

github.com/gruntwork-io/terratest @v1.0.1 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.1 ↗
4,474 symbols 16,956 edges 475 files 3,445 documented · 77%
README

Terratest

Maintained by Gruntwork.io Go Report Card go.dev reference go.mod version

Terratest is a Go library that makes it easier to write automated tests for your infrastructure code. It provides a variety of helper functions and patterns for common infrastructure testing tasks, including:

  • Testing Terraform code
  • Testing Packer templates
  • Testing Docker images
  • Executing commands on servers over SSH
  • Working with AWS APIs
  • Working with Azure APIs
  • Working with GCP APIs
  • Working with Kubernetes APIs
  • Testing Helm Charts
  • Making HTTP requests
  • Running shell commands
  • And much more

Install

go get github.com/gruntwork-io/terratest@latest

Requires Go 1.26 or later. To lock to a specific release instead of @latest, see Pinning a Terratest version.

Stability and versioning

Starting with v1.0.0, Terratest follows semantic versioning. Breaking changes to the public API only happen in major releases (e.g. v2.0.0).

Symbols renamed or replaced in v1 are kept with // Deprecated: annotations pointing at the new name; removals happen in v2. Migrating from v0.x: see the v1 migration guide.

v1 maintenance. With v2 in development, the v1 line has entered maintenance: it receives security fixes only, delivered on the v1 branch, until 12 months after v2.0.0 reaches general availability. v2 ships under new /v2 module paths, so pinned v1 consumers are unaffected. Upgrade on your own schedule.

More info

License

This code is released under the Apache 2.0 License. Please see LICENSE and NOTICE for more details.

Copyright © 2025 Gruntwork, Inc.

Extension points exported contracts — how you extend this code

TestLogger (Interface)
TestLogger is the interface for custom logger implementations that can be used with the Logger wrapper. [7 implementers]
modules/logger/logger.go
InstanceGroup (Interface)
InstanceGroup is an interface for instance groups that can return their instance IDs. [2 implementers]
modules/gcp/compute.go
TestingT (Interface)
TestingT is an interface that describes the implementation of the testing object that the majority of Terratest function [2 …
modules/testing/types.go
Var (Interface)
Var represents a Terraform variable assignment that can be rendered as command-line arguments. Use [VarInline] to pass a [1 …
modules/terraform/var.go
Closeable (Interface)
Closeable can be closed. [1 implementers]
modules/ssh/session.go
AcmAPI (Interface)
AcmAPI is the subset of *acm.Client operations used by the helpers in this file. It is declared as an interface so tests [1 …
modules/aws/acm.go
Ec2SyslogAPI (Interface)
Ec2SyslogAPI is the subset of *ec2.Client operations used by the syslog helpers in this file. Declared as an interface s [1 …
modules/aws/ec2-syslog.go
DynamoDBAPI (Interface)
DynamoDBAPI is the subset of *dynamodb.Client operations used by the helpers in this file. Declared as an interface so t [1 …
modules/aws/dynamodb.go

Core symbols most depended-on inside this repo

Helper
called by 837
modules/logger/logger.go
Logf
called by 248
modules/logger/logger.go
UniqueID
called by 242
modules/random/random.go
Error
called by 231
modules/testing/types.go
String
called by 173
modules/shell/output.go
OutputContext
called by 152
modules/terraform/output.go
Errorf
called by 150
modules/testing/types.go
Name
called by 148
modules/testing/types.go

Shape

Function 3,969
Method 295
Struct 182
TypeAlias 16
Interface 12

Languages

Go97%
TypeScript3%

Modules by API surface

modules/gcp/compute.go126 symbols
modules/azure/client_factory.go125 symbols
docs/assets/js/main.js89 symbols
modules/aws/s3.go82 symbols
modules/aws/ec2.go82 symbols
modules/k8s/errors.go66 symbols
modules/http-helper/http_helper.go64 symbols
modules/azure/compute.go64 symbols
modules/aws/rds.go59 symbols
modules/ssh/ssh.go56 symbols
modules/aws/ami.go49 symbols
modules/terraform/output.go47 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/cloudbuildv1.28.0 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/longrunningv0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.3 · 1×
cloud.google.com/go/pubsub/v2v2.4.0 · 1×
cloud.google.com/go/storagev1.62.1 · 1×
filippo.io/edwards25519v1.1.1 · 1×

For agents

$ claude mcp add terratest \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact