task_tracker/test/client_test.go
2019-03-30 11:17:28 -04:00

106 lines
1.8 KiB
Go

package test
import (
"github.com/simon987/task_tracker/api"
"github.com/simon987/task_tracker/client"
"github.com/simon987/task_tracker/config"
"github.com/simon987/task_tracker/storage"
"testing"
)
func TestClientMakeWorker(t *testing.T) {
c := client.New(config.Cfg.ServerAddr)
w, err := c.MakeWorker("test")
if err != nil {
t.Error()
}
if w.Alias != "test" {
t.Error()
}
}
func TestClientFetchTaskNoTaskAvailable(t *testing.T) {
c := client.New(config.Cfg.ServerAddr)
w, _ := c.MakeWorker("test")
c.SetWorker(w)
_, err := c.FetchTask(89988)
if err != nil {
t.Error()
}
}
func TestClientFetchTask(t *testing.T) {
c := client.New(config.Cfg.ServerAddr)
w, _ := c.MakeWorker("test")
c.SetWorker(w)
createTask(api.SubmitTaskRequest{
Project: testProject,
Recipe: " ",
}, testWorker)
requestAccess(api.CreateWorkerAccessRequest{
Project: testProject,
Submit: false,
Assign: true,
}, &storage.Worker{
Secret: w.Secret,
Id: w.Id,
})
acceptAccessRequest(testProject, w.Id, testAdminCtx)
resp, err := c.FetchTask(int(testProject))
if err != nil {
t.Error()
}
if resp.Content.Task == nil {
t.Error()
}
}
func TestClientReleaseTask(t *testing.T) {
c := client.New(config.Cfg.ServerAddr)
w, _ := c.MakeWorker("test")
c.SetWorker(w)
createTask(api.SubmitTaskRequest{
Project: testProject,
Recipe: " ",
}, testWorker)
requestAccess(api.CreateWorkerAccessRequest{
Project: testProject,
Submit: false,
Assign: true,
}, &storage.Worker{
Secret: w.Secret,
Id: w.Id,
})
acceptAccessRequest(testProject, w.Id, testAdminCtx)
fetchResp, _ := c.FetchTask(int(testProject))
resp, err := c.ReleaseTask(api.ReleaseTaskRequest{
TaskId: fetchResp.Content.Task.Id,
Result: storage.TR_OK,
})
if err != nil {
t.Error()
}
if resp.Content.Updated != true {
t.Error()
}
}