test sub operations from main
parent
69438cbeab
commit
8efdaecf9a
64
main_test.go
64
main_test.go
|
|
@ -52,15 +52,48 @@ func Test(t *testing.T) {
|
|||
}
|
||||
|
||||
func createDeleteSub(t *testing.T, uri, token string) {
|
||||
t.Error("not impl")
|
||||
t.Run("create, delete sub", func(t *testing.T) {
|
||||
id := callCreate(t, uri, token, "")
|
||||
was := callGet(t, uri, token, id, http.StatusOK)
|
||||
callDelete(t, uri, token, id+"/title")
|
||||
one := callGet(t, uri, token, id, http.StatusOK)
|
||||
if one.Title != "" {
|
||||
t.Fatal(one.Title)
|
||||
}
|
||||
was.Title = ""
|
||||
was.Modified = 0
|
||||
one.Modified = 0
|
||||
if fmt.Sprint(one) != fmt.Sprint(was) {
|
||||
t.Fatalf("partial del failed: want \n%+v, got \n%+v", was, one)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func createUpdateSub(t *testing.T, uri, token string) {
|
||||
t.Error("not impl")
|
||||
t.Run("create, update sub", func(t *testing.T) {
|
||||
id := callCreate(t, uri, token, "")
|
||||
was := callGet(t, uri, token, id, http.StatusOK)
|
||||
resp := call(t, token, http.MethodPut, uri+"/entities/"+id+"/title", `"newtitle"`)
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
one := callGet(t, uri, token, id, http.StatusOK)
|
||||
if one.Title != "newtitle" {
|
||||
t.Fatal(one.Title)
|
||||
}
|
||||
was.Title = "newtitle"
|
||||
was.Modified = 0
|
||||
one.Modified = 0
|
||||
if fmt.Sprint(one) != fmt.Sprint(was) {
|
||||
t.Fatalf("partial updated failed: want \n%+v, got \n%+v", was, one)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func filesCRUD(t *testing.T, uri, token string) {
|
||||
t.Run("files CRUD", func(t *testing.T) {
|
||||
t.Error("not impl")
|
||||
})
|
||||
}
|
||||
|
||||
func register(t *testing.T, uri string) string {
|
||||
|
|
@ -96,11 +129,14 @@ func muckedToken(t *testing.T, uri, obf string) {
|
|||
}
|
||||
|
||||
func createUpdate(t *testing.T, uri, token string) {
|
||||
t.Run("create, update", func(t *testing.T) {
|
||||
id := callCreate(t, uri, token, "")
|
||||
callUpdate(t, uri, token, id)
|
||||
})
|
||||
}
|
||||
|
||||
func createDelete(t *testing.T, uri, token string) {
|
||||
t.Run("create, delete", func(t *testing.T) {
|
||||
id := callCreate(t, uri, token, "")
|
||||
callDelete(t, uri, token, id)
|
||||
one := callGet(t, uri, token, id, http.StatusNotFound)
|
||||
|
|
@ -110,9 +146,11 @@ func createDelete(t *testing.T, uri, token string) {
|
|||
if fmt.Sprint(one) != fmt.Sprint(entity.One{}) {
|
||||
t.Fatal(one)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func callVersion(t *testing.T, uri string) {
|
||||
t.Run("call /version", func(t *testing.T) {
|
||||
resp := call(t, "", http.MethodGet, uri+"/version", "")
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
t.Fatal(resp.StatusCode)
|
||||
|
|
@ -130,6 +168,7 @@ func callVersion(t *testing.T, uri string) {
|
|||
if response.Version != GitCommit {
|
||||
t.Fatalf("%s: %v", b, response)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func callGet(t *testing.T, uri, token, id string, status int) entity.One {
|
||||
|
|
@ -137,21 +176,35 @@ func callGet(t *testing.T, uri, token, id string, status int) entity.One {
|
|||
if resp.StatusCode != status {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
var one entity.One
|
||||
if err := json.NewDecoder(resp.Body).Decode(&one); err != nil {
|
||||
if status != http.StatusOK {
|
||||
return entity.One{}
|
||||
}
|
||||
b, _ := ioutil.ReadAll(resp.Body)
|
||||
var response map[string]entity.One
|
||||
if err := json.Unmarshal(b, &response); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, one := range response {
|
||||
if fmt.Sprint(one) == fmt.Sprint(entity.One{}) {
|
||||
t.Fatal(id, status, one, string(b))
|
||||
}
|
||||
return one
|
||||
}
|
||||
t.Fatal("no items in response")
|
||||
return entity.One{}
|
||||
}
|
||||
|
||||
func callDelete(t *testing.T, uri, token, id string) {
|
||||
t.Run("call delete /entities/X", func(t *testing.T) {
|
||||
resp := call(t, token, http.MethodDelete, uri+"/entities/"+id, "")
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
t.Fatal(resp.StatusCode)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func callUpdate(t *testing.T, uri, token, id string) {
|
||||
t.Run("call update /entities/X", func(t *testing.T) {
|
||||
for _, method := range []string{http.MethodPut, http.MethodPatch} {
|
||||
m := map[string]interface{}{
|
||||
"name": "name-" + uuid.New().String()[:5],
|
||||
|
|
@ -216,6 +269,7 @@ func callUpdate(t *testing.T, uri, token, id string) {
|
|||
t.Fatal(found)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func callCreate(t *testing.T, uri, token, peerID string) string {
|
||||
|
|
@ -258,6 +312,7 @@ func callCreate(t *testing.T, uri, token, peerID string) string {
|
|||
}
|
||||
|
||||
func callList(t *testing.T, uri, token string, status int) {
|
||||
t.Run("call get /entities", func(t *testing.T) {
|
||||
resp := call(t, token, http.MethodGet, uri+"/entities", "")
|
||||
b, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
|
|
@ -266,6 +321,7 @@ func callList(t *testing.T, uri, token string, status int) {
|
|||
if resp.StatusCode != status {
|
||||
t.Fatalf("%v: %s", resp.StatusCode, b)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func callRegister(t *testing.T, uri string) (string, string) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue