test: Fix tests by hooking up go test properly

The internal golang tests broke when we turned everything into packages.
This resurrects them with the hopes that we'll add more!
This commit is contained in:
James Shubin
2017-02-20 15:51:39 -05:00
parent 421bacd7dc
commit 69b0913315
4 changed files with 96 additions and 58 deletions

View File

@@ -22,6 +22,7 @@ import (
"encoding/base64"
"encoding/gob"
"testing"
//"github.com/purpleidea/mgmt/event"
)
func TestMiscEncodeDecode1(t *testing.T) {
@@ -119,55 +120,55 @@ func TestIFF(t *testing.T) {
}
func TestReadEvent(t *testing.T) {
res := FileRes{}
//res := FileRes{}
shouldExit := map[eventName]bool{
eventStart: false,
eventPoke: false,
eventBackPoke: false,
eventExit: true,
}
shouldPoke := map[eventName]bool{
eventStart: true,
eventPoke: true,
eventBackPoke: true,
eventExit: false,
}
//shouldExit := map[event.EventName]bool{
// event.EventStart: false,
// event.EventPoke: false,
// event.EventBackPoke: false,
// event.EventExit: true,
//}
//shouldPoke := map[event.EventName]bool{
// event.EventStart: true,
// event.EventPoke: true,
// event.EventBackPoke: true,
// event.EventExit: false,
//}
for event := range shouldExit {
exit, poke := res.ReadEvent(&Event{Name: event})
if exit != shouldExit[event] {
t.Errorf("resource.ReadEvent returned wrong exit flag for a %v event (%v, should be %v)",
event, exit, shouldExit[event])
}
if poke != shouldPoke[event] {
t.Errorf("resource.ReadEvent returned wrong poke flag for a %v event (%v, should be %v)",
event, poke, shouldPoke[event])
}
}
//for ev := range shouldExit {
// exit, poke := res.ReadEvent(&event.Event{Name: ev})
// if exit != shouldExit[ev] {
// t.Errorf("resource.ReadEvent returned wrong exit flag for a %v event (%v, should be %v)",
// ev, exit, shouldExit[ev])
// }
// if poke != shouldPoke[ev] {
// t.Errorf("resource.ReadEvent returned wrong poke flag for a %v event (%v, should be %v)",
// ev, poke, shouldPoke[ev])
// }
//}
res.Init()
res.SetWatching(true)
//res.Init()
//res.SetWatching(true)
// test result when a pause event is followed by start
go res.SendEvent(eventStart, false, false)
exit, poke := res.ReadEvent(&Event{Name: eventPause})
if exit {
t.Error("resource.ReadEvent returned wrong exit flag for a pause+start event (true, should be false)")
}
if poke {
t.Error("resource.ReadEvent returned wrong poke flag for a pause+start event (true, should be false)")
}
//go res.SendEvent(event.EventStart, nil)
//exit, poke := res.ReadEvent(&event.Event{Name: event.EventPause})
//if exit {
// t.Error("resource.ReadEvent returned wrong exit flag for a pause+start event (true, should be false)")
//}
//if poke {
// t.Error("resource.ReadEvent returned wrong poke flag for a pause+start event (true, should be false)")
//}
// test result when a pause event is followed by exit
go res.SendEvent(eventExit, false, false)
exit, poke = res.ReadEvent(&Event{Name: eventPause})
if !exit {
t.Error("resource.ReadEvent returned wrong exit flag for a pause+start event (false, should be true)")
}
if poke {
t.Error("resource.ReadEvent returned wrong poke flag for a pause+start event (true, should be false)")
}
//go res.SendEvent(event.EventExit, nil)
//exit, poke = res.ReadEvent(&event.Event{Name: event.EventPause})
//if !exit {
// t.Error("resource.ReadEvent returned wrong exit flag for a pause+start event (false, should be true)")
//}
//if poke {
// t.Error("resource.ReadEvent returned wrong poke flag for a pause+start event (true, should be false)")
//}
// TODO: create a wrapper API around log, so that Fatals can be mocked and tested
}