terraform: add plugins tests (#47861)

I wasn't sure if the plugins were downloaded from the Internet or not.
This makes sure that there is no regression in the plugin detection.
wip/yesman
zimbatm 6 years ago committed by GitHub
parent bc46aa9dd2
commit d4ff6cae34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 23
      pkgs/applications/networking/cluster/terraform/default.nix
  2. 1
      pkgs/top-level/all-packages.nix

@ -4,6 +4,8 @@
, buildGoPackage
, fetchFromGitHub
, makeWrapper
, runCommand
, writeText
, terraform-providers
}:
@ -118,4 +120,25 @@ in rec {
});
terraform_0_11-full = terraform_0_11.withPlugins lib.attrValues;
# Tests that the plugins are being used. Terraform looks at the specific
# file pattern and if the plugin is not found it will try to download it
# from the Internet. With sandboxing enable this test will fail if that is
# the case.
terraform_plugins_test = let
mainTf = writeText "main.tf" ''
resource "random_id" "test" {}
'';
terraform = terraform_0_11.withPlugins (p: [ p.random ]);
test = runCommand "terraform-plugin-test" { buildInputs = [terraform]; }
''
set -e
# make it fail outside of sandbox
export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
cp ${mainTf} main.tf
terraform init
touch $out
'';
in test;
}

@ -22162,6 +22162,7 @@ with pkgs;
terraform_0_10-full
terraform_0_11
terraform_0_11-full
terraform_plugins_test
;
terraform = terraform_0_11;

Loading…
Cancel
Save