5e92ddad43
This commit removes the two extra caches (oidc, requested time) and uses the new central registration cache instead. The requested time is unified into the main machine object and the oidc key is just added to the same cache, as a string with the state as a key instead of machine key.
79 lines
1.4 KiB
Go
79 lines
1.4 KiB
Go
package headscale
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"testing"
|
|
|
|
"gopkg.in/check.v1"
|
|
"inet.af/netaddr"
|
|
)
|
|
|
|
func Test(t *testing.T) {
|
|
check.TestingT(t)
|
|
}
|
|
|
|
var _ = check.Suite(&Suite{})
|
|
|
|
type Suite struct{}
|
|
|
|
var (
|
|
tmpDir string
|
|
app Headscale
|
|
)
|
|
|
|
func (s *Suite) SetUpTest(c *check.C) {
|
|
s.ResetDB(c)
|
|
}
|
|
|
|
func (s *Suite) TearDownTest(c *check.C) {
|
|
os.RemoveAll(tmpDir)
|
|
}
|
|
|
|
func (s *Suite) ResetDB(c *check.C) {
|
|
if len(tmpDir) != 0 {
|
|
os.RemoveAll(tmpDir)
|
|
}
|
|
var err error
|
|
tmpDir, err = ioutil.TempDir("", "autoygg-client-test")
|
|
if err != nil {
|
|
c.Fatal(err)
|
|
}
|
|
cfg := Config{
|
|
IPPrefixes: []netaddr.IPPrefix{
|
|
netaddr.MustParseIPPrefix("10.27.0.0/23"),
|
|
},
|
|
}
|
|
|
|
app = Headscale{
|
|
cfg: cfg,
|
|
dbType: "sqlite3",
|
|
dbString: tmpDir + "/headscale_test.db",
|
|
}
|
|
err = app.initDB()
|
|
if err != nil {
|
|
c.Fatal(err)
|
|
}
|
|
db, err := app.openDB()
|
|
if err != nil {
|
|
c.Fatal(err)
|
|
}
|
|
app.db = db
|
|
}
|
|
|
|
// Enusre an error is returned when an invalid auth mode
|
|
// is supplied.
|
|
func (s *Suite) TestInvalidClientAuthMode(c *check.C) {
|
|
_, isValid := LookupTLSClientAuthMode("invalid")
|
|
c.Assert(isValid, check.Equals, false)
|
|
}
|
|
|
|
// Ensure that all client auth modes return a nil error.
|
|
func (s *Suite) TestAuthModes(c *check.C) {
|
|
modes := []string{"disabled", "relaxed", "enforced"}
|
|
|
|
for _, v := range modes {
|
|
_, isValid := LookupTLSClientAuthMode(v)
|
|
c.Assert(isValid, check.Equals, true)
|
|
}
|
|
}
|