From efdeba8e994669ccd21c50d2b7491905b47a217e Mon Sep 17 00:00:00 2001 From: "kali kaneko (leap communications)" Date: Mon, 27 Jan 2020 23:29:05 -0600 Subject: [test] sip integration test --- pkg/vpn/bonafide/bonafide_sip_integration_test.go | 70 +++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 pkg/vpn/bonafide/bonafide_sip_integration_test.go (limited to 'pkg/vpn/bonafide/bonafide_sip_integration_test.go') diff --git a/pkg/vpn/bonafide/bonafide_sip_integration_test.go b/pkg/vpn/bonafide/bonafide_sip_integration_test.go new file mode 100644 index 0000000..e5a516c --- /dev/null +++ b/pkg/vpn/bonafide/bonafide_sip_integration_test.go @@ -0,0 +1,70 @@ +// +build integration +// Copyright (C) 2018 LEAP +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +package bonafide + +import ( + "bytes" + "os" + "testing" +) + +type SIPCreds struct { + userOk, passOk string +} + +func getFromEnv(name, defaultVar string) string { + val, ok := os.LookupEnv(name) + if !ok { + return defaultVar + } + return val +} + +func getSIPCreds() SIPCreds { + userOk := getFromEnv("SIP_USER_OK", "test_user_ok") + passOk := getFromEnv("SIP_PASS_OK", "test_pass_ok") + creds := SIPCreds{ + userOk: userOk, + passOk: passOk, + } + return creds +} + +func TestSIPIntegrationGetCert(t *testing.T) { + creds := getSIPCreds() + + b := New() + b.auth = &SipAuthentication{b} + b.SetCredentials(creds.userOk, creds.passOk) + b.apiURL = "http://localhost:8000/" + + cert, err := b.GetPemCertificate() + if err != nil { + t.Fatal("getCert returned an error: ", err) + } + + if !bytes.Contains(cert, privateKeyHeader) { + t.Errorf("No private key present: \n%q", cert) + } + + if !bytes.Contains(cert, certHeader) { + t.Errorf("No cert present: \n%q", cert) + } + + /* TODO -- check we receive 401 for bad credentials */ + /* TODO -- check we receive 4xx for no credentials */ +} -- cgit v1.2.3