tangled
alpha
login
or
join now
tjh.dev
/
nixpkgs
0
fork
atom
nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
0
fork
atom
overview
issues
pulls
pipelines
pulumiPackages.pulumi-python: add smoke test
Ivan Trubach
1 year ago
500ee16a
893eed25
+60
4 changed files
expand all
collapse all
unified
split
pkgs
by-name
pu
pulumi
plugins
pulumi-python
package.nix
smoke-test
Pulumi.yaml
__main__.py
default.nix
+3
pkgs/by-name/pu/pulumi/plugins/pulumi-python/package.nix
reviewed
···
1
1
{
2
2
lib,
3
3
buildGoModule,
4
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
47
+
48
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
reviewed
···
1
1
+
name: smoke-test
2
2
+
runtime: python
+18
pkgs/by-name/pu/pulumi/plugins/pulumi-python/smoke-test/__main__.py
reviewed
···
1
1
+
from binascii import b2a_hex
2
2
+
from os import urandom
3
3
+
4
4
+
from pulumi import export, ResourceOptions
5
5
+
from pulumi.dynamic import Resource, ResourceProvider, CreateResult
6
6
+
7
7
+
8
8
+
class RandomProvider(ResourceProvider):
9
9
+
def create(self, inputs):
10
10
+
return CreateResult(b2a_hex(urandom(16)), outs={})
11
11
+
12
12
+
13
13
+
class Random(Resource):
14
14
+
def __init__(self, name, opts = None):
15
15
+
super().__init__(RandomProvider(), name, {}, opts)
16
16
+
17
17
+
18
18
+
export("out", Random(name="random_test").id)
+37
pkgs/by-name/pu/pulumi/plugins/pulumi-python/smoke-test/default.nix
reviewed
···
1
1
+
{
2
2
+
lib,
3
3
+
stdenvNoCC,
4
4
+
pulumiTestHook,
5
5
+
pulumi,
6
6
+
pulumi-python,
7
7
+
python3Packages,
8
8
+
}:
9
9
+
stdenvNoCC.mkDerivation {
10
10
+
name = "pulumi-python-smoke-test";
11
11
+
src = builtins.filterSource (name: _: !(lib.hasSuffix ".nix" name)) ./.;
12
12
+
13
13
+
doCheck = true;
14
14
+
15
15
+
nativeCheckInputs = [
16
16
+
pulumiTestHook
17
17
+
pulumi
18
18
+
pulumi-python
19
19
+
python3Packages.pulumi
20
20
+
];
21
21
+
22
22
+
__darwinAllowLocalNetworking = true;
23
23
+
24
24
+
checkPhase = ''
25
25
+
runHook preCheck
26
26
+
pulumi update --skip-preview
27
27
+
stackOutput=$(pulumi stack output out)
28
28
+
[[ $stackOutput =~ ^[0-9a-f]{32}$ ]]
29
29
+
runHook postCheck
30
30
+
'';
31
31
+
32
32
+
installPhase = ''
33
33
+
runHook preInstall
34
34
+
mkdir -p "$out"
35
35
+
runHook postInstall
36
36
+
'';
37
37
+
}