mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-29 18:33:05 +00:00
Remove superfluous test support code. Fix bug in node list cli command.
Add tests.
This commit is contained in:
parent
6a3b171e99
commit
d1c3faae5f
4 changed files with 42 additions and 7 deletions
5
app.go
5
app.go
|
@ -100,11 +100,6 @@ func (h *Headscale) redirect(w http.ResponseWriter, req *http.Request) {
|
||||||
// ExpireEphemeralNodes deletes ephemeral machine records that have not been
|
// ExpireEphemeralNodes deletes ephemeral machine records that have not been
|
||||||
// seen for longer than h.cfg.EphemeralNodeInactivityTimeout
|
// seen for longer than h.cfg.EphemeralNodeInactivityTimeout
|
||||||
func (h *Headscale) ExpireEphemeralNodes(milliSeconds int64) {
|
func (h *Headscale) ExpireEphemeralNodes(milliSeconds int64) {
|
||||||
if milliSeconds == 0 {
|
|
||||||
// For testing
|
|
||||||
h.expireEphemeralNodesWorker()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
ticker := time.NewTicker(time.Duration(milliSeconds) * time.Millisecond)
|
ticker := time.NewTicker(time.Duration(milliSeconds) * time.Millisecond)
|
||||||
for range ticker.C {
|
for range ticker.C {
|
||||||
h.expireEphemeralNodesWorker()
|
h.expireEphemeralNodesWorker()
|
||||||
|
|
36
cli_test.go
Normal file
36
cli_test.go
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
package headscale
|
||||||
|
|
||||||
|
import (
|
||||||
|
"gopkg.in/check.v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (s *Suite) TestRegisterMachine(c *check.C) {
|
||||||
|
n, err := h.CreateNamespace("test")
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
|
db, err := h.db()
|
||||||
|
if err != nil {
|
||||||
|
c.Fatal(err)
|
||||||
|
}
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
m := Machine{
|
||||||
|
ID: 0,
|
||||||
|
MachineKey: "8ce002a935f8c394e55e78fbbb410576575ff8ec5cfa2e627e4b807f1be15b0e",
|
||||||
|
NodeKey: "bar",
|
||||||
|
DiscoKey: "faa",
|
||||||
|
Name: "testmachine",
|
||||||
|
NamespaceID: n.ID,
|
||||||
|
}
|
||||||
|
db.Save(&m)
|
||||||
|
|
||||||
|
_, err = h.GetMachine("test", "testmachine")
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
|
m2, err := h.RegisterMachine("8ce002a935f8c394e55e78fbbb410576575ff8ec5cfa2e627e4b807f1be15b0e", n.Name)
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
c.Assert(m2.Registered, check.Equals, true)
|
||||||
|
|
||||||
|
_, err = m2.GetHostInfo()
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
}
|
|
@ -67,7 +67,11 @@ var ListNodesCmd = &cobra.Command{
|
||||||
|
|
||||||
fmt.Printf("name\t\tlast seen\t\tephemeral\n")
|
fmt.Printf("name\t\tlast seen\t\tephemeral\n")
|
||||||
for _, m := range *machines {
|
for _, m := range *machines {
|
||||||
fmt.Printf("%s\t%s\t%t\n", m.Name, m.LastSeen.Format("2006-01-02 15:04:05"), m.AuthKey.Ephemeral)
|
var ephemeral bool
|
||||||
|
if m.AuthKey != nil && m.AuthKey.Ephemeral {
|
||||||
|
ephemeral = true
|
||||||
|
}
|
||||||
|
fmt.Printf("%s\t%s\t%t\n", m.Name, m.LastSeen.Format("2006-01-02 15:04:05"), ephemeral)
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
@ -172,7 +172,7 @@ func (*Suite) TestEphemeralKey(c *check.C) {
|
||||||
_, err = h.GetMachine("test7", "testest")
|
_, err = h.GetMachine("test7", "testest")
|
||||||
c.Assert(err, check.IsNil)
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
h.ExpireEphemeralNodes(0)
|
h.expireEphemeralNodesWorker()
|
||||||
|
|
||||||
// The machine record should have been deleted
|
// The machine record should have been deleted
|
||||||
_, err = h.GetMachine("test7", "testest")
|
_, err = h.GetMachine("test7", "testest")
|
||||||
|
|
Loading…
Reference in a new issue