aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-05-14 18:52:12 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-05-14 18:52:12 -0700
commit9554d0bd53e02e6844e5e8811c3e8557fd0b7d17 (patch)
tree6b280f89d69e19501feda1c794b55b3a58d2f3b1
parente81e4f0ac34569f9ab3f05b33fb05125c1d52026 (diff)
Add integration test for /me endpoint
-rw-r--r--Gopkg.lock2
-rw-r--r--integration_test.go16
-rw-r--r--vendor/github.com/miniflux/miniflux-go/client.go17
-rw-r--r--vendor/github.com/miniflux/miniflux-go/request.go17
4 files changed, 43 insertions, 9 deletions
diff --git a/Gopkg.lock b/Gopkg.lock
index bac6827..8cfabcf 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -45,7 +45,7 @@
branch = "master"
name = "github.com/miniflux/miniflux-go"
packages = ["."]
- revision = "7939463a4e1a1c5392d026d8d28bf7732459abd7"
+ revision = "8863d558cbf1f20beeb640328829205971f1a632"
[[projects]]
name = "github.com/tdewolff/minify"
diff --git a/integration_test.go b/integration_test.go
index 88ecfa6..a26fe57 100644
--- a/integration_test.go
+++ b/integration_test.go
@@ -44,6 +44,22 @@ func TestWithWrongCredentials(t *testing.T) {
}
}
+func TestGetCurrentLoggedUser(t *testing.T) {
+ client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
+ user, err := client.Me()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if user.ID == 0 {
+ t.Fatalf(`Invalid userID, got %q`, user.ID)
+ }
+
+ if user.Username != testAdminUsername {
+ t.Fatalf(`Invalid username, got %q`, user.Username)
+ }
+}
+
func TestGetUsers(t *testing.T) {
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
users, err := client.Users()
diff --git a/vendor/github.com/miniflux/miniflux-go/client.go b/vendor/github.com/miniflux/miniflux-go/client.go
index 7b6a847..5f5155d 100644
--- a/vendor/github.com/miniflux/miniflux-go/client.go
+++ b/vendor/github.com/miniflux/miniflux-go/client.go
@@ -18,6 +18,23 @@ type Client struct {
request *request
}
+// Me returns the logged user information.
+func (c *Client) Me() (*User, error) {
+ body, err := c.request.Get("/v1/me")
+ if err != nil {
+ return nil, err
+ }
+ defer body.Close()
+
+ var user *User
+ decoder := json.NewDecoder(body)
+ if err := decoder.Decode(&user); err != nil {
+ return nil, fmt.Errorf("miniflux: json error (%v)", err)
+ }
+
+ return user, nil
+}
+
// Users returns all users.
func (c *Client) Users() (Users, error) {
body, err := c.request.Get("/v1/users")
diff --git a/vendor/github.com/miniflux/miniflux-go/request.go b/vendor/github.com/miniflux/miniflux-go/request.go
index cae4df7..b472f0c 100644
--- a/vendor/github.com/miniflux/miniflux-go/request.go
+++ b/vendor/github.com/miniflux/miniflux-go/request.go
@@ -22,11 +22,12 @@ const (
defaultTimeout = 80
)
+// List of exposed errors.
var (
- errNotAuthorized = errors.New("miniflux: unauthorized (bad credentials)")
- errForbidden = errors.New("miniflux: access forbidden")
- errServerError = errors.New("miniflux: internal server error")
- errNotFound = errors.New("miniflux: resource not found")
+ ErrNotAuthorized = errors.New("miniflux: unauthorized (bad credentials)")
+ ErrForbidden = errors.New("miniflux: access forbidden")
+ ErrServerError = errors.New("miniflux: internal server error")
+ ErrNotFound = errors.New("miniflux: resource not found")
)
type errorResponse struct {
@@ -93,13 +94,13 @@ func (r *request) execute(method, path string, data interface{}) (io.ReadCloser,
switch response.StatusCode {
case http.StatusUnauthorized:
- return nil, errNotAuthorized
+ return nil, ErrNotAuthorized
case http.StatusForbidden:
- return nil, errForbidden
+ return nil, ErrForbidden
case http.StatusInternalServerError:
- return nil, errServerError
+ return nil, ErrServerError
case http.StatusNotFound:
- return nil, errNotFound
+ return nil, ErrNotFound
case http.StatusBadRequest:
defer response.Body.Close()