Skip to content

Commit 4c35e78

Browse files
committed
Fix TestConvertViaPulumiCLI
1 parent d4ad453 commit 4c35e78

File tree

3 files changed

+124
-5
lines changed

3 files changed

+124
-5
lines changed

pkg/tfgen/convert_cli_test.go

+14-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import (
3939
"github.com/stretchr/testify/assert"
4040
"github.com/stretchr/testify/require"
4141

42-
bridgetesting "github.com/pulumi/pulumi-terraform-bridge/v3/internal/testing"
4342
"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
4443
sdkv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2"
4544
shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2"
@@ -191,8 +190,20 @@ output "someOutput" {
191190
err = json.Unmarshal(d, &schema)
192191
assert.NoError(t, err)
193192

194-
bridgetesting.AssertEqualsJSONFile(t,
195-
"test_data/TestConvertViaPulumiCLI/schema.json", schema)
193+
normalizedJSON, err := json.MarshalIndent(schema, "", " ")
194+
assert.NoError(t, err)
195+
196+
autogold.ExpectFile(t, autogold.Raw(string(normalizedJSON)))
197+
198+
t.Run("Description", func(t *testing.T) {
199+
// Since schema diffs are difficult to see, specifically demonstrate the description diff.
200+
var desc string
201+
for _, r := range schema.Resources {
202+
desc = r.Description
203+
}
204+
205+
autogold.ExpectFile(t, autogold.Raw(desc))
206+
})
196207

197208
autogold.Expect(`
198209
Provider: simple

pkg/tfgen/testdata/TestConvertViaPulumiCLI/GenerateSchema.golden

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
},
2323
"resources": {
2424
"simple:index:resource": {
25-
"description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as simple from \"@pulumi/simple\";\n\nconst aResource = new simple.Resource(\"a_resource\", {\n renamedInput1: \"hello\",\n inputTwo: \"true\",\n});\nexport const someOutput = aResource.result;\n```\n```python\nimport pulumi\nimport pulumi_simple as simple\n\na_resource = simple.Resource(\"a_resource\",\n renamed_input1=\"hello\",\n input_two=\"true\")\npulumi.export(\"someOutput\", a_resource.result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Simple = Pulumi.Simple;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aResource = new Simple.Resource(\"a_resource\", new()\n {\n RenamedInput1 = \"hello\",\n InputTwo = \"true\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"someOutput\"] = aResource.Result,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"example.com/pulumi-simple/sdk/go/simple\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taResource, err := simple.Newresource(ctx, \"a_resource\", \u0026simple.resourceArgs{\n\t\t\tRenamedInput1: pulumi.String(\"hello\"),\n\t\t\tInputTwo: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"someOutput\", aResource.Result)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.simple.resource;\nimport com.pulumi.simple.ResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var aResource = new Resource(\"aResource\", ResourceArgs.builder()\n .renamedInput1(\"hello\")\n .inputTwo(true)\n .build());\n\n ctx.export(\"someOutput\", aResource.result());\n }\n}\n```\n```yaml\nresources:\n aResource:\n type: simple:resource\n name: a_resource\n properties:\n renamedInput1: hello\n inputTwo: true\noutputs:\n someOutput: ${aResource.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n##Extras\n",
25+
"description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as simple from \"@pulumi/simple\";\n\nconst aResource = new simple.Resource(\"a_resource\", {\n renamedInput1: \"hello\",\n inputTwo: \"true\",\n});\nexport const someOutput = aResource.result;\n```\n```python\nimport pulumi\nimport pulumi_simple as simple\n\na_resource = simple.Resource(\"a_resource\",\n renamed_input1=\"hello\",\n input_two=\"true\")\npulumi.export(\"someOutput\", a_resource.result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Simple = Pulumi.Simple;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aResource = new Simple.Resource(\"a_resource\", new()\n {\n RenamedInput1 = \"hello\",\n InputTwo = \"true\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"someOutput\"] = aResource.Result,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"example.com/pulumi-simple/sdk/go/simple\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taResource, err := simple.Newresource(ctx, \"a_resource\", \u0026simple.resourceArgs{\n\t\t\tRenamedInput1: pulumi.String(\"hello\"),\n\t\t\tInputTwo: pulumi.String(\"true\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"someOutput\", aResource.Result)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.simple.resource;\nimport com.pulumi.simple.resourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var aResource = new Resource(\"aResource\", ResourceArgs.builder()\n .renamedInput1(\"hello\")\n .inputTwo(\"true\")\n .build());\n\n ctx.export(\"someOutput\", aResource.result());\n }\n}\n```\n```yaml\nresources:\n aResource:\n type: simple:resource\n name: a_resource\n properties:\n renamedInput1: hello\n inputTwo: true\noutputs:\n someOutput: ${aResource.result}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n##Extras\n",
2626
"properties": {
2727
"inputTwo": {
2828
"type": "string"
@@ -70,4 +70,4 @@
7070
}
7171
}
7272
}
73-
}
73+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
## Example Usage
2+
3+
<!--Start PulumiCodeChooser -->
4+
```typescript
5+
import * as pulumi from "@pulumi/pulumi";
6+
import * as simple from "@pulumi/simple";
7+
8+
const aResource = new simple.Resource("a_resource", {
9+
renamedInput1: "hello",
10+
inputTwo: "true",
11+
});
12+
export const someOutput = aResource.result;
13+
```
14+
```python
15+
import pulumi
16+
import pulumi_simple as simple
17+
18+
a_resource = simple.Resource("a_resource",
19+
renamed_input1="hello",
20+
input_two="true")
21+
pulumi.export("someOutput", a_resource.result)
22+
```
23+
```csharp
24+
using System.Collections.Generic;
25+
using System.Linq;
26+
using Pulumi;
27+
using Simple = Pulumi.Simple;
28+
29+
return await Deployment.RunAsync(() =>
30+
{
31+
var aResource = new Simple.Resource("a_resource", new()
32+
{
33+
RenamedInput1 = "hello",
34+
InputTwo = "true",
35+
});
36+
37+
return new Dictionary<string, object?>
38+
{
39+
["someOutput"] = aResource.Result,
40+
};
41+
});
42+
```
43+
```go
44+
package main
45+
46+
import (
47+
"example.com/pulumi-simple/sdk/go/simple"
48+
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
49+
)
50+
51+
func main() {
52+
pulumi.Run(func(ctx *pulumi.Context) error {
53+
aResource, err := simple.Newresource(ctx, "a_resource", &simple.resourceArgs{
54+
RenamedInput1: pulumi.String("hello"),
55+
InputTwo: pulumi.String("true"),
56+
})
57+
if err != nil {
58+
return err
59+
}
60+
ctx.Export("someOutput", aResource.Result)
61+
return nil
62+
})
63+
}
64+
```
65+
```java
66+
package generated_program;
67+
68+
import com.pulumi.Context;
69+
import com.pulumi.Pulumi;
70+
import com.pulumi.core.Output;
71+
import com.pulumi.simple.resource;
72+
import com.pulumi.simple.resourceArgs;
73+
import java.util.List;
74+
import java.util.ArrayList;
75+
import java.util.Map;
76+
import java.io.File;
77+
import java.nio.file.Files;
78+
import java.nio.file.Paths;
79+
80+
public class App {
81+
public static void main(String[] args) {
82+
Pulumi.run(App::stack);
83+
}
84+
85+
public static void stack(Context ctx) {
86+
var aResource = new Resource("aResource", ResourceArgs.builder()
87+
.renamedInput1("hello")
88+
.inputTwo("true")
89+
.build());
90+
91+
ctx.export("someOutput", aResource.result());
92+
}
93+
}
94+
```
95+
```yaml
96+
resources:
97+
aResource:
98+
type: simple:resource
99+
name: a_resource
100+
properties:
101+
renamedInput1: hello
102+
inputTwo: true
103+
outputs:
104+
someOutput: ${aResource.result}
105+
```
106+
<!--End PulumiCodeChooser -->
107+
108+
##Extras

0 commit comments

Comments
 (0)