Skip to content

Commit bfeea32

Browse files
committed
feat(tests): acm tests
1 parent 841c083 commit bfeea32

File tree

1 file changed

+150
-0
lines changed

1 file changed

+150
-0
lines changed

tests/acm_unit_tests.tftest.hcl

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
run "amazon_issued_certificates_attributes_match" {
2+
command = plan
3+
4+
module {
5+
source = "./modules/acm"
6+
}
7+
8+
variables {
9+
amazon_issued_certificates = {
10+
example = {
11+
domain_name = "example.domain"
12+
subject_alternative_names = ["example_optional_name"]
13+
validation_method = "EMAIL"
14+
key_algorithm = "RSA_4096"
15+
16+
options = {
17+
certificate_transparency_logging_preference = "ENABLED"
18+
}
19+
20+
validation_option = {
21+
domain_name = "example.domain"
22+
validation_domain = "me@example.domain"
23+
}
24+
25+
tags = {
26+
Example = "Tag"
27+
}
28+
}
29+
}
30+
}
31+
32+
assert {
33+
condition = aws_acm_certificate.amazon_issued["example"].domain_name == var.amazon_issued_certificates.example.domain_name
34+
error_message = "Domain name mismatch"
35+
}
36+
37+
assert {
38+
condition = aws_acm_certificate.amazon_issued["example"].validation_method == var.amazon_issued_certificates.example.validation_method
39+
error_message = "Validation method mismatch"
40+
}
41+
42+
assert {
43+
condition = aws_acm_certificate.amazon_issued["example"].key_algorithm == var.amazon_issued_certificates.example.key_algorithm
44+
error_message = "Key algorithm mismatch"
45+
}
46+
47+
assert {
48+
condition = aws_acm_certificate.amazon_issued["example"].options[0].certificate_transparency_logging_preference == var.amazon_issued_certificates.example.options.certificate_transparency_logging_preference
49+
error_message = "Certificate transparency logging preference mismatch"
50+
}
51+
52+
assert {
53+
condition = tolist(aws_acm_certificate.amazon_issued["example"].validation_option)[0].domain_name == var.amazon_issued_certificates.example.validation_option.domain_name
54+
error_message = "Validation option domain name mismatch"
55+
}
56+
57+
assert {
58+
condition = tolist(aws_acm_certificate.amazon_issued["example"].validation_option)[0].validation_domain == var.amazon_issued_certificates.example.validation_option.validation_domain
59+
error_message = "Validation option validation domain mismatch"
60+
}
61+
62+
assert {
63+
condition = aws_acm_certificate.amazon_issued["example"].tags == var.amazon_issued_certificates.example.tags
64+
error_message = "Tags mismatch"
65+
}
66+
}
67+
68+
run "imported_certificates_attributes_match" {
69+
command = plan
70+
71+
module {
72+
source = "./modules/acm"
73+
}
74+
75+
variables {
76+
imported_certificates = {
77+
example = {
78+
private_key = "example_private_key"
79+
certificate_body = "example_certificate_body"
80+
certificate_chain = "example_certificate_chain"
81+
82+
tags = {
83+
Example = "Tag"
84+
}
85+
}
86+
}
87+
}
88+
89+
assert {
90+
condition = aws_acm_certificate.imported["example"].private_key == var.imported_certificates.example.private_key
91+
error_message = "Private key mismatch"
92+
}
93+
94+
assert {
95+
condition = aws_acm_certificate.imported["example"].certificate_body == var.imported_certificates.example.certificate_body
96+
error_message = "Certificate body mismatch"
97+
}
98+
99+
assert {
100+
condition = aws_acm_certificate.imported["example"].certificate_chain == var.imported_certificates.example.certificate_chain
101+
error_message = "Certificate chain mismatch"
102+
}
103+
104+
assert {
105+
condition = aws_acm_certificate.imported["example"].tags == var.imported_certificates.example.tags
106+
error_message = "Tags mismatch"
107+
}
108+
}
109+
110+
run "private_ca_issued_certificates_attributes_match" {
111+
command = plan
112+
113+
module {
114+
source = "./modules/acm"
115+
}
116+
117+
variables {
118+
private_ca_issued_certificates = {
119+
example = {
120+
certificate_authority_arn = "arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/12345678-1234-1234-1234-123456789012"
121+
domain_name = "example.domain"
122+
early_renewal_duration = "6h"
123+
124+
tags = {
125+
Example = "Tag"
126+
}
127+
}
128+
}
129+
}
130+
131+
assert {
132+
condition = aws_acm_certificate.private_ca_issued["example"].certificate_authority_arn == var.private_ca_issued_certificates.example.certificate_authority_arn
133+
error_message = "Certificate authority ARN mismatch"
134+
}
135+
136+
assert {
137+
condition = aws_acm_certificate.private_ca_issued["example"].domain_name == var.private_ca_issued_certificates.example.domain_name
138+
error_message = "Domain name mismatch"
139+
}
140+
141+
assert {
142+
condition = aws_acm_certificate.private_ca_issued["example"].early_renewal_duration == var.private_ca_issued_certificates.example.early_renewal_duration
143+
error_message = "Early renewal duration mismatch"
144+
}
145+
146+
assert {
147+
condition = aws_acm_certificate.private_ca_issued["example"].tags == var.private_ca_issued_certificates.example.tags
148+
error_message = "Tags mismatch"
149+
}
150+
}

0 commit comments

Comments
 (0)