This folder contains the tests for the modules in this repo.
Running the tests locally
Note #1: Many of these tests create real resources in an AWS account. That means they cost money to run, especially
if you don't clean up after yourself. Please be considerate of the resources you create and take extra care to clean
everything up when you're done!
Note #2: Never hit CTRL + C or cancel a build once tests are running or the cleanup tasks won't run!
Note #3: We set -timeout 45m on all tests not because they necessarily take 45 minutes, but because Go has a
default test timeout of 10 minutes, after which it does a SIGQUIT, preventing the tests from properly cleaning up
after themselves. Therefore, we set a timeout of 45 minutes to make sure all tests have enough time to finish and
cleanup.
Add your AWS credentials as environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
For some of the tests, you also need to set the GITHUB_OAUTH_TOKEN environment variable to a valid GitHub
auth token with "repo" access. You can generate one here: https://github.com/settings/tokens
Run all the tests
cdtest
go test -v -timeout 45m -parallel 128
Run a specific test
To run a specific test called TestFoo:
cdtest
go test -v -timeout 45m -parallel 128 -run TestFoo
Questions? Ask away.
We're here to talk about our services, answer any questions, give advice, or just to chat.
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"25876ddee5c3e405ab467c87ff6a0d36b773391e"},{"name":"post-upgrade-test-results.sh","path":".circleci/post-upgrade-test-results.sh","sha":"a4867e8fbdc334b7a90259568ee41ea577fbe764"},{"name":"set-upgrade-test-vars.sh","path":".circleci/set-upgrade-test-vars.sh","sha":"8d961461f09584ccd42432b5d56d64db43da1a6e"}]},{"name":".github","children":[{"name":"ISSUE_TEMPLATE","children":[{"name":"bug_report.md","path":".github/ISSUE_TEMPLATE/bug_report.md","sha":"d2e87e27c601e423865ed660ec697082470ca60f"},{"name":"feature_request.md","path":".github/ISSUE_TEMPLATE/feature_request.md","sha":"023a33099be2336476930c96e17ff1ba5dc55348"}]},{"name":"pull_request_template.md","path":".github/pull_request_template.md","sha":"6b100e40e323b5b07f40ed30616277c51c9f4b9e"}]},{"name":".gitignore","path":".gitignore","sha":"b647d70b39746f8ebc58bdb81766f30296fa1297"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"23068872ca60d7f40ae10c05ea8e5915d04056dc"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"821a961d9a4c9b551211b85f2e4978171a5b1ac3"},{"name":"LICENSE.txt","path":"LICENSE.txt","sha":"f4e3d9bd4717a044ed31ad847a300eee74371a78"},{"name":"README.adoc","path":"README.adoc","sha":"8f73ee5b8a94653472b3f86c0332757e683191a1"},{"name":"_docs","children":[{"name":"aurora-serverless.png","path":"_docs/aurora-serverless.png","sha":"5a53145be56705c76f7f7aa6a25aa0ddee78e4a3"},{"name":"aurora.png","path":"_docs/aurora.png","sha":"fc218831bfa34097a56f1b0e47fe05521bdb4a8a"},{"name":"backup-architecture.png","path":"_docs/backup-architecture.png","sha":"61b138cd6ad58c7a37fa1b37fef43c44a371a97c"},{"name":"data-backup-architecture.png","path":"_docs/data-backup-architecture.png","sha":"fcc7ce8753e28c19af87ea5cea96e6ded648d429"},{"name":"data-backup.png","path":"_docs/data-backup.png","sha":"116b10f231073f8c52255ca98e48cc228c48a2c3"},{"name":"mariadb.png","path":"_docs/mariadb.png","sha":"d540d3d3ff8797c4a4c3a62c65e7d3f63621568f"},{"name":"mysql.png","path":"_docs/mysql.png","sha":"73b55bd0d517dcba53c878712544abf96be3a66e"},{"name":"oracle.png","path":"_docs/oracle.png","sha":"b5f1ca801f5af4a30f1b812eea17cec516c1fe6c"},{"name":"postgresql.png","path":"_docs/postgresql.png","sha":"fd9c7ec282aef38a5813e8542d92227b96bd5be8"},{"name":"rds-architecture.png","path":"_docs/rds-architecture.png","sha":"8f2b1b5b4015a5777032c6aa64627ceee24330fc"},{"name":"redshift-architecture.png","path":"_docs/redshift-architecture.png","sha":"0ebffc1b1fbecdb0335a09c6bf7fe7c5f073d16e"},{"name":"redshift-icon.png","path":"_docs/redshift-icon.png","sha":"add0f05edb29726e62c784edf428eef60aed4d5f"},{"name":"sqlserver.png","path":"_docs/sqlserver.png","sha":"a800d188398262593f4f89f27c8f3ce2ce1e76a4"}]},{"name":"examples","children":[{"name":"aurora-global-cluster","children":[{"name":"README.md","path":"examples/aurora-global-cluster/README.md","sha":"e9f2c25730df4a914f8cacc493ff988ad39f3391"},{"name":"main.tf","path":"examples/aurora-global-cluster/main.tf","sha":"53446af9df90cbdc507a7ffbf31e48c7a46bd101"},{"name":"outputs.tf","path":"examples/aurora-global-cluster/outputs.tf","sha":"ad1a6164878d086b7aba2e2d6dcece92b57db2e6"},{"name":"variables.tf","path":"examples/aurora-global-cluster/variables.tf","sha":"57a4493ec46c7f0d1cf113a0765906c5fc7d2265"}]},{"name":"aurora-serverless","children":[{"name":"README.md","path":"examples/aurora-serverless/README.md","sha":"98662b8765774b68a963e71f48a167f0281c24ef"},{"name":"main.tf","path":"examples/aurora-serverless/main.tf","sha":"0c5b191a15c615868769fde539962ff491fb4826"},{"name":"outputs.tf","path":"examples/aurora-serverless/outputs.tf","sha":"7da44a91e9ac6e14a5c7c144c60c5ad0ceb5ce1b"},{"name":"variables.tf","path":"examples/aurora-serverless/variables.tf","sha":"121ec7d62c6ac37994d5e21c07edcba83cb42cce"}]},{"name":"aurora-with-cross-region-replica","children":[{"name":"README.md","path":"examples/aurora-with-cross-region-replica/README.md","sha":"ea3fbab79d4537541becf92d30a2e620daf8a308"},{"name":"main.tf","path":"examples/aurora-with-cross-region-replica/main.tf","sha":"b2568481dbec32deabf26b03e6b28b3bde69fa7e"},{"name":"outputs.tf","path":"examples/aurora-with-cross-region-replica/outputs.tf","sha":"58a3862180d107c3d0501ec9b289b08ed09af3a8"},{"name":"variables.tf","path":"examples/aurora-with-cross-region-replica/variables.tf","sha":"a9326e5c167be4666653c2553265195171be30ed"}]},{"name":"aurora","children":[{"name":"README.md","path":"examples/aurora/README.md","sha":"3ffae862906cf9daf61599e6ad694b45ac8946c4"},{"name":"main.tf","path":"examples/aurora/main.tf","sha":"e9a175a43b3c2471a83b73bef82be1bc3abd5807"},{"name":"outputs.tf","path":"examples/aurora/outputs.tf","sha":"142569b7d9772c741ee28846de617f5a4b7f0d84"},{"name":"variables.tf","path":"examples/aurora/variables.tf","sha":"767be4c3468fb461c5bd7cd05a7b41164367697a"}]},{"name":"default-vault-plan-and-selection","children":[{"name":"README.md","path":"examples/default-vault-plan-and-selection/README.md","sha":"654dff28a302481e32e4a9985afd6fced0d55d7e"},{"name":"main.tf","path":"examples/default-vault-plan-and-selection/main.tf","sha":"1e412640d057652c6027cd84f9b688a1b9a21d84"},{"name":"variables.tf","path":"examples/default-vault-plan-and-selection/variables.tf","sha":"b41526930c798d19c4dd3d744a3ffcce4538535d"}]},{"name":"efs","children":[{"name":"README.md","path":"examples/efs/README.md","sha":"d7c254b633663051e6a56e7b05092cd09fdf06b2"},{"name":"main.tf","path":"examples/efs/main.tf","sha":"dfb8727f43f209a3198231f111d08c19cd3e6ac7"},{"name":"outputs.tf","path":"examples/efs/outputs.tf","sha":"b5a6400d4a67e1e6f6773c513acaa8784ceda46b"},{"name":"variables.tf","path":"examples/efs/variables.tf","sha":"3c49e13f2e303786c32ca45a0408a270b4a43bae"}]},{"name":"lambda-rds-snapshot-multiple-schedules","children":[{"name":"README.md","path":"examples/lambda-rds-snapshot-multiple-schedules/README.md","sha":"77a88fa879f0ac2eae47319bb35a6b25126975d2"},{"name":"main.tf","path":"examples/lambda-rds-snapshot-multiple-schedules/main.tf","sha":"9b4ff2be5c86c46001289ce5dc4d26ed5af58b15"},{"name":"outputs.tf","path":"examples/lambda-rds-snapshot-multiple-schedules/outputs.tf","sha":"7a8f966782c659d1568f35684197f232939ea9ec"},{"name":"variables.tf","path":"examples/lambda-rds-snapshot-multiple-schedules/variables.tf","sha":"f6ae16692c02a1ae6ed95d58e16bd3e02b98f703"}]},{"name":"lambda-rds-snapshot","children":[{"name":"README.md","path":"examples/lambda-rds-snapshot/README.md","sha":"9e24c56c01d3d8b4dd220ca1b7bde62b3aa9272a"},{"name":"main.tf","path":"examples/lambda-rds-snapshot/main.tf","sha":"1ddffee0dd20f337a9c375da603ac817706c0b04"},{"name":"outputs.tf","path":"examples/lambda-rds-snapshot/outputs.tf","sha":"375c8bb979dd4133c3675d9e6263e1138c448973"},{"name":"variables.tf","path":"examples/lambda-rds-snapshot/variables.tf","sha":"b777711ea9860aa43f766a5e5edf8b817e994885"}]},{"name":"rds-mariadb","children":[{"name":"README.md","path":"examples/rds-mariadb/README.md","sha":"f283eaf0f935ca3ea4becf713208cd33acb214da"},{"name":"main.tf","path":"examples/rds-mariadb/main.tf","sha":"efa39f9bf8938124ef5c6c4f714ee23a7fdd0bc8"},{"name":"outputs.tf","path":"examples/rds-mariadb/outputs.tf","sha":"bd45b0035943021763d0365da3fe0d1e9f9b16b9"},{"name":"variables.tf","path":"examples/rds-mariadb/variables.tf","sha":"f44c101e55767db60dde0a98b32288ac044cea8c"}]},{"name":"rds-mysql-with-cross-region-replica","children":[{"name":"README.md","path":"examples/rds-mysql-with-cross-region-replica/README.md","sha":"038ec07d0a108e9b6a574449c7199bf77e56aebf"},{"name":"main.tf","path":"examples/rds-mysql-with-cross-region-replica/main.tf","sha":"129daff245077852956d99f2a3eac6c9f1b68a61"},{"name":"outputs.tf","path":"examples/rds-mysql-with-cross-region-replica/outputs.tf","sha":"2d79e34b6bc52c934a62e40e38e3cdcace5196a0"},{"name":"variables.tf","path":"examples/rds-mysql-with-cross-region-replica/variables.tf","sha":"1e57fa98c4dbe869584cdcabd7a5a3c2e9cb13a7"}]},{"name":"rds-mysql","children":[{"name":"README.md","path":"examples/rds-mysql/README.md","sha":"35cc3616e954dcbe71cc1895856acaf48b2d01d6"},{"name":"main.tf","path":"examples/rds-mysql/main.tf","sha":"01f510b6f899c7a4fe8bd65b172d204d715f49b9"},{"name":"outputs.tf","path":"examples/rds-mysql/outputs.tf","sha":"e2ae2afdbcc0d27baa5d50be333f9d0a717e1a33"},{"name":"variables.tf","path":"examples/rds-mysql/variables.tf","sha":"4a3548b25a1ef8aef5a3954038aa62854a16d540"}]},{"name":"rds-oracle","children":[{"name":"README.md","path":"examples/rds-oracle/README.md","sha":"f6e30f8651a55c00c4bc8954e26747206257184c"},{"name":"main.tf","path":"examples/rds-oracle/main.tf","sha":"903e5efe0ba2f3374ba3ed70f959e9c390ae3178"},{"name":"outputs.tf","path":"examples/rds-oracle/outputs.tf","sha":"9d7db39017a241ce80936c5658f6185d2bfd0e3e"},{"name":"variables.tf","path":"examples/rds-oracle/variables.tf","sha":"ce72c219fdfb6818b4ab3f81293fae9006c4021a"}]},{"name":"rds-postgres","children":[{"name":"README.md","path":"examples/rds-postgres/README.md","sha":"cb6bac1c7d45eca775e9c1095ad7a6f3a718a7fb"},{"name":"main.tf","path":"examples/rds-postgres/main.tf","sha":"8d3d03da9d7803de6d22ed578445d69a95076a13"},{"name":"outputs.tf","path":"examples/rds-postgres/outputs.tf","sha":"5371c2284c0ea3d4de5790077ba45d9d445c2965"},{"name":"variables.tf","path":"examples/rds-postgres/variables.tf","sha":"419bcd969dc2993f365f4403adaf10f9681f6031"}]},{"name":"rds-sqlserver","children":[{"name":"README.md","path":"examples/rds-sqlserver/README.md","sha":"747d59f4bea76727dbc533578bb0a785b90a6a3f"},{"name":"main.tf","path":"examples/rds-sqlserver/main.tf","sha":"8eba625a5b3f3ee25eb1e416d2cec54414ae7bc6"},{"name":"outputs.tf","path":"examples/rds-sqlserver/outputs.tf","sha":"a1726fd73528af38b436c053128f24a17da740c3"},{"name":"variables.tf","path":"examples/rds-sqlserver/variables.tf","sha":"d5d575f8672595a94340621adac52280101924fb"}]},{"name":"rds-with-replicas","children":[{"name":"README.md","path":"examples/rds-with-replicas/README.md","sha":"e1f7e7f834c4260ec8c5b836474ca7934965826f"},{"name":"main.tf","path":"examples/rds-with-replicas/main.tf","sha":"8f93b970c97dfb332e6c5eeb59050f889586842a"},{"name":"outputs.tf","path":"examples/rds-with-replicas/outputs.tf","sha":"991d5436a635194fec1ad1476eb7be6616032c7a"},{"name":"variables.tf","path":"examples/rds-with-replicas/variables.tf","sha":"708a5aaed525a4d6668607e9948f61329c17e29f"}]},{"name":"redshift","children":[{"name":"README.md","path":"examples/redshift/README.md","sha":"56b2a89cf6ee0ac8dd785d0496f758fa6251f00d"},{"name":"main.tf","path":"examples/redshift/main.tf","sha":"e5d2a60d75dec65ea8b3dfe30fdf0e081f532a12"},{"name":"outputs.tf","path":"examples/redshift/outputs.tf","sha":"779c37290dc1c986bfd8d629cc9b2ba1d98c68aa"},{"name":"variables.tf","path":"examples/redshift/variables.tf","sha":"e89ac7c94a3aa6fd900dc5a31a17923c84091fab"}]},{"name":"vault-locks","children":[{"name":"README.md","path":"examples/vault-locks/README.md","sha":"7a49496e40c5bc5c8d2f1cacc23573e2d50ccc94"},{"name":"main.tf","path":"examples/vault-locks/main.tf","sha":"cf8fa5277588ba392aad028d6d9c41e7adffe002"},{"name":"outputs.tf","path":"examples/vault-locks/outputs.tf","sha":"dd9af28381868df768797dad02f01224c08bc0a1"},{"name":"variables.tf","path":"examples/vault-locks/variables.tf","sha":"c10e2df32d32c72fcd591b75bb9cc4d1ae7a0eb0"}]},{"name":"vault-notifications","children":[{"name":"README.md","path":"examples/vault-notifications/README.md","sha":"0cb4cfa60f1f9da100d2e9c3320deb1bae4ace6f"},{"name":"main.tf","path":"examples/vault-notifications/main.tf","sha":"aa411a330556da72e241b28611bd61f8e2d9e79f"},{"name":"outputs.tf","path":"examples/vault-notifications/outputs.tf","sha":"dd9af28381868df768797dad02f01224c08bc0a1"},{"name":"variables.tf","path":"examples/vault-notifications/variables.tf","sha":"c10e2df32d32c72fcd591b75bb9cc4d1ae7a0eb0"}]},{"name":"vault-plan-and-selection","children":[{"name":"README.md","path":"examples/vault-plan-and-selection/README.md","sha":"afc643feb33c59a100a059a391449a2c010359f1"},{"name":"main.tf","path":"examples/vault-plan-and-selection/main.tf","sha":"c96da877bf9592d08db4fdb33b8f820fe519ac0b"},{"name":"outputs.tf","path":"examples/vault-plan-and-selection/outputs.tf","sha":"dd9af28381868df768797dad02f01224c08bc0a1"},{"name":"variables.tf","path":"examples/vault-plan-and-selection/variables.tf","sha":"c10e2df32d32c72fcd591b75bb9cc4d1ae7a0eb0"}]},{"name":"vault-recovery-points","children":[{"name":"README.md","path":"examples/vault-recovery-points/README.md","sha":"175e9a8c304f9e04a0735289c0c9abfaa4c1a595"},{"name":"main.tf","path":"examples/vault-recovery-points/main.tf","sha":"9d0c888cf1052fa4019e648b2c8449a335a03227"},{"name":"outputs.tf","path":"examples/vault-recovery-points/outputs.tf","sha":"b39a216ef2dfa3a71a2aca8d34a78843d459a4bd"},{"name":"variables.tf","path":"examples/vault-recovery-points/variables.tf","sha":"c10e2df32d32c72fcd591b75bb9cc4d1ae7a0eb0"}]},{"name":"vault-with-custom-policy","children":[{"name":"README.md","path":"examples/vault-with-custom-policy/README.md","sha":"4d18ebcfb7c7f6e9f1f80c39569f731bcca376b9"},{"name":"main.tf","path":"examples/vault-with-custom-policy/main.tf","sha":"852b09a3ceb52edbb250066da8d51b89d5232509"},{"name":"outputs.tf","path":"examples/vault-with-custom-policy/outputs.tf","sha":"dd9af28381868df768797dad02f01224c08bc0a1"},{"name":"variables.tf","path":"examples/vault-with-custom-policy/variables.tf","sha":"6c5bab480dd2fd4cb575f0387cc70038660255d1"}]}]},{"name":"modules","children":[{"name":"aurora","children":[{"name":"README-Aurora-Serverless.adoc","path":"modules/aurora/README-Aurora-Serverless.adoc","sha":"c534c3ee37f24be7ee98bb79b229ffa3e53dee42"},{"name":"README-Aurora.adoc","path":"modules/aurora/README-Aurora.adoc","sha":"ef0cebfe8da05c06e823d0eb99c81949cc8ed7a1"},{"name":"README.adoc","path":"modules/aurora/README.adoc","sha":"4f6041bdf90cd848bc85ab737964b0e50d0ba89d"},{"name":"core-concepts.md","path":"modules/aurora/core-concepts.md","sha":"2f9326da75f970bb3a6452f907032d6f24c5505c"},{"name":"main.tf","path":"modules/aurora/main.tf","sha":"727b6419e35da571fec0f2a8ccdeb9046a3388a9"},{"name":"outputs.tf","path":"modules/aurora/outputs.tf","sha":"7d26a713a297ec98e8c14a65e8a10f357dd0fe5a"},{"name":"variables.tf","path":"modules/aurora/variables.tf","sha":"208049483f2958bb2a1a5ac510b38f87d93c6ada"}]},{"name":"backup-plan","children":[{"name":"README.md","path":"modules/backup-plan/README.md","sha":"bbfdb5f91ff5c469e755ba5dacac21b80e01c175"},{"name":"core-concepts.md","path":"modules/backup-plan/core-concepts.md","sha":"f72addac44723e0037bdb5d4f4c4f253454fa0dc"},{"name":"main.tf","path":"modules/backup-plan/main.tf","sha":"750453a2991d7797b312d55ff871a37550d16f1a"},{"name":"outputs.tf","path":"modules/backup-plan/outputs.tf","sha":"7baaa43ded4ab3597ce120c202611ca7d1379a0b"},{"name":"variables.tf","path":"modules/backup-plan/variables.tf","sha":"a5bb4d9e5177649f5c041c2ba9cb88925176e713"}]},{"name":"backup-vault","children":[{"name":"README.md","path":"modules/backup-vault/README.md","sha":"9b4fb120d06fb5008825052f9263cd85814bc9ab"},{"name":"core-concepts.md","path":"modules/backup-vault/core-concepts.md","sha":"f72addac44723e0037bdb5d4f4c4f253454fa0dc"},{"name":"main.tf","path":"modules/backup-vault/main.tf","sha":"1e02a730cbc1530bda84c02e502e61a15e73ab28"},{"name":"outputs.tf","path":"modules/backup-vault/outputs.tf","sha":"6f9126dc37e7ffabb067ecc02fd9614d32be8c03"},{"name":"variables.tf","path":"modules/backup-vault/variables.tf","sha":"6a56e36789739736ebbcfc3a6a1e38aa53cddad3"}]},{"name":"efs","children":[{"name":"README.adoc","path":"modules/efs/README.adoc","sha":"1b13e1f238d444728b6b81a67e4b38c78d33a1ba"},{"name":"main.tf","path":"modules/efs/main.tf","sha":"7ea3100b14e86d98fcfd0a555c830593b3d9140c"},{"name":"outputs.tf","path":"modules/efs/outputs.tf","sha":"b505b3d3c4ade32e06286ebea60be1a5f67ce77a"},{"name":"variables.tf","path":"modules/efs/variables.tf","sha":"b5a0571a2ff59a95f3510b7658d23330ce4721dd"}]},{"name":"lambda-cleanup-snapshots","children":[{"name":"README.md","path":"modules/lambda-cleanup-snapshots/README.md","sha":"f3a630bf25ce804716a4bf4e509a7888cf2570c4"},{"name":"cleanup-rds-snapshots","children":[{"name":"index.py","path":"modules/lambda-cleanup-snapshots/cleanup-rds-snapshots/index.py","sha":"9e651d2d57310054e21d891aec481d02c9d79489"}]},{"name":"main.tf","path":"modules/lambda-cleanup-snapshots/main.tf","sha":"f5b6e5139c2a1233f160549d1a80cd4cb441b3bf"},{"name":"outputs.tf","path":"modules/lambda-cleanup-snapshots/outputs.tf","sha":"a99c0265d859dd0c87a6eba62aaf2b013e224873"},{"name":"variables.tf","path":"modules/lambda-cleanup-snapshots/variables.tf","sha":"6a8d68f55cf51d75ec84caed75ebcb2ea25a5dab"}]},{"name":"lambda-copy-shared-snapshot","children":[{"name":"README.md","path":"modules/lambda-copy-shared-snapshot/README.md","sha":"1f592e4de130eb5deb9bd1b2732bb5747f82d1fe"},{"name":"copy-shared-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-copy-shared-snapshot/copy-shared-rds-snapshot/index.py","sha":"6b1a0331ee9ffc57c95e0923a4b1db46dec0b2c5"}]},{"name":"main.tf","path":"modules/lambda-copy-shared-snapshot/main.tf","sha":"a56df9f21af5efce1fd1d0ced766d8e1f42f27b7"},{"name":"outputs.tf","path":"modules/lambda-copy-shared-snapshot/outputs.tf","sha":"f4833d96fa6d47190b9d2c3af243142aefc59d59"},{"name":"variables.tf","path":"modules/lambda-copy-shared-snapshot/variables.tf","sha":"d2256cb15149dbbcfc3593312e532e1a3323b22d"}]},{"name":"lambda-create-snapshot","children":[{"name":"README.adoc","path":"modules/lambda-create-snapshot/README.adoc","sha":"65545b60413c56b2d94f6ad58e02218b03912265"},{"name":"core-concepts.md","path":"modules/lambda-create-snapshot/core-concepts.md","sha":"46c9c56f3d622c66244be9ab76bd3e2da0a2e7d2"},{"name":"create-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-create-snapshot/create-rds-snapshot/index.py","sha":"16bc7d1b67dcee20577808cdbf39b1938972c5cb"}]},{"name":"main.tf","path":"modules/lambda-create-snapshot/main.tf","sha":"a190df373024a479db9cf75d6fdab9db9e2a9ee9"},{"name":"outputs.tf","path":"modules/lambda-create-snapshot/outputs.tf","sha":"a0f5ffafa8ef11d00b72f1858b81e182ab2471dd"},{"name":"variables.tf","path":"modules/lambda-create-snapshot/variables.tf","sha":"f18942d85d2e7c5dc4c629b1503a1c32a52e4b56"}]},{"name":"lambda-share-snapshot","children":[{"name":"README.md","path":"modules/lambda-share-snapshot/README.md","sha":"f00a0ab9745632e85d5f4c8e7a9389e1a8608b6b"},{"name":"main.tf","path":"modules/lambda-share-snapshot/main.tf","sha":"af7b47f54b32a31351586a5f9afa831d48df014e"},{"name":"outputs.tf","path":"modules/lambda-share-snapshot/outputs.tf","sha":"c0d2854f967a6c963662c660d6ae96d8cabe471a"},{"name":"share-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-share-snapshot/share-rds-snapshot/index.py","sha":"b4e784ff72172d1f3e84f0f97a48fdf60405ed27"}]},{"name":"variables.tf","path":"modules/lambda-share-snapshot/variables.tf","sha":"683571dbf98c2fb4f8077e7adadcb4df4241b9b4"}]},{"name":"rds","children":[{"name":"README-MariaDb.adoc","path":"modules/rds/README-MariaDb.adoc","sha":"6640c93e80d7d23895b793cb7ba129fbdf3e9543"},{"name":"README-MySQL.adoc","path":"modules/rds/README-MySQL.adoc","sha":"d4df8174814bf39578b0f179434b2b2df4aa9a88"},{"name":"README-Oracle.adoc","path":"modules/rds/README-Oracle.adoc","sha":"aba5045edd1dcf5b71f05cff200f46f24b50cb31"},{"name":"README-PostgreSQL.adoc","path":"modules/rds/README-PostgreSQL.adoc","sha":"fd651656eac32f36e5bb54cde9ed14893434880c"},{"name":"README-SqlServer.adoc","path":"modules/rds/README-SqlServer.adoc","sha":"68ffef63494114f48e67ccc2db95e4af2ba05302"},{"name":"README.adoc","path":"modules/rds/README.adoc","sha":"7302f29f714decd04fe5005ff35765bde2b0eefa"},{"name":"core-concepts.md","path":"modules/rds/core-concepts.md","sha":"4746ffc4e601826c215bbcf636af45d95631f5b8"},{"name":"main.tf","path":"modules/rds/main.tf","sha":"7bdccc12c49d652d358fb1fbea0106851b910ce0"},{"name":"outputs.tf","path":"modules/rds/outputs.tf","sha":"9d073f913ac9b972681753c6831d93bb133f830f"},{"name":"variables.tf","path":"modules/rds/variables.tf","sha":"6c6ebd29fd69ff6efa39204ea259ddeaa9a4673e"}]},{"name":"redshift","children":[{"name":"README.adoc","path":"modules/redshift/README.adoc","sha":"d2e3c310c5fbe264cb1b8b48b2dc9710f8a60127"},{"name":"main.tf","path":"modules/redshift/main.tf","sha":"2fdb38c9919cf7b2e23b85b91923063d7ba87f39"},{"name":"outputs.tf","path":"modules/redshift/outputs.tf","sha":"a58d5730738046153b5f73edee78cee1a0e76fd9"},{"name":"variables.tf","path":"modules/redshift/variables.tf","sha":"d8755da4bc74dcafe78014d8d8216a11117e6767"}]}]},{"name":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","path":"terraform-cloud-enterprise-private-module-registry-placeholder.tf","sha":"ae586c0fe830819580e1009d41a9074f16e65bed"},{"name":"test","children":[{"name":"README.md","path":"test/README.md","sha":"031cdc06d155eff31f9c5648a1c92ee5fb816ea0","toggled":true},{"name":"backup_test_helpers.go","path":"test/backup_test_helpers.go","sha":"51bdc48c508abbae30da4079e7a4e58318afa268"},{"name":"db_util.go","path":"test/db_util.go","sha":"8caa917a2446fa22a60d6374d6a1673ecbec57fb"},{"name":"example_aurora_global_test.go","path":"test/example_aurora_global_test.go","sha":"216af0cd3a6dd953f6f336f2af90472bb60b16a5"},{"name":"example_aurora_test.go","path":"test/example_aurora_test.go","sha":"1f2db7203d555ae798b463a36f0e83db00ec35ef"},{"name":"example_aurora_with_cross_region_replica_test.go","path":"test/example_aurora_with_cross_region_replica_test.go","sha":"7a3e98a3257290ccef1968f40205014f738eb15e"},{"name":"example_backup_default_vault_and_plan_test.go","path":"test/example_backup_default_vault_and_plan_test.go","sha":"f6515478de142db5982821083e112f798af39055"},{"name":"example_backup_recovery_point_test.go","path":"test/example_backup_recovery_point_test.go","sha":"944035130d5cc776f5a2c6846684fc286fef62ab"},{"name":"example_backup_vault_and_plan_test.go","path":"test/example_backup_vault_and_plan_test.go","sha":"95a7d67ebd962cc7ac85e5fce1e2a119373a48b3"},{"name":"example_backup_vault_notifications_test.go","path":"test/example_backup_vault_notifications_test.go","sha":"88a035ae086ffb5ac932ea5abc48cf1d90524fc4"},{"name":"example_backup_vault_with_custom_policy_test.go","path":"test/example_backup_vault_with_custom_policy_test.go","sha":"0e14c415fa450af057482f0465b657b07dc193ea"},{"name":"example_efs_test.go","path":"test/example_efs_test.go","sha":"c721f5e694ccddefb9debf245cd6bbca0e36b2a7"},{"name":"example_lambda_rds_snapshot_create_resources_test.go","path":"test/example_lambda_rds_snapshot_create_resources_test.go","sha":"b76dfc2c5ea7526e699afa2052971e456e5c5085"},{"name":"example_lambda_rds_snapshot_multiple_schedules_test.go","path":"test/example_lambda_rds_snapshot_multiple_schedules_test.go","sha":"0962d6149bdcf92151f1257fbb96217f1e8d0d60"},{"name":"example_lambda_rds_snapshot_test.go","path":"test/example_lambda_rds_snapshot_test.go","sha":"c55b754e12f4286eb1cb9ecf5a5d91c7568415e2"},{"name":"example_rds_mariadb_test.go","path":"test/example_rds_mariadb_test.go","sha":"ed3b47f64165eabf14b8ad6e145d876a1897768e"},{"name":"example_rds_mysql_test.go","path":"test/example_rds_mysql_test.go","sha":"f10102050b2531191cb14a332f312759d2317c2f"},{"name":"example_rds_mysql_with_cross_region_replica_test.go","path":"test/example_rds_mysql_with_cross_region_replica_test.go","sha":"eadb2aac648af60edc2544207867a95d9a6c4bdc"},{"name":"example_rds_oracle_test.go","path":"test/example_rds_oracle_test.go","sha":"4bca56b224524b937fc2490742e065a09d9cc739"},{"name":"example_rds_postgres_test.go","path":"test/example_rds_postgres_test.go","sha":"3b1eebd36d7e1b7373c029165192318dc14fde43"},{"name":"example_rds_sqlserver_test.go","path":"test/example_rds_sqlserver_test.go","sha":"0af26a3d7e3c4ebf6d1b33d86388a7c19ec78ae2"},{"name":"example_rds_with_replicas_test.go","path":"test/example_rds_with_replicas_test.go","sha":"a22847494054070c2a500ce39a86aeb084e5d4ec"},{"name":"example_redshift_test.go","path":"test/example_redshift_test.go","sha":"616087f8f54f096f4265dc5402b220b723e692e3"},{"name":"go.mod","path":"test/go.mod","sha":"ddc0a0210f37f0c0ce779343ac9999020c1101f2"},{"name":"go.sum","path":"test/go.sum","sha":"5c560ae9a3c809ed89754e6588d0c22b980fe69c"},{"name":"upgrades","children":[{"name":"constants.go","path":"test/upgrades/constants.go","sha":"bf6b0ba6bd1f9294dd1b631036b430fa9723f38a"},{"name":"upgrade_module_aurora_test.go","path":"test/upgrades/upgrade_module_aurora_test.go","sha":"7612320286656fa0169d981925fa92fd3a2c9f0b"},{"name":"upgrade_module_rds_mysql_with_cross_region_replica_test.go","path":"test/upgrades/upgrade_module_rds_mysql_with_cross_region_replica_test.go","sha":"7f16345bf5a916db9bab268575a88413644b41bc"}]},{"name":"util.go","path":"test/util.go","sha":"8259d2350b51bfddb183e5ac6a4957c24a66d0e7"},{"name":"validation","children":[{"name":"validate_all_modules_and_examples_test.go","path":"test/validation/validate_all_modules_and_examples_test.go","sha":"74c928d0cbc2914e5cd708277bd857cb2375b660"}]}],"toggled":true}]},"detailsContent":"<h1 class=\"preview__body--title\" id=\"tests\">Tests</h1><div class=\"preview__body--border\"></div><p>This folder contains the tests for the modules in this repo.</p>\n<h2 class=\"preview__body--subtitle\" id=\"running-the-tests-locally\">Running the tests locally</h2>\n<p><strong>Note #1</strong>: Many of these tests create real resources in an AWS account. That means they cost money to run, especially\nif you don't clean up after yourself. Please be considerate of the resources you create and take extra care to clean\neverything up when you're done!</p>\n<p><strong>Note #2</strong>: Never hit <code>CTRL + C</code> or cancel a build once tests are running or the cleanup tasks won't run!</p>\n<p><strong>Note #3</strong>: We set <code>-timeout 45m</code> on all tests not because they necessarily take 45 minutes, but because Go has a\ndefault test timeout of 10 minutes, after which it does a <code>SIGQUIT</code>, preventing the tests from properly cleaning up\nafter themselves. Therefore, we set a timeout of 45 minutes to make sure all tests have enough time to finish and\ncleanup.</p>\n<h4 id=\"prerequisites\">Prerequisites</h4>\n<ul>\n<li>Install the latest version of <a href=\"https://golang.org/\" class=\"preview__body--description--blue\" target=\"_blank\">Go</a>.</li>\n<li>Install <a href=\"https://www.terraform.io/downloads.html\" class=\"preview__body--description--blue\" target=\"_blank\">Terraform</a>.</li>\n<li>Add your AWS credentials as environment variables: <code>AWS_ACCESS_KEY_ID</code>, <code>AWS_SECRET_ACCESS_KEY</code></li>\n<li>For some of the tests, you also need to set the <code>GITHUB_OAUTH_TOKEN</code> environment variable to a valid GitHub\nauth token with "repo" access. You can generate one here: https://github.com/settings/tokens</li>\n</ul>\n<h4 id=\"run-all-the-tests\">Run all the tests</h4>\n<pre><span class=\"hljs-built_in\">cd</span> <span class=\"hljs-built_in\">test</span>\ngo <span class=\"hljs-built_in\">test</span> -v -timeout 45m -parallel 128\n</pre>\n<h4 id=\"run-a-specific-test\">Run a specific test</h4>\n<p>To run a specific test called <code>TestFoo</code>:</p>\n<pre><span class=\"hljs-keyword\">cd</span> <span class=\"hljs-keyword\">test</span>\ngo <span class=\"hljs-keyword\">test</span> -v -timeout 45m -parallel 128 -<span class=\"hljs-keyword\">run</span> TestFoo\n</pre>\n","repoName":"module-data-storage","repoRef":"v0.24.2","serviceDescriptor":{"serviceName":"RDS","serviceRepoName":"module-data-storage","serviceRepoOrg":"gruntwork-io","serviceMainReadmePath":"/modules/rds/foo","cloudProviders":["aws"],"description":"Terraform code and scripts for deploying data-storage resources (e.g. databases, cache) in AWS","imageUrl":"amazon_rds.png","licenseType":"subscriber","technologies":["Terraform","Bash"],"compliance":[],"tags":[""],"noDisplayInUI":true},"serviceCategoryName":"Database","fileName":"README.md","filePath":"/test","title":"Repo Browser: RDS","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}