Fix worker permissions bug

This commit is contained in:
simon987
2019-02-23 22:05:22 -05:00
parent d17113726e
commit 9ceb5d8d4c
6 changed files with 72 additions and 27 deletions

View File

@@ -90,25 +90,6 @@ func TestCreateDuplicateProjectName(t *testing.T) {
}
}
func TestCreateDuplicateProjectRepo(t *testing.T) {
createProjectAsAdmin(api.CreateProjectRequest{
Name: "different name",
GitRepo: "user/same",
})
resp := createProjectAsAdmin(api.CreateProjectRequest{
Name: "but same repo",
GitRepo: "user/same",
})
if resp.Ok != false {
t.Error()
}
if len(resp.Message) <= 0 {
t.Error()
}
}
func TestGetProjectNotFound(t *testing.T) {
getResp := getProjectAsAdmin(12345)

View File

@@ -328,7 +328,7 @@ func TestTaskNoAccess(t *testing.T) {
Assign: true,
Submit: true,
}, worker)
acceptAccessRequest(worker.Id, pid, testAdminCtx)
acceptAccessRequest(pid, worker.Id, testAdminCtx)
createResp := createTask(api.SubmitTaskRequest{
Project: pid,
@@ -376,7 +376,7 @@ func TestTaskHasAccess(t *testing.T) {
Assign: true,
Project: pid,
}, worker)
acceptAccessRequest(worker.Id, pid, testAdminCtx)
acceptAccessRequest(pid, worker.Id, testAdminCtx)
createResp := createTask(api.SubmitTaskRequest{
Project: pid,
@@ -817,6 +817,70 @@ func TestTaskReleaseBigInt(t *testing.T) {
}
}
func TestTaskSubmitUnauthorized(t *testing.T) {
pid := createProjectAsAdmin(api.CreateProjectRequest{
Name: "testtasksubmitunauthorized",
GitRepo: "testtasksubmitunauthorized",
CloneUrl: "testtasksubmitunauthorized",
}).Content.Id
w := genWid()
requestAccess(api.CreateWorkerAccessRequest{
Project: pid,
Submit: true,
Assign: true,
}, w)
resp := createTask(api.SubmitTaskRequest{
Project: pid,
Recipe: "ssss",
}, w)
if resp.Ok != false {
t.Error()
}
}
func TestTaskGetUnauthorized(t *testing.T) {
pid := createProjectAsAdmin(api.CreateProjectRequest{
Name: "testtaskgetunauthorized",
GitRepo: "testtaskgetunauthorized",
CloneUrl: "testtaskgettunauthorized",
Hidden: true,
}).Content.Id
w := genWid()
wWithAccess := genWid()
requestAccess(api.CreateWorkerAccessRequest{
Project: pid,
Submit: true,
Assign: true,
}, wWithAccess)
acceptAccessRequest(pid, wWithAccess.Id, testAdminCtx)
createTask(api.SubmitTaskRequest{
Project: pid,
Recipe: "ssss",
}, wWithAccess)
requestAccess(api.CreateWorkerAccessRequest{
Project: pid,
Submit: true,
Assign: true,
}, w)
resp := getTaskFromProject(pid, w)
fmt.Println(resp.Message)
if resp.Ok != false {
t.Error()
}
}
func createTask(request api.SubmitTaskRequest, worker *storage.Worker) (ar api.JsonResponse) {
r := Post("/task/submit", request, worker, nil)
UnmarshalResponse(r, &ar)

View File

@@ -22,7 +22,7 @@ CREATE TABLE project
paused boolean NOT NULL,
name TEXT UNIQUE NOT NULL,
clone_url TEXT NOT NULL,
git_repo TEXT UNIQUE NOT NULL,
git_repo TEXT NOT NULL,
version TEXT NOT NULL,
motd TEXT NOT NULL,
secret TEXT NOT NULL DEFAULT '{}'