github.com/wata727/tflint@v0.12.2-0.20191013070026-96dd0d36f385/rules/awsrules/models/aws_acm_certificate_invalid_private_key_test.go (about) 1 // This file generated by `tools/model-rule-gen/main.go`. DO NOT EDIT 2 3 package models 4 5 import ( 6 "testing" 7 8 "github.com/wata727/tflint/tflint" 9 ) 10 11 func Test_AwsAcmCertificateInvalidPrivateKeyRule(t *testing.T) { 12 cases := []struct { 13 Name string 14 Content string 15 Expected tflint.Issues 16 }{ 17 { 18 Name: "It includes invalid characters", 19 Content: ` 20 resource "aws_acm_certificate" "foo" { 21 private_key = <<TEXT 22 -----BEGIN CERTIFICATE----- 23 MIIDDjCCAfYCCQCMlVDEcxV0gDANBgkqhkiG9w0BAQUFADBJMQswCQYDVQQGEwJK 24 QTEKMAgGA1UECAwBYTEKMAgGA1UEBwwBYjEKMAgGA1UECgwBYTEKMAgGA1UECwwB 25 YTEKMAgGA1UEAwwBYTAeFw0xOTA1MTQxNTUxMjhaFw0yOTA1MTExNTUxMjhaMEkx 26 CzAJBgNVBAYTAkpBMQowCAYDVQQIDAFhMQowCAYDVQQHDAFiMQowCAYDVQQKDAFh 27 MQowCAYDVQQLDAFhMQowCAYDVQQDDAFhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A 28 MIIBCgKCAQEAuY6k+pUBFm8jXhzBHiycUTe8D5nyV31kiS+Nr2DzPDcvDcVLVBPH 29 mGr7CUEqdj3MAcVWGrYFTzXi97GjxsXxqZCLmj4EDtZ+2vjvt1W/xgDXt4PUV/96 30 dvNAx3ZvqaaUaevMoYrzK7c541yQnmzosfinYBwTC1KsduxVpqnISfr0O+MJrg0d 31 WOX4evTQ5+/ZAfGSYlKWVkNAj64KIvCsVlPBU9CZ0MQbxOgifNT9v9S7Sf/54GrM 32 rsd+490euEOGS4E1/VbQF/gZ6MvTYfcE2+s244escztWzeCMGhb3PstheYGb3Lep 33 ud6fw37JCCPlrh+hnOpx6zf4P1ePVaPt2QIDAQABMA0GCSqGSIb3DQEBBQUAA4IB 34 AQCoj/sZfrypif6AoLkqg2WimmK2KvWNf4srEVgI8BBIpnQpmvYdMKm4IBta8eWO 35 E9Sdh2u8dnTpn9TEwK/hJpisRZey7H4pPXde86QHmJF1YjF+gdwgpsayIHsfCYJ9 36 LJxew68jxO9YANwHy6RlS3c+hcNIWfSMOoct/P6vVkcMKOgA/hiMfHELlMzBK68U 37 r+Ae7wRjNF4Whbxc6bdTOLocmhOjy6IvPC8x6K5RdOYaxVpRNgUz6WgQUI1gZ3hu 38 YjSaGdqonttvSXhhSnoQEAHIpxvHq/PjOc5qEnzOt9nlYp3Ohr6WQAZfF3iwdd3l 39 Q2V76qkXAhIjADC7VpZKJiij 40 -----END CERTIFICATE----- 41 TEXT 42 }`, 43 Expected: tflint.Issues{ 44 { 45 Rule: NewAwsAcmCertificateInvalidPrivateKeyRule(), 46 Message: `private_key does not match valid pattern ^-{5}BEGIN PRIVATE KEY-{5}\x{000D}?\x{000A}([A-Za-z0-9/+]{64}\x{000D}?\x{000A})*[A-Za-z0-9/+]{1,64}={0,2}\x{000D}?\x{000A}-{5}END PRIVATE KEY-{5}(\x{000D}?\x{000A})?$`, 47 }, 48 }, 49 }, 50 { 51 Name: "It is valid", 52 Content: ` 53 resource "aws_acm_certificate" "foo" { 54 private_key = <<TEXT 55 -----BEGIN PRIVATE KEY----- 56 MIIEpAIBAAKCAQEAuY6k+pUBFm8jXhzBHiycUTe8D5nyV31kiS+Nr2DzPDcvDcVL 57 VBPHmGr7CUEqdj3MAcVWGrYFTzXi97GjxsXxqZCLmj4EDtZ+2vjvt1W/xgDXt4PU 58 V/96dvNAx3ZvqaaUaevMoYrzK7c541yQnmzosfinYBwTC1KsduxVpqnISfr0O+MJ 59 rg0dWOX4evTQ5+/ZAfGSYlKWVkNAj64KIvCsVlPBU9CZ0MQbxOgifNT9v9S7Sf/5 60 4GrMrsd+490euEOGS4E1/VbQF/gZ6MvTYfcE2+s244escztWzeCMGhb3PstheYGb 61 3Lepud6fw37JCCPlrh+hnOpx6zf4P1ePVaPt2QIDAQABAoIBAGN8EAXtV3zwrzSp 62 E/0ai+Cbki+HKUAxEXLf1QX/Y8mYCJlIex+jzzJvwRHwJ1TnwvX8GDMP/f6+9GY6 63 joVm4S85OS/EKibOZ4r9RoCz77K4Bu/0NSfM6JrXxpZqcGmzzwSPENJXjhKVFOtK 64 WJsn5wZsO0izJJ7Af4jvIujNRH4sq8oO0T5OHNlJprrR8KY7+7IJrAd+JyCWxuX3 65 uToqrQALpZjSLi0+60+UZIVH+F4yJtkar1MS+K5bAAtX6gxaq3embIOD5KCooHpf 66 +CXBuWhUpFIqdWWDKJunnbriuXPBVVx1BZBtALUMPEYZ+gR22l2s/ck0BGixsdcN 67 VwDluuUCgYEA9k64okPnwUAQXyoHnA09zSJ0acr4aX/lqixY+fx0yn5Rs46WuFl0 68 OkUSZ3YMoj5MM/hmrMgz2v7bleVDrsZYUM4//9bYVxRIf1/gHm6PRJDnAMDEiz7y 69 crJCD1HTk/4CTcufbVnyyDt7NQe+qL9wRbTUMIojdZ1PsThv4zOuNhMCgYEAwNvu 70 LXhUJ7Wc92xFwRbmhNw8nQu0YgwVkGiD5QMY/6FJhcGdLa/Ih3NvyZI+Q/x/qzTh 71 udCHHlMgAftx5uA7IpZxQo0ak5a/T46X1EvRqcPZvOyDliBeYhhAXflyNfusmm5X 72 cExL6g3aUXxa7ue255xkKo2Q1VH+b9YeP+pZeeMCgYEA2VqEkiTMWfvXtrLXPj1t 73 IR3bjxQe/LJxkCdMaWYABkVMgeA9XvcJmvYjFIvXAEFra50zthuBryqhyfgkLxI3 74 Ey++yFzmUonCpCyOESzNXttkDoUNrDdjKhXmN7Ckvf80N0SOLqhml43t3tEzzaQK 75 RmkZqq/sNLkafzBnhB6yCGMCgYEAqtFhiXadmzpZ2DBXLCobbSwgp7zZPUqUwv4/ 76 bFUtDCYQF9+gVvnuNELDjZbxfYgkkEDbeZhARVS88eSDQ0nyNrVnhdmy42xO8KlM 77 w2WQQ7xLm/Ekr5Dl6B6wzEuHpFbQz0vSOI3rY1h3uVras+Yac9RqR+JxmO/x256b 78 1mK8c58CgYAA2zWV1m34tdbUmhc6ELNznbPxaM4sAe7mVooSxs02pTN5ToxMpkyn 79 hLL+1AMBOhv57k6YDTzYf5adR38023TOrf6NuD9G5s0KeaFM8c7SrBt8BHA6MW9C 80 7kJKP9RgFcXPFH6Z57rKykRaaDR6M+ELrhd488tOmqlwS9tnnWuoBQ== 81 -----END PRIVATE KEY----- 82 TEXT 83 }`, 84 Expected: tflint.Issues{}, 85 }, 86 } 87 88 rule := NewAwsAcmCertificateInvalidPrivateKeyRule() 89 90 for _, tc := range cases { 91 runner := tflint.TestRunner(t, map[string]string{"resource.tf": tc.Content}) 92 93 if err := rule.Check(runner); err != nil { 94 t.Fatalf("Unexpected error occurred: %s", err) 95 } 96 97 tflint.AssertIssuesWithoutRange(t, tc.Expected, runner.Issues) 98 } 99 }