forked from evergreen-ci/evergreen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
user.go
29 lines (24 loc) · 1.05 KB
/
user.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package testutil
import (
"context"
"net/http"
"github.com/evergreen-ci/evergreen/model/user"
"github.com/evergreen-ci/gimlet"
)
// MockUserManager is used for testing the servers.
// It accepts all tokens and return the same user for all tokens.
type MockUserManager struct{}
var MockUser = user.DBUser{Id: "testuser", APIKey: "testapikey"}
func (MockUserManager) GetUserByToken(_ context.Context, _ string) (gimlet.User, error) {
return &MockUser, nil
}
func (MockUserManager) CreateUserToken(_, _ string) (string, error) { return MockUser.Username(), nil }
func (MockUserManager) GetLoginHandler(_ string) http.HandlerFunc {
return func(rw http.ResponseWriter, r *http.Request) {}
}
func (MockUserManager) IsRedirect() bool { return false }
func (MockUserManager) GetLoginCallbackHandler() http.HandlerFunc {
return func(rw http.ResponseWriter, r *http.Request) {}
}
func (MockUserManager) GetOrCreateUser(gimlet.User) (gimlet.User, error) { return &MockUser, nil }
func (MockUserManager) GetUserByID(string) (gimlet.User, error) { return &MockUser, nil }