feat: add more unit tests.
This commit is contained in:
parent
e37c8ee42b
commit
7c381b582e
60
dumper/file/file_test.go
Normal file
60
dumper/file/file_test.go
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
package file
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/ldez/traefik-certs-dumper/v2/dumper"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestDump(t *testing.T) {
|
||||||
|
testCases := []struct {
|
||||||
|
desc string
|
||||||
|
acmeFile string
|
||||||
|
version string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
desc: "should skip EOF error",
|
||||||
|
acmeFile: "./fixtures/acme-empty.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "should dump traefik v1 file content",
|
||||||
|
acmeFile: "./fixtures/acme-v1.json",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc: "should dump traefik v2 file content",
|
||||||
|
acmeFile: "./fixtures/acme-v2.json",
|
||||||
|
version: "v2",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, test := range testCases {
|
||||||
|
test := test
|
||||||
|
t.Run(test.desc, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
dir, err := ioutil.TempDir("", "traefik-cert-dumper")
|
||||||
|
require.NoError(t, err)
|
||||||
|
defer func() { _ = os.RemoveAll(dir) }()
|
||||||
|
|
||||||
|
cfg := &dumper.BaseConfig{
|
||||||
|
DumpPath: dir,
|
||||||
|
CrtInfo: dumper.FileInfo{
|
||||||
|
Name: "certificate",
|
||||||
|
Ext: ".crt",
|
||||||
|
},
|
||||||
|
KeyInfo: dumper.FileInfo{
|
||||||
|
Name: "privatekey",
|
||||||
|
Ext: ".key",
|
||||||
|
},
|
||||||
|
Clean: true,
|
||||||
|
Version: test.version,
|
||||||
|
}
|
||||||
|
|
||||||
|
err = Dump(test.acmeFile, cfg)
|
||||||
|
require.NoError(t, err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
0
dumper/file/fixtures/acme-empty.json
Normal file
0
dumper/file/fixtures/acme-empty.json
Normal file
12
dumper/file/fixtures/acme-v1.json
Normal file
12
dumper/file/fixtures/acme-v1.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"Certificates": [
|
||||||
|
{
|
||||||
|
"domain": {
|
||||||
|
"main": "test.example.com"
|
||||||
|
},
|
||||||
|
"certificate": "Q2VydGlmaWNhdGU=",
|
||||||
|
"key": "Q2VydGlmaWNhdGUgS2V5",
|
||||||
|
"Store": "default"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
36
dumper/file/fixtures/acme-v2.json
Normal file
36
dumper/file/fixtures/acme-v2.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"default": {
|
||||||
|
"Account": {
|
||||||
|
"Email": "test@email.com",
|
||||||
|
"Registration": {
|
||||||
|
"body": {
|
||||||
|
"status": "valid",
|
||||||
|
"contact": [
|
||||||
|
"mailto:test@email.com"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"uri": "https://acme-v02.api.letsencrypt.org/acme/acct/12345678"
|
||||||
|
},
|
||||||
|
"PrivateKey": "Q2VydGlmaWNhdGUgS2V5",
|
||||||
|
"KeyType": "4096"
|
||||||
|
},
|
||||||
|
"Certificates": [
|
||||||
|
{
|
||||||
|
"domain": {
|
||||||
|
"main": "my.domain.com"
|
||||||
|
},
|
||||||
|
"certificate": "Q2VydGlmaWNhdGU=",
|
||||||
|
"key": "Q2VydGlmaWNhdGUgS2V5",
|
||||||
|
"Store": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"domain": {
|
||||||
|
"main": "my.domain2.com"
|
||||||
|
},
|
||||||
|
"certificate": "Q2VydGlmaWNhdGU=",
|
||||||
|
"key": "Q2VydGlmaWNhdGUgS2V5",
|
||||||
|
"Store": "default"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user