Skip to content

Commit b4cbd12

Browse files
authored
Add security group TypeScript unit tests (#102)
Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
1 parent e4ae4de commit b4cbd12

8 files changed

Lines changed: 4578 additions & 57 deletions

File tree

package-lock.json

Lines changed: 270 additions & 56 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"network_area_unit_test": "file:tests/ts/iaas/network-area",
1717
"network_interface_unit_test": "file:tests/ts/iaas/network-interface",
1818
"network_unit_test": "file:tests/ts/iaas/network",
19-
"public_ip_unit_test": "file:tests/ts/iaas/public_ip"
19+
"public_ip_unit_test": "file:tests/ts/iaas/public_ip",
20+
"securitygroup_unit_test": "file:tests/ts/iaas/securityGroup"
2021
}
2122
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: securitygroup_unit_test
2+
description: A minimal TypeScript Pulumi program
3+
runtime:
4+
name: nodejs
5+
options:
6+
packagemanager: npm
7+
config:
8+
pulumi:tags:
9+
value:
10+
pulumi:template: typescript
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import * as pulumi from "@pulumi/pulumi";
2+
import * as stackit from "@stackitcloud/pulumi-stackit";
3+
4+
export const securityGroupProjectId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
5+
export const securityGroupId = "security-group-id";
6+
export const securityGroupRuleId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx1";
7+
8+
export const securityGroupName = "example-security-group-name";
9+
export const securityGroupLabelKey = "unit-test";
10+
export const securityGroupLabelValue = "test-label-value";
11+
export const securityGroupProtocolName = "icmp";
12+
export const securityGroupDirection = "ingress";
13+
export const securityGroupStateful = false;
14+
export const securityGroupIcmpCode = 0;
15+
export const securityGroupIcmpType = 8;
16+
17+
export const securityGroupRuleDescription = "description";
18+
export const securityGroupRuleEtherType = "IPv4";
19+
export const securityGroupRuleIpRange = "192.168.2.0/24";
20+
21+
// all set
22+
export const exampleSecurityGroupMax = new stackit.SecurityGroup("exampleSecurityGroupMax", {
23+
projectId: securityGroupProjectId,
24+
name: securityGroupName,
25+
labels: {[securityGroupLabelKey]:securityGroupLabelValue},
26+
stateful: securityGroupStateful,
27+
});
28+
29+
// only required
30+
export const exampleSecurityGroupRuleReq = new stackit.SecurityGroupRule("exampleSecurityGroupRuleReq", {
31+
projectId: securityGroupProjectId,
32+
securityGroupId: securityGroupId,
33+
direction: securityGroupDirection,
34+
});
35+
36+
// SecurityGroupRule all set
37+
export const exampleSecurityGroupRuleMax = new stackit.SecurityGroupRule("exampleSecurityGroupRuleMax", {
38+
projectId: securityGroupProjectId,
39+
securityGroupId: securityGroupId,
40+
direction: securityGroupDirection,
41+
description: securityGroupRuleDescription,
42+
etherType: securityGroupRuleEtherType,
43+
ipRange: securityGroupRuleIpRange,
44+
icmpParameters: {
45+
code: securityGroupIcmpCode,
46+
type: securityGroupIcmpType,
47+
},
48+
protocol: {
49+
name: securityGroupProtocolName,
50+
},
51+
});
52+
53+
// datasource
54+
export const securityGroupDatasource = stackit.getSecurityGroupOutput({
55+
projectId: securityGroupProjectId,
56+
securityGroupId: securityGroupId,
57+
});
58+
59+
export const securityGroupRuleDatasource = stackit.getSecurityGroupRuleOutput({
60+
projectId: securityGroupProjectId,
61+
securityGroupId: securityGroupId,
62+
securityGroupRuleId: securityGroupRuleId,
63+
});

0 commit comments

Comments
 (0)