pulumiPackages.pulumi-python: add smoke test
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
callPackage,
|
||||
pulumi,
|
||||
bash,
|
||||
python3,
|
||||
@@ -45,6 +46,8 @@ buildGoModule rec {
|
||||
../../dist/pulumi-analyzer-policy-python
|
||||
'';
|
||||
|
||||
passthru.tests.smokeTest = callPackage ./smoke-test/default.nix { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.pulumi.com/docs/iac/languages-sdks/python/";
|
||||
description = "Language host for Pulumi programs written in Python";
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
name: smoke-test
|
||||
runtime: python
|
||||
@@ -0,0 +1,18 @@
|
||||
from binascii import b2a_hex
|
||||
from os import urandom
|
||||
|
||||
from pulumi import export, ResourceOptions
|
||||
from pulumi.dynamic import Resource, ResourceProvider, CreateResult
|
||||
|
||||
|
||||
class RandomProvider(ResourceProvider):
|
||||
def create(self, inputs):
|
||||
return CreateResult(b2a_hex(urandom(16)), outs={})
|
||||
|
||||
|
||||
class Random(Resource):
|
||||
def __init__(self, name, opts = None):
|
||||
super().__init__(RandomProvider(), name, {}, opts)
|
||||
|
||||
|
||||
export("out", Random(name="random_test").id)
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
pulumiTestHook,
|
||||
pulumi,
|
||||
pulumi-python,
|
||||
python3Packages,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "pulumi-python-smoke-test";
|
||||
src = builtins.filterSource (name: _: !(lib.hasSuffix ".nix" name)) ./.;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeCheckInputs = [
|
||||
pulumiTestHook
|
||||
pulumi
|
||||
pulumi-python
|
||||
python3Packages.pulumi
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
pulumi update --skip-preview
|
||||
stackOutput=$(pulumi stack output out)
|
||||
[[ $stackOutput =~ ^[0-9a-f]{32}$ ]]
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out"
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user