aboutsummaryrefslogtreecommitdiff
path: root/middleware/tls/tls_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/tls/tls_test.go')
-rw-r--r--middleware/tls/tls_test.go81
1 files changed, 81 insertions, 0 deletions
diff --git a/middleware/tls/tls_test.go b/middleware/tls/tls_test.go
new file mode 100644
index 000000000..fb8d6247f
--- /dev/null
+++ b/middleware/tls/tls_test.go
@@ -0,0 +1,81 @@
+package tls
+
+import (
+ "testing"
+ "path/filepath"
+
+ "github.com/miekg/coredns/middleware/test"
+)
+
+func getPEMFiles(t *testing.T) (rmFunc func(), cert, key, ca string) {
+ tempDir, rmFunc, err := test.WritePEMFiles("")
+ if err != nil {
+ t.Fatalf("Could not write PEM files: %s", err)
+ }
+
+ cert = filepath.Join(tempDir, "cert.pem")
+ key = filepath.Join(tempDir, "key.pem")
+ ca = filepath.Join(tempDir, "ca.pem")
+
+ return
+}
+
+func TestNewTLSConfig(t *testing.T) {
+ rmFunc, cert, key, ca := getPEMFiles(t)
+ defer rmFunc()
+
+ _, err := NewTLSConfig(cert, key, ca)
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+}
+
+func TestNewTLSClientConfig(t *testing.T) {
+ rmFunc, _, _, ca := getPEMFiles(t)
+ defer rmFunc()
+
+ _, err := NewTLSClientConfig(ca)
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+}
+
+func TestNewTLSConfigFromArgs(t *testing.T) {
+ rmFunc, cert, key, ca := getPEMFiles(t)
+ defer rmFunc()
+
+ _, err := NewTLSConfigFromArgs()
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+
+ c, err := NewTLSConfigFromArgs(ca)
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+ if c.RootCAs == nil {
+ t.Error("RootCAs should not be nil when one arg passed")
+ }
+
+ c, err = NewTLSConfigFromArgs(cert,key)
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+ if c.RootCAs != nil {
+ t.Error("RootCAs should be nil when two args passed")
+ }
+ if len(c.Certificates) != 1 {
+ t.Error("Certificates should have a single entry when two args passed")
+ }
+ args := []string{cert,key,ca}
+ c, err = NewTLSConfigFromArgs(args...)
+ if err != nil {
+ t.Errorf("Failed to create TLSConfig: %s", err)
+ }
+ if c.RootCAs == nil {
+ t.Error("RootCAs should not be nil when three args passed")
+ }
+ if len(c.Certificates) != 1 {
+ t.Error("Certificateis should have a single entry when three args passed")
+ }
+}