diff --git a/webservice_test.go b/webservice_test.go
new file mode 100644
index 0000000..1bcdca2
--- /dev/null
+++ b/webservice_test.go
@@ -0,0 +1,64 @@
+package swservice
+
+import (
+	"testing"
+)
+
+const caPEM = `-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIJAKFBiWb1ivtAMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD
+VQQGEwJDTjELMAkGA1UECAwCU0gxETAPBgNVBAcMCFNoYW5naGFpMRIwEAYDVQQK
+DAlTdXB3aXNkb20xDDAKBgNVBAsMA1lrdDEaMBgGA1UEAwwReWt0LnN1cHdpc2Rv
+bS5jb20xITAfBgkqhkiG9w0BCQEWEnRlY2hAc3Vwd2lzZG9tLmNvbTAeFw0xNjA3
+MTQwMjU4MTBaFw0xNjA4MTMwMjU4MTBaMIGOMQswCQYDVQQGEwJDTjELMAkGA1UE
+CAwCU0gxETAPBgNVBAcMCFNoYW5naGFpMRIwEAYDVQQKDAlTdXB3aXNkb20xDDAK
+BgNVBAsMA1lrdDEaMBgGA1UEAwwReWt0LnN1cHdpc2RvbS5jb20xITAfBgkqhkiG
+9w0BCQEWEnRlY2hAc3Vwd2lzZG9tLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANaI/Go+ysBu1pQytxyFKehHic+WCfWeFltnKJg6QczYczqqZR8K
+xpRfEOWy3srRr5K+IRASuYka5DIHyZkozisdcLH8pzBd/gKluh0PlMClOJ8nYbe/
+6LHuASPzaehLxenjg8G39A0qX3cJCo0Wo95fkzViroyMKX4wu91GYlOlMv/5PlbZ
+dtL5G2yJPuvyyG8cp7OUQjVFdfI1S3rLnwn3DDCnhsw48j8GFTbdPWbnIqG2sgW0
+K6ycTioTmvxEWjMEl+f1aodQ13FbtG84xcLOz0kcvAHzcLATKHXhs3f9jZMo62Y1
+jDjq9kmPkznv35r/Wvh94dsBPjroH15sLXUCAwEAAaNQME4wHQYDVR0OBBYEFOXs
+u68Yd29qPaSADyL9cq8T7aYOMB8GA1UdIwQYMBaAFOXsu68Yd29qPaSADyL9cq8T
+7aYOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADkZxo5/r82rmwKz
+A5Jba2YLWiBtjalHfpi2US8IQKva47Jb/P/TmbukdNCeaNjS8FRypaA4HM81G+tE
+mDIIL5U8KnZ3DeZA/Ql4GtWscLxs92NdNo4dNqMZyLtphEQVY4mkynygqW4koCwN
+fo6rwgTWN+kZ2Eo5i8ZPsCi2mew7vy8IK+B06toVw0picCgvhCXtVjHS4ndj52FZ
+9nNHnIoaJLxPj+UhICKH73WVJdZQEPpfB7upkBARNJ7y313wm6wh8FIA86frqKiV
+mggFtcm1X5BXnYYe9p+3+e5qQK2hkiZuRKzjAaIwzww5oI5QMHLkyDa1Mhn87w2v
+9HSYpIA=
+-----END CERTIFICATE-----
+
+`
+const (
+	appID     = "100001"
+	appSecret = "3072a87ece234b728b519ded8dd152b1"
+	termID    = "1020303"
+)
+
+func T1estUseHTTP(t *testing.T) {
+	uri := "http://vb-docker:8443/epayapi/services"
+	session := NewSession(appID, appSecret, termID, uri, 3, true)
+	err := session.Auth()
+	if err != nil {
+		t.Errorf("Auth Error: %v", err)
+	}
+}
+
+func TestUseHTTPS(t *testing.T) {
+	uri := "https://vb-docker:8443/epayapi/services"
+	session, err := NewSessionWithCA(appID, appSecret, termID, uri, 3, []byte(caPEM))
+	if err != nil {
+		t.Error("New Session , ", err)
+		return
+	}
+	err = session.Auth()
+	if err != nil {
+		t.Errorf("Auth Error: %v", err)
+		return
+	}
+}
+
+func TestUseSecureHTTPS(t *testing.T) {
+
+}
