mirror of
https://github.com/simon987/task_tracker.git
synced 2025-12-14 15:29:02 +00:00
Add basic go client
This commit is contained in:
105
test/client_test.go
Normal file
105
test/client_test.go
Normal file
@@ -0,0 +1,105 @@
|
||||
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()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user