From 442673677a103e0aa33b6495a13cfa5a70256533 Mon Sep 17 00:00:00 2001 From: swoichha Date: Mon, 7 Sep 2020 16:29:58 +0545 Subject: [PATCH] [Tests-Only] HTTP API tests for user at endpoints cloud/user and /cloud/user/signing-key --- pkg/server/http/svc_test.go | 113 ++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/pkg/server/http/svc_test.go b/pkg/server/http/svc_test.go index 7ac71de9e..acb3fd532 100644 --- a/pkg/server/http/svc_test.go +++ b/pkg/server/http/svc_test.go @@ -1127,6 +1127,119 @@ func TestUpdateUser(t *testing.T) { } } +// This is a bug demonstration test for endpoint '/cloud/user' +// Link to the issue: https://github.com/owncloud/ocis-ocs/issues/52 + +func TestGetSingleUser(t *testing.T) { + user := User{ + Enabled: "true", + Username: "rutherford", + ID: "rutherford", + Email: "rutherford@example.com", + Displayname: "Ernest RutherFord", + Password: "password", + } + + for _, ocsVersion := range ocsVersions { + for _, format := range formats { + err := createUser(user) + if err != nil { + t.Fatal(err) + } + + formatpart := getFormatString(format) + res, err := sendRequest( + "GET", + fmt.Sprintf("/%v/cloud/user%v", ocsVersion, formatpart), + "", + fmt.Sprintf("%v:%v", user.Username, user.Password), + ) + + if err != nil { + t.Fatal(err) + } + + var response GetUsersResponse + + if format == "json" { + if err := json.Unmarshal(res.Body.Bytes(), &response); err != nil { + log.Println(err) + t.Fatal(err) + } + } else { + if err := xml.Unmarshal(res.Body.Bytes(), &response.Ocs); err != nil { + t.Fatal(err) + } + } + + assertStatusCode(t, 400, res, ocsVersion) + assert.False(t, response.Ocs.Meta.Success(ocsVersion), "The response was expected to be a failure but was not") + assertResponseMeta(t, Meta{ + Status: "error", + StatusCode: 400, + Message: "missing user in context", + }, response.Ocs.Meta) + cleanUp(t) + } + } +} +// This is a bug demonstration test for endpoint '/cloud/user' +// Link to the issue: https://github.com/owncloud/ocis-ocs/issues/53 + +func TestGetUserSigningKey(t *testing.T) { + user := User{ + Enabled: "true", + Username: "rutherford", + ID: "rutherford", + Email: "rutherford@example.com", + Displayname: "Ernest RutherFord", + Password: "password", + } + + for _, ocsVersion := range ocsVersions { + for _, format := range formats { + err := createUser(user) + if err != nil { + t.Fatal(err) + } + + formatpart := getFormatString(format) + res, err := sendRequest( + "GET", + fmt.Sprintf("/%v/cloud/user/signing-key%v", ocsVersion, formatpart), + "", + fmt.Sprintf("%v:%v", user.Username, user.Password), + ) + + if err != nil { + t.Fatal(err) + } + + var response GetUsersResponse + + if format == "json" { + if err := json.Unmarshal(res.Body.Bytes(), &response); err != nil { + log.Println(err) + t.Fatal(err) + } + } else { + if err := xml.Unmarshal(res.Body.Bytes(), &response.Ocs); err != nil { + t.Fatal(err) + } + } + + assertStatusCode(t, 400, res, ocsVersion) + assert.False(t, response.Ocs.Meta.Success(ocsVersion), "The response was expected to be a failure but was not") + assertResponseMeta(t, Meta{ + Status: "error", + StatusCode: 400, + Message: "missing user in context", + }, response.Ocs.Meta) + cleanUp(t) + } + } +} + type mockClient struct{} func (c mockClient) Init(option ...client.Option) error {