package gearman import ( "testing" ) var worker *Worker func init() { worker = NewWorker() } func TestAddServer(t *testing.T) { t.Log("Add local server 127.0.0.1:4730.") if err := worker.AddServer("127.0.0.1:4730"); err != nil { t.Error(err) } if l := len(worker.servers); l != 1 { t.Log(worker.servers) t.Error("The length of server list should be 1.") } } func TestAddFunction(t *testing.T) { f := func(job *Job) []byte { return nil } if err := worker.AddFunction("foobar", f); err != nil { t.Error(err) } if err := worker.AddFunction("timeout", f); err != nil { t.Error(err) } if l := len(worker.functions); l != 2 { t.Log(worker.functions) t.Errorf("The length of function map should be %d.", 2) } } func TestEcho(t * testing.T) { go worker.Work() if err := worker.Echo([]byte("Hello World")); err != nil { t.Error(err) } } func TestResult(t *testing.T) { if job := worker.Result(); job == nil { //t.Error("Nothing in result.") } else { t.Log(job) } } func TestClose(t *testing.T) { if err := worker.Close(); err != nil { t.Error(err) } }