deactive tests at the moment
This commit is contained in:
91
test_todo/auth_test.go
Normal file
91
test_todo/auth_test.go
Normal file
@@ -0,0 +1,91 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/pyke369/golang-support/uconfig"
|
||||
)
|
||||
|
||||
var fakeserver *HTTPServer
|
||||
|
||||
func init() {
|
||||
config, err := uconfig.New("pdns-proxy-test.conf")
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
fakeserver = NewHTTPServer(
|
||||
"127.0.0.01:8080",
|
||||
"fixtures/test/server-key.pem",
|
||||
"fixtures/test/server-cert.pem",
|
||||
"",
|
||||
"fixtures/test/ca.crt",
|
||||
"",
|
||||
"",
|
||||
3,
|
||||
3600,
|
||||
)
|
||||
populateHTTPServerAcls(config, fakeserver)
|
||||
populateHTTPServerProfiles(config, fakeserver)
|
||||
|
||||
go fakeserver.Run()
|
||||
}
|
||||
|
||||
// Testing Functions
|
||||
|
||||
func TestAuthRegexpProfiles(t *testing.T) {
|
||||
v := fakeserver.getProfiles("validserver")
|
||||
if len(v) != 1 || v[0] != "testS2S" {
|
||||
t.Errorf("cannot valid test profile")
|
||||
}
|
||||
v = fakeserver.getProfiles("bidule.example.org")
|
||||
if len(v) != 0 {
|
||||
t.Errorf("too many validations")
|
||||
}
|
||||
}
|
||||
|
||||
func TestAuth(t *testing.T) {
|
||||
for k, testCase := range []struct {
|
||||
path, user, method string
|
||||
expected bool
|
||||
message string
|
||||
}{
|
||||
{"zones/specificdomain.example", "validserver", "POST", true, "valid user and path"},
|
||||
{"zones/dev.example.org", "validserver", "GET", true, "valid user and path"},
|
||||
{"zones/developper.example.org", "validserver", "GET", false, "valid user and invalid path"},
|
||||
{"zones/otherdomain.example", "validserver", "GET", false, "valid user and invalid path"},
|
||||
{"zones/dev.example.org", "validserver", "POST", false, "valid user, valid path, invalid method"},
|
||||
{"zones/specificdomain.example", "invalidserver", "GET", false, "invalid user"},
|
||||
} {
|
||||
if fakeserver.nativeValidAuth(testCase.path, testCase.user, testCase.method) != testCase.expected {
|
||||
result := "worked"
|
||||
if testCase.expected {
|
||||
result = "failed"
|
||||
}
|
||||
t.Errorf("%s but it %s on URL %d", testCase.message, result, k+1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestInArray(t *testing.T) {
|
||||
for k, testCase := range []struct {
|
||||
search []string
|
||||
list []string
|
||||
expected bool
|
||||
message string
|
||||
}{
|
||||
{[]string{"apple", "orange"}, []string{"kiwi", "apple"}, true, "apple should have matched"},
|
||||
{[]string{"apple", "orange"}, []string{"kiwi", "apple"}, true, "apple should have matched"},
|
||||
{[]string{"citrus", "orange"}, []string{"kiwi", "apple"}, false, "nothing should have matched"},
|
||||
} {
|
||||
if inArray(testCase.search, testCase.list) != testCase.expected {
|
||||
result := "worked"
|
||||
if testCase.expected {
|
||||
result = "failed"
|
||||
}
|
||||
t.Errorf("%s but it %s on test %d", testCase.message, result, k+1)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user