Skip to content

Commit c7f4a43

Browse files
committed
Add azure-classic, tagging, tests
1 parent 363f913 commit c7f4a43

File tree

5 files changed

+299
-206
lines changed

5 files changed

+299
-206
lines changed

misc/test/azure_classic_test.go

+17-95
Original file line numberDiff line numberDiff line change
@@ -7,105 +7,27 @@ import (
77
"path"
88
"testing"
99

10+
"github.com/pulumi/examples/misc/test/definitions"
11+
"github.com/pulumi/examples/misc/test/helpers"
1012
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
11-
"github.com/stretchr/testify/assert"
1213
)
1314

14-
func TestAccAzureClassicCsWebserver(t *testing.T) {
15-
test := getAzureBase(t).
16-
With(integration.ProgramTestOptions{
17-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-cs-webserver"),
18-
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
19-
assertHTTPResult(t, stack.Outputs["IpAddress"].(string), nil, func(body string) bool {
20-
return assert.Contains(t, body, "Hello, World")
21-
})
22-
},
23-
})
24-
25-
integration.ProgramTest(t, &test)
26-
}
27-
28-
func TestAccAzureClassicFsAppService(t *testing.T) {
29-
test := getAzureBase(t).
30-
With(integration.ProgramTestOptions{
31-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-fs-appservice"),
32-
Config: map[string]string{
33-
"sqlPassword": "2@Password@2",
34-
},
35-
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
36-
assertAppServiceResult(t, stack.Outputs["endpoint"], func(body string) bool {
37-
return assert.Contains(t, body, "Greetings from Azure App Service")
38-
})
39-
},
40-
})
41-
42-
integration.ProgramTest(t, &test)
43-
}
44-
45-
func TestAccAzureClassicGoWebserverComponent(t *testing.T) {
46-
test := getAzureBase(t).
47-
With(integration.ProgramTestOptions{
48-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-go-webserver-component"),
49-
Config: map[string]string{
50-
"username": "webmaster",
51-
"password": "Password1234!",
52-
},
53-
})
54-
55-
integration.ProgramTest(t, &test)
56-
}
57-
58-
func TestAccAzureClassicPyArmTemplate(t *testing.T) {
59-
test := getAzureBase(t).
60-
With(integration.ProgramTestOptions{
61-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-py-arm-template"),
62-
})
63-
64-
integration.ProgramTest(t, &test)
65-
}
66-
67-
func TestAccAzureClassicPyVmScaleSet(t *testing.T) {
68-
test := getAzureBase(t).
69-
With(integration.ProgramTestOptions{
70-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-py-vm-scaleset"),
71-
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
72-
assertHTTPResult(t, stack.Outputs["public_address"].(string), nil, func(body string) bool {
73-
return assert.Contains(t, body, "nginx")
74-
})
75-
},
76-
})
77-
78-
integration.ProgramTest(t, &test)
79-
}
80-
81-
func TestAccAzureClassicTsArmTemplate(t *testing.T) {
82-
test := getAzureBase(t).
83-
With(integration.ProgramTestOptions{
84-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-ts-arm-template"),
85-
})
86-
87-
integration.ProgramTest(t, &test)
88-
}
89-
90-
func TestAccAzureClassicTsStreamAnalytics(t *testing.T) {
91-
test := getAzureBase(t).
92-
With(integration.ProgramTestOptions{
93-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-ts-stream-analytics"),
94-
})
95-
96-
integration.ProgramTest(t, &test)
15+
func TestAccAzureClassic(t *testing.T) {
16+
for _, examples := range definitions.GetTestsForTag("azure") {
17+
for _, example := range examples {
18+
run(t, example)
19+
}
20+
}
9721
}
9822

99-
func TestAccAzureClassicTsVmScaleset(t *testing.T) {
100-
test := getAzureBase(t).
101-
With(integration.ProgramTestOptions{
102-
Dir: path.Join(getCwd(t), "..", "..", "classic-azure-ts-vm-scaleset"),
103-
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
104-
assertHTTPResult(t, stack.Outputs["publicAddress"].(string), nil, func(body string) bool {
105-
return assert.Contains(t, body, "nginx")
106-
})
107-
},
108-
})
23+
func run(t *testing.T, e definitions.ExampleTest) {
24+
t.Run(e.Dir, func(t *testing.T) {
25+
test := getAzureBase(t).
26+
With(e.Options).
27+
With(integration.ProgramTestOptions{
28+
Dir: path.Join(helpers.GetCwd(t), "..", "..", "..", e.Dir),
29+
})
10930

110-
integration.ProgramTest(t, &test)
31+
integration.ProgramTest(t, &test)
32+
})
11133
}

misc/test/definitions/azure.go

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package definitions
2+
3+
import (
4+
"testing"
5+
6+
"github.com/pulumi/examples/misc/test/helpers"
7+
"github.com/pulumi/pulumi/pkg/v3/testing/integration"
8+
"github.com/stretchr/testify/assert"
9+
)
10+
11+
var AzureTests = TestDefinitions{
12+
{
13+
Tags: []string{"azure", CS},
14+
Dir: "classic-azure-cs-webserver",
15+
Options: integration.ProgramTestOptions{
16+
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
17+
helpers.AssertHTTPResult(t, stack.Outputs["IpAddress"].(string), nil, func(body string) bool {
18+
return assert.Contains(t, body, "Hello, World")
19+
})
20+
},
21+
},
22+
},
23+
{
24+
Tags: []string{"azure", FS},
25+
Dir: "classic-azure-fs-appservice",
26+
Options: integration.ProgramTestOptions{
27+
Config: map[string]string{
28+
"sqlPassword": "2@Password@2",
29+
},
30+
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
31+
assertAppServiceResult(t, stack.Outputs["endpoint"], func(body string) bool {
32+
return assert.Contains(t, body, "Greetings from Azure App Service")
33+
})
34+
},
35+
},
36+
},
37+
{
38+
Tags: []string{"azure", Go},
39+
Dir: "classic-azure-go-webserver-component",
40+
Options: integration.ProgramTestOptions{
41+
Config: map[string]string{
42+
"username": "webmaster",
43+
"password": "Password1234!",
44+
},
45+
},
46+
},
47+
{
48+
Tags: []string{"azure", Python},
49+
Dir: "classic-azure-py-arm-template",
50+
},
51+
{
52+
Tags: []string{"azure", Python},
53+
Dir: "classic-azure-py-vm-scaleset",
54+
Options: integration.ProgramTestOptions{
55+
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
56+
helpers.AssertHTTPResult(t, stack.Outputs["public_address"].(string), nil, func(body string) bool {
57+
return assert.Contains(t, body, "nginx")
58+
})
59+
},
60+
},
61+
},
62+
{
63+
Tags: []string{"azure", TS},
64+
Dir: "classic-azure-ts-arm-template",
65+
},
66+
{
67+
Tags: []string{"azure", TS},
68+
Dir: "classic-azure-ts-stream-analytics",
69+
},
70+
{
71+
Tags: []string{"azure", TS},
72+
Dir: "classic-azure-ts-vm-scaleset",
73+
Options: integration.ProgramTestOptions{
74+
ExtraRuntimeValidation: func(t *testing.T, stack integration.RuntimeValidationStackInfo) {
75+
helpers.AssertHTTPResult(t, stack.Outputs["publicAddress"].(string), nil, func(body string) bool {
76+
return assert.Contains(t, body, "nginx")
77+
})
78+
},
79+
},
80+
},
81+
}

0 commit comments

Comments
 (0)