@marcel91200 / caddy Mirror · read-only
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 11, 01:00 UTC

master
go 54 lines 1.77 KB
Raw
1 package caddytls
2
3 import (
4 "context"
5 "encoding/pem"
6 "os"
7 "strings"
8 "testing"
9
10 "github.com/caddyserver/caddy/v2"
11 )
12
13 func TestLeafPEMLoader(t *testing.T) {
14 pl := LeafPEMLoader{Certificates: []string{`
15 -----BEGIN CERTIFICATE-----
16 MIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL
17 MAkGA1UECBMCUE4xCzAJBgNVBAcTAkNOMQswCQYDVQQKEwJPTjELMAkGA1UECxMC
18 VU4xFDASBgNVBAMTC0hlcm9uZyBZYW5nMB4XDTA1MDcxNTIxMTk0N1oXDTA1MDgx
19 NDIxMTk0N1owVzELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAlBOMQswCQYDVQQHEwJD
20 TjELMAkGA1UEChMCT04xCzAJBgNVBAsTAlVOMRQwEgYDVQQDEwtIZXJvbmcgWWFu
21 ZzBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQCp5hnG7ogBhtlynpOS21cBewKE/B7j
22 V14qeyslnr26xZUsSVko36ZnhiaO/zbMOoRcKK9vEcgMtcLFuQTWDl3RAgMBAAGj
23 gbEwga4wHQYDVR0OBBYEFFXI70krXeQDxZgbaCQoR4jUDncEMH8GA1UdIwR4MHaA
24 FFXI70krXeQDxZgbaCQoR4jUDncEoVukWTBXMQswCQYDVQQGEwJDTjELMAkGA1UE
25 CBMCUE4xCzAJBgNVBAcTAkNOMQswCQYDVQQKEwJPTjELMAkGA1UECxMCVU4xFDAS
26 BgNVBAMTC0hlcm9uZyBZYW5nggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEE
27 BQADQQA/ugzBrjjK9jcWnDVfGHlk3icNRq0oV7Ri32z/+HQX67aRfgZu7KWdI+Ju
28 Wm7DCfrPNGVwFWUQOmsPue9rZBgO
29 -----END CERTIFICATE-----
30 `}}
31 pl.Provision(caddy.Context{Context: context.Background()})
32
33 out, err := pl.LoadLeafCertificates()
34 if err != nil {
35 t.Errorf("Leaf certs pem loading test failed: %v", err)
36 }
37 if len(out) != 1 {
38 t.Errorf("Error loading leaf cert in memory struct")
39 return
40 }
41 pemBytes := pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: out[0].Raw})
42
43 pemFileBytes, err := os.ReadFile("../../caddytest/leafcert.pem")
44 if err != nil {
45 t.Errorf("Unable to read the example certificate from the file")
46 }
47
48 // Remove /r because windows.
49 pemFileString := strings.ReplaceAll(string(pemFileBytes), "\r\n", "\n")
50
51 if string(pemBytes) != pemFileString {
52 t.Errorf("Leaf Certificate Folder Loader: Failed to load the correct certificate")
53 }
54 }