nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

pulumiPackages.pulumi-python: add smoke test

+60
+3
pkgs/by-name/pu/pulumi/plugins/pulumi-python/package.nix
··· 1 1 { 2 2 lib, 3 3 buildGoModule, 4 + callPackage, 4 5 pulumi, 5 6 bash, 6 7 python3, ··· 45 44 ../../dist/pulumi-resource-pulumi-python \ 46 45 ../../dist/pulumi-analyzer-policy-python 47 46 ''; 47 + 48 + passthru.tests.smokeTest = callPackage ./smoke-test/default.nix { }; 48 49 49 50 meta = { 50 51 homepage = "https://www.pulumi.com/docs/iac/languages-sdks/python/";
+2
pkgs/by-name/pu/pulumi/plugins/pulumi-python/smoke-test/Pulumi.yaml
··· 1 + name: smoke-test 2 + runtime: python
+18
pkgs/by-name/pu/pulumi/plugins/pulumi-python/smoke-test/__main__.py
··· 1 + from binascii import b2a_hex 2 + from os import urandom 3 + 4 + from pulumi import export, ResourceOptions 5 + from pulumi.dynamic import Resource, ResourceProvider, CreateResult 6 + 7 + 8 + class RandomProvider(ResourceProvider): 9 + def create(self, inputs): 10 + return CreateResult(b2a_hex(urandom(16)), outs={}) 11 + 12 + 13 + class Random(Resource): 14 + def __init__(self, name, opts = None): 15 + super().__init__(RandomProvider(), name, {}, opts) 16 + 17 + 18 + export("out", Random(name="random_test").id)
+37
pkgs/by-name/pu/pulumi/plugins/pulumi-python/smoke-test/default.nix
··· 1 + { 2 + lib, 3 + stdenvNoCC, 4 + pulumiTestHook, 5 + pulumi, 6 + pulumi-python, 7 + python3Packages, 8 + }: 9 + stdenvNoCC.mkDerivation { 10 + name = "pulumi-python-smoke-test"; 11 + src = builtins.filterSource (name: _: !(lib.hasSuffix ".nix" name)) ./.; 12 + 13 + doCheck = true; 14 + 15 + nativeCheckInputs = [ 16 + pulumiTestHook 17 + pulumi 18 + pulumi-python 19 + python3Packages.pulumi 20 + ]; 21 + 22 + __darwinAllowLocalNetworking = true; 23 + 24 + checkPhase = '' 25 + runHook preCheck 26 + pulumi update --skip-preview 27 + stackOutput=$(pulumi stack output out) 28 + [[ $stackOutput =~ ^[0-9a-f]{32}$ ]] 29 + runHook postCheck 30 + ''; 31 + 32 + installPhase = '' 33 + runHook preInstall 34 + mkdir -p "$out" 35 + runHook postInstall 36 + ''; 37 + }