chore: update staticcheck and fix newly identified lint checks (#18737)
parent
7cbaebf7b7
commit
5aeca082c8
|
@ -36,7 +36,7 @@ var (
|
|||
// with a token that already exists
|
||||
ErrTokenAlreadyExistsError = &influxdb.Error{
|
||||
Code: influxdb.EConflict,
|
||||
Msg: fmt.Sprintf("token already exists"),
|
||||
Msg: "token already exists",
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -163,17 +163,12 @@ func (c *Client) Collect(ch chan<- prometheus.Metric) {
|
|||
|
||||
for _, v := range rawPlugins {
|
||||
pStats := map[string]float64{}
|
||||
err := json.Unmarshal(v, &pStats)
|
||||
if err != nil {
|
||||
if err := json.Unmarshal(v, &pStats); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for k, v := range pStats {
|
||||
if _, ok := telegrafPlugins[k]; ok {
|
||||
telegrafPlugins[k] += v
|
||||
} else {
|
||||
telegrafPlugins[k] = v
|
||||
}
|
||||
telegrafPlugins[k] += v
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ type Server struct {
|
|||
TelegrafSystemInterval time.Duration `long:"telegraf-system-interval" default:"1m" description:"Duration used in the GROUP BY time interval for the hosts list" env:"TELEGRAF_SYSTEM_INTERVAL"`
|
||||
|
||||
ReportingDisabled bool `short:"r" long:"reporting-disabled" description:"Disable reporting of usage stats (os,arch,version,cluster_id,uptime) once every 24hr" env:"REPORTING_DISABLED"`
|
||||
LogLevel string `short:"l" long:"log-level" value-name:"choice" choice:"debug" choice:"info" choice:"error" default:"info" description:"Set the logging level" env:"LOG_LEVEL"` //lint:ignore SA5008 duplicate tag choice is expected with go-flags.
|
||||
LogLevel string `short:"l" long:"log-level" value-name:"choice" choice:"debug" choice:"info" choice:"error" default:"info" description:"Set the logging level" env:"LOG_LEVEL"`
|
||||
Basepath string `short:"p" long:"basepath" description:"A URL path prefix under which all chronograf routes will be mounted. (Note: PREFIX_ROUTES has been deprecated. Now, if basepath is set, all routes will be prefixed with it.)" env:"BASE_PATH"`
|
||||
ShowVersion bool `short:"v" long:"version" description:"Show Chronograf version info"`
|
||||
BuildInfo chronograf.BuildInfo
|
||||
|
|
|
@ -9,7 +9,6 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
@ -43,7 +42,7 @@ func TestCmdUser(t *testing.T) {
|
|||
},
|
||||
passSVC: passSVC,
|
||||
urmSVC: &mock.UserResourceMappingService{
|
||||
CreateMappingFn: func(context.Context, *platform.UserResourceMapping) error {
|
||||
CreateMappingFn: func(context.Context, *influxdb.UserResourceMapping) error {
|
||||
return nil
|
||||
},
|
||||
},
|
||||
|
|
|
@ -128,6 +128,7 @@ func getMemoryUnused(t *testing.T, reg *prom.Registry) int64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
//lint:ignore U1000 erroneously flagged by staticcheck since it is used in skipped tests
|
||||
func checkMemoryUsed(t *testing.T, l *launcher.TestLauncher, concurrency, initial int) {
|
||||
t.Helper()
|
||||
|
||||
|
|
4
go.mod
4
go.mod
|
@ -36,7 +36,7 @@ require (
|
|||
github.com/golang/protobuf v1.3.3
|
||||
github.com/golang/snappy v0.0.1
|
||||
github.com/google/btree v1.0.0
|
||||
github.com/google/go-cmp v0.4.0
|
||||
github.com/google/go-cmp v0.5.0
|
||||
github.com/google/go-github v17.0.0+incompatible
|
||||
github.com/google/go-jsonnet v0.14.0
|
||||
github.com/goreleaser/goreleaser v0.135.0
|
||||
|
@ -103,7 +103,7 @@ require (
|
|||
google.golang.org/grpc v1.27.1
|
||||
gopkg.in/vmihailenco/msgpack.v2 v2.9.1 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71
|
||||
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2
|
||||
honnef.co/go/tools v0.0.1-2020.1.4
|
||||
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf
|
||||
labix.org/v2/mgo v0.0.0-20140701140051-000000000287 // indirect
|
||||
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect
|
||||
|
|
7
go.sum
7
go.sum
|
@ -343,6 +343,8 @@ github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
|
|||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
|
||||
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
|
||||
github.com/google/go-github/v28 v28.1.1 h1:kORf5ekX5qwXO2mGzXXOjMe/g6ap8ahVe0sBEulhSxo=
|
||||
|
@ -1041,6 +1043,7 @@ golang.org/x/tools v0.0.0-20191113232020-e2727e816f5a/go.mod h1:b+2E5dAYhXwXZwtn
|
|||
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
|
||||
|
@ -1174,8 +1177,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
|
|||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2 h1:TeRFic5UJx5LXC3n8mOt92bqyM5J+so5EuErnxK4PAk=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8=
|
||||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
istio.io/api v0.0.0-20190515205759-982e5c3888c6/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
|
||||
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf h1:iNpiPvg8fcQxebYPrd9Dhjvqd+SIF7OFH+1qp89/nHQ=
|
||||
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf/go.mod h1:EwvmercDF5DLCg5qUQlkM40xHwCxGoY1H/2LhI1p2YU=
|
||||
|
|
|
@ -10,7 +10,6 @@ import (
|
|||
|
||||
"github.com/influxdata/httprouter"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
platcontext "github.com/influxdata/influxdb/v2/context"
|
||||
"github.com/influxdata/influxdb/v2/pkg/httpc"
|
||||
"go.uber.org/zap"
|
||||
|
@ -21,13 +20,13 @@ const prefixAuthorization = "/api/v2/authorizations"
|
|||
// AuthorizationBackend is all services and associated parameters required to construct
|
||||
// the AuthorizationHandler.
|
||||
type AuthorizationBackend struct {
|
||||
platform.HTTPErrorHandler
|
||||
influxdb.HTTPErrorHandler
|
||||
log *zap.Logger
|
||||
|
||||
AuthorizationService platform.AuthorizationService
|
||||
OrganizationService platform.OrganizationService
|
||||
UserService platform.UserService
|
||||
LookupService platform.LookupService
|
||||
AuthorizationService influxdb.AuthorizationService
|
||||
OrganizationService influxdb.OrganizationService
|
||||
UserService influxdb.UserService
|
||||
LookupService influxdb.LookupService
|
||||
}
|
||||
|
||||
// NewAuthorizationBackend returns a new instance of AuthorizationBackend.
|
||||
|
@ -46,13 +45,13 @@ func NewAuthorizationBackend(log *zap.Logger, b *APIBackend) *AuthorizationBacke
|
|||
// AuthorizationHandler represents an HTTP API handler for authorizations.
|
||||
type AuthorizationHandler struct {
|
||||
*httprouter.Router
|
||||
platform.HTTPErrorHandler
|
||||
influxdb.HTTPErrorHandler
|
||||
log *zap.Logger
|
||||
|
||||
OrganizationService platform.OrganizationService
|
||||
UserService platform.UserService
|
||||
AuthorizationService platform.AuthorizationService
|
||||
LookupService platform.LookupService
|
||||
OrganizationService influxdb.OrganizationService
|
||||
UserService influxdb.UserService
|
||||
AuthorizationService influxdb.AuthorizationService
|
||||
LookupService influxdb.LookupService
|
||||
}
|
||||
|
||||
// NewAuthorizationHandler returns a new instance of AuthorizationHandler.
|
||||
|
@ -77,13 +76,13 @@ func NewAuthorizationHandler(log *zap.Logger, b *AuthorizationBackend) *Authoriz
|
|||
}
|
||||
|
||||
type authResponse struct {
|
||||
ID platform.ID `json:"id"`
|
||||
ID influxdb.ID `json:"id"`
|
||||
Token string `json:"token"`
|
||||
Status platform.Status `json:"status"`
|
||||
Status influxdb.Status `json:"status"`
|
||||
Description string `json:"description"`
|
||||
OrgID platform.ID `json:"orgID"`
|
||||
OrgID influxdb.ID `json:"orgID"`
|
||||
Org string `json:"org"`
|
||||
UserID platform.ID `json:"userID"`
|
||||
UserID influxdb.ID `json:"userID"`
|
||||
User string `json:"user"`
|
||||
Permissions []permissionResponse `json:"permissions"`
|
||||
Links map[string]string `json:"links"`
|
||||
|
@ -91,7 +90,7 @@ type authResponse struct {
|
|||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
func newAuthResponse(a *platform.Authorization, org *platform.Organization, user *platform.User, ps []permissionResponse) *authResponse {
|
||||
func newAuthResponse(a *influxdb.Authorization, org *influxdb.Organization, user *influxdb.User, ps []permissionResponse) *authResponse {
|
||||
res := &authResponse{
|
||||
ID: a.ID,
|
||||
Token: a.Token,
|
||||
|
@ -112,37 +111,37 @@ func newAuthResponse(a *platform.Authorization, org *platform.Organization, user
|
|||
return res
|
||||
}
|
||||
|
||||
func (a *authResponse) toPlatform() *platform.Authorization {
|
||||
res := &platform.Authorization{
|
||||
func (a *authResponse) toPlatform() *influxdb.Authorization {
|
||||
res := &influxdb.Authorization{
|
||||
ID: a.ID,
|
||||
Token: a.Token,
|
||||
Status: a.Status,
|
||||
Description: a.Description,
|
||||
OrgID: a.OrgID,
|
||||
UserID: a.UserID,
|
||||
CRUDLog: platform.CRUDLog{
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
CreatedAt: a.CreatedAt,
|
||||
UpdatedAt: a.UpdatedAt,
|
||||
},
|
||||
}
|
||||
for _, p := range a.Permissions {
|
||||
res.Permissions = append(res.Permissions, platform.Permission{Action: p.Action, Resource: p.Resource.Resource})
|
||||
res.Permissions = append(res.Permissions, influxdb.Permission{Action: p.Action, Resource: p.Resource.Resource})
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
type permissionResponse struct {
|
||||
Action platform.Action `json:"action"`
|
||||
Action influxdb.Action `json:"action"`
|
||||
Resource resourceResponse `json:"resource"`
|
||||
}
|
||||
|
||||
type resourceResponse struct {
|
||||
platform.Resource
|
||||
influxdb.Resource
|
||||
Name string `json:"name,omitempty"`
|
||||
Organization string `json:"org,omitempty"`
|
||||
}
|
||||
|
||||
func newPermissionsResponse(ctx context.Context, ps []platform.Permission, svc platform.LookupService) ([]permissionResponse, error) {
|
||||
func newPermissionsResponse(ctx context.Context, ps []influxdb.Permission, svc influxdb.LookupService) ([]permissionResponse, error) {
|
||||
res := make([]permissionResponse, len(ps))
|
||||
for i, p := range ps {
|
||||
res[i] = permissionResponse{
|
||||
|
@ -154,7 +153,7 @@ func newPermissionsResponse(ctx context.Context, ps []platform.Permission, svc p
|
|||
|
||||
if p.Resource.ID != nil {
|
||||
name, err := svc.Name(ctx, p.Resource.Type, *p.Resource.ID)
|
||||
if platform.ErrorCode(err) == platform.ENotFound {
|
||||
if influxdb.ErrorCode(err) == influxdb.ENotFound {
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
|
@ -164,8 +163,8 @@ func newPermissionsResponse(ctx context.Context, ps []platform.Permission, svc p
|
|||
}
|
||||
|
||||
if p.Resource.OrgID != nil {
|
||||
name, err := svc.Name(ctx, platform.OrgsResourceType, *p.Resource.OrgID)
|
||||
if platform.ErrorCode(err) == platform.ENotFound {
|
||||
name, err := svc.Name(ctx, influxdb.OrgsResourceType, *p.Resource.OrgID)
|
||||
if influxdb.ErrorCode(err) == influxdb.ENotFound {
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
|
@ -204,7 +203,7 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
|
|||
|
||||
user, err := getAuthorizedUser(r, h.UserService)
|
||||
if err != nil {
|
||||
h.HandleHTTPError(ctx, platform.ErrUnableToCreateToken, w)
|
||||
h.HandleHTTPError(ctx, influxdb.ErrUnableToCreateToken, w)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -217,7 +216,7 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
|
|||
|
||||
org, err := h.OrganizationService.FindOrganizationByID(ctx, auth.OrgID)
|
||||
if err != nil {
|
||||
h.HandleHTTPError(ctx, platform.ErrUnableToCreateToken, w)
|
||||
h.HandleHTTPError(ctx, influxdb.ErrUnableToCreateToken, w)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -241,15 +240,15 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
|
|||
}
|
||||
|
||||
type postAuthorizationRequest struct {
|
||||
Status platform.Status `json:"status"`
|
||||
OrgID platform.ID `json:"orgID"`
|
||||
UserID *platform.ID `json:"userID,omitempty"`
|
||||
Status influxdb.Status `json:"status"`
|
||||
OrgID influxdb.ID `json:"orgID"`
|
||||
UserID *influxdb.ID `json:"userID,omitempty"`
|
||||
Description string `json:"description"`
|
||||
Permissions []platform.Permission `json:"permissions"`
|
||||
Permissions []influxdb.Permission `json:"permissions"`
|
||||
}
|
||||
|
||||
func (p *postAuthorizationRequest) toPlatform(userID platform.ID) *platform.Authorization {
|
||||
return &platform.Authorization{
|
||||
func (p *postAuthorizationRequest) toPlatform(userID influxdb.ID) *influxdb.Authorization {
|
||||
return &influxdb.Authorization{
|
||||
OrgID: p.OrgID,
|
||||
Status: p.Status,
|
||||
Description: p.Description,
|
||||
|
@ -258,7 +257,7 @@ func (p *postAuthorizationRequest) toPlatform(userID platform.ID) *platform.Auth
|
|||
}
|
||||
}
|
||||
|
||||
func newPostAuthorizationRequest(a *platform.Authorization) (*postAuthorizationRequest, error) {
|
||||
func newPostAuthorizationRequest(a *influxdb.Authorization) (*postAuthorizationRequest, error) {
|
||||
res := &postAuthorizationRequest{
|
||||
OrgID: a.OrgID,
|
||||
Description: a.Description,
|
||||
|
@ -277,36 +276,36 @@ func newPostAuthorizationRequest(a *platform.Authorization) (*postAuthorizationR
|
|||
|
||||
func (p *postAuthorizationRequest) SetDefaults() {
|
||||
if p.Status == "" {
|
||||
p.Status = platform.Active
|
||||
p.Status = influxdb.Active
|
||||
}
|
||||
}
|
||||
|
||||
func (p *postAuthorizationRequest) Validate() error {
|
||||
if len(p.Permissions) == 0 {
|
||||
return &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "authorization must include permissions",
|
||||
}
|
||||
}
|
||||
|
||||
for _, perm := range p.Permissions {
|
||||
if err := perm.Valid(); err != nil {
|
||||
return &platform.Error{
|
||||
return &influxdb.Error{
|
||||
Err: err,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if !p.OrgID.Valid() {
|
||||
return &platform.Error{
|
||||
Err: platform.ErrInvalidID,
|
||||
Code: platform.EInvalid,
|
||||
return &influxdb.Error{
|
||||
Err: influxdb.ErrInvalidID,
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "org id required",
|
||||
}
|
||||
}
|
||||
|
||||
if p.Status == "" {
|
||||
p.Status = platform.Active
|
||||
p.Status = influxdb.Active
|
||||
}
|
||||
|
||||
err := p.Status.Valid()
|
||||
|
@ -320,8 +319,8 @@ func (p *postAuthorizationRequest) Validate() error {
|
|||
func decodePostAuthorizationRequest(ctx context.Context, r *http.Request) (*postAuthorizationRequest, error) {
|
||||
a := &postAuthorizationRequest{}
|
||||
if err := json.NewDecoder(r.Body).Decode(a); err != nil {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "invalid json structure",
|
||||
Err: err,
|
||||
}
|
||||
|
@ -342,7 +341,7 @@ func (h *AuthorizationHandler) handleGetAuthorizations(w http.ResponseWriter, r
|
|||
return
|
||||
}
|
||||
|
||||
opts := platform.FindOptions{}
|
||||
opts := influxdb.FindOptions{}
|
||||
as, _, err := h.AuthorizationService.FindAuthorizations(ctx, req.filter, opts)
|
||||
if err != nil {
|
||||
h.HandleHTTPError(ctx, err, w)
|
||||
|
@ -381,7 +380,7 @@ func (h *AuthorizationHandler) handleGetAuthorizations(w http.ResponseWriter, r
|
|||
}
|
||||
|
||||
type getAuthorizationsRequest struct {
|
||||
filter platform.AuthorizationFilter
|
||||
filter influxdb.AuthorizationFilter
|
||||
}
|
||||
|
||||
func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getAuthorizationsRequest, error) {
|
||||
|
@ -391,7 +390,7 @@ func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getA
|
|||
|
||||
userID := qp.Get("userID")
|
||||
if userID != "" {
|
||||
id, err := platform.IDFromString(userID)
|
||||
id, err := influxdb.IDFromString(userID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -405,7 +404,7 @@ func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getA
|
|||
|
||||
orgID := qp.Get("orgID")
|
||||
if orgID != "" {
|
||||
id, err := platform.IDFromString(orgID)
|
||||
id, err := influxdb.IDFromString(orgID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -419,7 +418,7 @@ func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getA
|
|||
|
||||
authID := qp.Get("id")
|
||||
if authID != "" {
|
||||
id, err := platform.IDFromString(authID)
|
||||
id, err := influxdb.IDFromString(authID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -473,20 +472,20 @@ func (h *AuthorizationHandler) handleGetAuthorization(w http.ResponseWriter, r *
|
|||
}
|
||||
|
||||
type getAuthorizationRequest struct {
|
||||
ID platform.ID
|
||||
ID influxdb.ID
|
||||
}
|
||||
|
||||
func decodeGetAuthorizationRequest(ctx context.Context, r *http.Request) (*getAuthorizationRequest, error) {
|
||||
params := httprouter.ParamsFromContext(ctx)
|
||||
id := params.ByName("id")
|
||||
if id == "" {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "url missing id",
|
||||
}
|
||||
}
|
||||
|
||||
var i platform.ID
|
||||
var i influxdb.ID
|
||||
if err := i.DecodeFromString(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -544,26 +543,26 @@ func (h *AuthorizationHandler) handleUpdateAuthorization(w http.ResponseWriter,
|
|||
}
|
||||
|
||||
type updateAuthorizationRequest struct {
|
||||
ID platform.ID
|
||||
*platform.AuthorizationUpdate
|
||||
ID influxdb.ID
|
||||
*influxdb.AuthorizationUpdate
|
||||
}
|
||||
|
||||
func decodeUpdateAuthorizationRequest(ctx context.Context, r *http.Request) (*updateAuthorizationRequest, error) {
|
||||
params := httprouter.ParamsFromContext(ctx)
|
||||
id := params.ByName("id")
|
||||
if id == "" {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "url missing id",
|
||||
}
|
||||
}
|
||||
|
||||
var i platform.ID
|
||||
var i influxdb.ID
|
||||
if err := i.DecodeFromString(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
upd := &platform.AuthorizationUpdate{}
|
||||
upd := &influxdb.AuthorizationUpdate{}
|
||||
if err := json.NewDecoder(r.Body).Decode(upd); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -596,20 +595,20 @@ func (h *AuthorizationHandler) handleDeleteAuthorization(w http.ResponseWriter,
|
|||
}
|
||||
|
||||
type deleteAuthorizationRequest struct {
|
||||
ID platform.ID
|
||||
ID influxdb.ID
|
||||
}
|
||||
|
||||
func decodeDeleteAuthorizationRequest(ctx context.Context, r *http.Request) (*deleteAuthorizationRequest, error) {
|
||||
params := httprouter.ParamsFromContext(ctx)
|
||||
id := params.ByName("id")
|
||||
if id == "" {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "url missing id",
|
||||
}
|
||||
}
|
||||
|
||||
var i platform.ID
|
||||
var i influxdb.ID
|
||||
if err := i.DecodeFromString(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -619,7 +618,7 @@ func decodeDeleteAuthorizationRequest(ctx context.Context, r *http.Request) (*de
|
|||
}, nil
|
||||
}
|
||||
|
||||
func getAuthorizedUser(r *http.Request, svc platform.UserService) (*platform.User, error) {
|
||||
func getAuthorizedUser(r *http.Request, svc influxdb.UserService) (*influxdb.User, error) {
|
||||
ctx := r.Context()
|
||||
|
||||
a, err := platcontext.GetAuthorizer(ctx)
|
||||
|
@ -635,11 +634,11 @@ type AuthorizationService struct {
|
|||
Client *httpc.Client
|
||||
}
|
||||
|
||||
var _ platform.AuthorizationService = (*AuthorizationService)(nil)
|
||||
var _ influxdb.AuthorizationService = (*AuthorizationService)(nil)
|
||||
|
||||
// FindAuthorizationByID finds the authorization against a remote influx server.
|
||||
func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id platform.ID) (*platform.Authorization, error) {
|
||||
var b platform.Authorization
|
||||
func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Authorization, error) {
|
||||
var b influxdb.Authorization
|
||||
err := s.Client.
|
||||
Get(prefixAuthorization, id.String()).
|
||||
DecodeJSON(&b).
|
||||
|
@ -651,13 +650,13 @@ func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id pla
|
|||
}
|
||||
|
||||
// FindAuthorizationByToken returns a single authorization by Token.
|
||||
func (s *AuthorizationService) FindAuthorizationByToken(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
func (s *AuthorizationService) FindAuthorizationByToken(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
return nil, errors.New("not supported in HTTP authorization service")
|
||||
}
|
||||
|
||||
// FindAuthorizations returns a list of authorizations that match filter and the total count of matching authorizations.
|
||||
// Additional options provide pagination & sorting.
|
||||
func (s *AuthorizationService) FindAuthorizations(ctx context.Context, filter platform.AuthorizationFilter, opt ...platform.FindOptions) ([]*platform.Authorization, int, error) {
|
||||
func (s *AuthorizationService) FindAuthorizations(ctx context.Context, filter influxdb.AuthorizationFilter, opt ...influxdb.FindOptions) ([]*influxdb.Authorization, int, error) {
|
||||
params := influxdb.FindOptionParams(opt...)
|
||||
if filter.ID != nil {
|
||||
params = append(params, [2]string{"id", filter.ID.String()})
|
||||
|
@ -685,7 +684,7 @@ func (s *AuthorizationService) FindAuthorizations(ctx context.Context, filter pl
|
|||
return nil, 0, err
|
||||
}
|
||||
|
||||
auths := make([]*platform.Authorization, 0, len(as.Auths))
|
||||
auths := make([]*influxdb.Authorization, 0, len(as.Auths))
|
||||
for _, a := range as.Auths {
|
||||
auths = append(auths, a.toPlatform())
|
||||
}
|
||||
|
@ -694,7 +693,7 @@ func (s *AuthorizationService) FindAuthorizations(ctx context.Context, filter pl
|
|||
}
|
||||
|
||||
// CreateAuthorization creates a new authorization and sets b.ID with the new identifier.
|
||||
func (s *AuthorizationService) CreateAuthorization(ctx context.Context, a *platform.Authorization) error {
|
||||
func (s *AuthorizationService) CreateAuthorization(ctx context.Context, a *influxdb.Authorization) error {
|
||||
newAuth, err := newPostAuthorizationRequest(a)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -707,7 +706,7 @@ func (s *AuthorizationService) CreateAuthorization(ctx context.Context, a *platf
|
|||
}
|
||||
|
||||
// UpdateAuthorization updates the status and description if available.
|
||||
func (s *AuthorizationService) UpdateAuthorization(ctx context.Context, id platform.ID, upd *platform.AuthorizationUpdate) (*platform.Authorization, error) {
|
||||
func (s *AuthorizationService) UpdateAuthorization(ctx context.Context, id influxdb.ID, upd *influxdb.AuthorizationUpdate) (*influxdb.Authorization, error) {
|
||||
var res authResponse
|
||||
err := s.Client.
|
||||
PatchJSON(upd, prefixAuthorization, id.String()).
|
||||
|
@ -721,7 +720,7 @@ func (s *AuthorizationService) UpdateAuthorization(ctx context.Context, id platf
|
|||
}
|
||||
|
||||
// DeleteAuthorization removes a authorization by id.
|
||||
func (s *AuthorizationService) DeleteAuthorization(ctx context.Context, id platform.ID) error {
|
||||
func (s *AuthorizationService) DeleteAuthorization(ctx context.Context, id influxdb.ID) error {
|
||||
return s.Client.
|
||||
Delete(prefixAuthorization, id.String()).
|
||||
Do(ctx)
|
||||
|
|
|
@ -9,8 +9,7 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
influxdb "github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platformhttp "github.com/influxdata/influxdb/v2/http"
|
||||
"github.com/influxdata/influxdb/v2/jsonweb"
|
||||
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
|
||||
|
@ -24,9 +23,9 @@ var one = influxdb.ID(1)
|
|||
|
||||
func TestAuthenticationHandler(t *testing.T) {
|
||||
type fields struct {
|
||||
AuthorizationService platform.AuthorizationService
|
||||
SessionService platform.SessionService
|
||||
UserService platform.UserService
|
||||
AuthorizationService influxdb.AuthorizationService
|
||||
SessionService influxdb.SessionService
|
||||
UserService influxdb.UserService
|
||||
TokenParser *jsonweb.TokenParser
|
||||
}
|
||||
type args struct {
|
||||
|
@ -48,10 +47,10 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
fields: fields{
|
||||
AuthorizationService: mock.NewAuthorizationService(),
|
||||
SessionService: &mock.SessionService{
|
||||
FindSessionFn: func(ctx context.Context, key string) (*platform.Session, error) {
|
||||
return &platform.Session{}, nil
|
||||
FindSessionFn: func(ctx context.Context, key string) (*influxdb.Session, error) {
|
||||
return &influxdb.Session{}, nil
|
||||
},
|
||||
RenewSessionFn: func(ctx context.Context, session *platform.Session, expiredAt time.Time) error {
|
||||
RenewSessionFn: func(ctx context.Context, session *influxdb.Session, expiredAt time.Time) error {
|
||||
return nil
|
||||
},
|
||||
},
|
||||
|
@ -68,7 +67,7 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
fields: fields{
|
||||
AuthorizationService: mock.NewAuthorizationService(),
|
||||
SessionService: &mock.SessionService{
|
||||
FindSessionFn: func(ctx context.Context, key string) (*platform.Session, error) {
|
||||
FindSessionFn: func(ctx context.Context, key string) (*influxdb.Session, error) {
|
||||
return nil, fmt.Errorf("session not found")
|
||||
},
|
||||
},
|
||||
|
@ -84,8 +83,8 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
name: "token provided",
|
||||
fields: fields{
|
||||
AuthorizationService: &mock.AuthorizationService{
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
return &platform.Authorization{}, nil
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
return &influxdb.Authorization{}, nil
|
||||
},
|
||||
},
|
||||
SessionService: mock.NewSessionService(),
|
||||
|
@ -101,7 +100,7 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
name: "token does not exist",
|
||||
fields: fields{
|
||||
AuthorizationService: &mock.AuthorizationService{
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
return nil, fmt.Errorf("authorization not found")
|
||||
},
|
||||
},
|
||||
|
@ -118,18 +117,18 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
name: "associated user is inactive",
|
||||
fields: fields{
|
||||
AuthorizationService: &mock.AuthorizationService{
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
return &platform.Authorization{UserID: one}, nil
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
return &influxdb.Authorization{UserID: one}, nil
|
||||
},
|
||||
},
|
||||
SessionService: mock.NewSessionService(),
|
||||
UserService: &mock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*platform.User, error) {
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
if !id.Valid() {
|
||||
panic("user service should only be called with valid user ID")
|
||||
}
|
||||
|
||||
return &platform.User{Status: "inactive"}, nil
|
||||
return &influxdb.User{Status: "inactive"}, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -155,13 +154,13 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
name: "jwt provided",
|
||||
fields: fields{
|
||||
AuthorizationService: &mock.AuthorizationService{
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
return nil, fmt.Errorf("authorization not found")
|
||||
},
|
||||
},
|
||||
SessionService: mock.NewSessionService(),
|
||||
UserService: &mock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*platform.User, error) {
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
// ensure that this is not reached as jwt token authorizer produces
|
||||
// invalid user id
|
||||
if !id.Valid() {
|
||||
|
@ -186,7 +185,7 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
name: "jwt provided - bad signature",
|
||||
fields: fields{
|
||||
AuthorizationService: &mock.AuthorizationService{
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) {
|
||||
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
|
||||
panic("token lookup attempted")
|
||||
},
|
||||
},
|
||||
|
@ -214,8 +213,8 @@ func TestAuthenticationHandler(t *testing.T) {
|
|||
h.AuthorizationService = tt.fields.AuthorizationService
|
||||
h.SessionService = tt.fields.SessionService
|
||||
h.UserService = &mock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*platform.User, error) {
|
||||
return &platform.User{}, nil
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
return &influxdb.User{}, nil
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import (
|
|||
|
||||
"github.com/influxdata/httprouter"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/inmem"
|
||||
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
|
||||
"github.com/influxdata/influxdb/v2/kv"
|
||||
|
@ -40,8 +39,8 @@ func NewMockBucketBackend(t *testing.T) *BucketBackend {
|
|||
|
||||
func TestService_handleGetBuckets(t *testing.T) {
|
||||
type fields struct {
|
||||
BucketService platform.BucketService
|
||||
LabelService platform.LabelService
|
||||
BucketService influxdb.BucketService
|
||||
LabelService influxdb.LabelService
|
||||
}
|
||||
type args struct {
|
||||
queryParams map[string][]string
|
||||
|
@ -62,8 +61,8 @@ func TestService_handleGetBuckets(t *testing.T) {
|
|||
name: "get all buckets",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketsFn: func(ctx context.Context, filter platform.BucketFilter, opts ...platform.FindOptions) ([]*platform.Bucket, int, error) {
|
||||
return []*platform.Bucket{
|
||||
FindBucketsFn: func(ctx context.Context, filter influxdb.BucketFilter, opts ...influxdb.FindOptions) ([]*influxdb.Bucket, int, error) {
|
||||
return []*influxdb.Bucket{
|
||||
{
|
||||
ID: platformtesting.MustIDBase16("0b501e7e557ab1ed"),
|
||||
Name: "hello",
|
||||
|
@ -80,8 +79,8 @@ func TestService_handleGetBuckets(t *testing.T) {
|
|||
},
|
||||
},
|
||||
&mock.LabelService{
|
||||
FindResourceLabelsFn: func(ctx context.Context, f platform.LabelMappingFilter) ([]*platform.Label, error) {
|
||||
labels := []*platform.Label{
|
||||
FindResourceLabelsFn: func(ctx context.Context, f influxdb.LabelMappingFilter) ([]*influxdb.Label, error) {
|
||||
labels := []*influxdb.Label{
|
||||
{
|
||||
ID: platformtesting.MustIDBase16("fc3dc670a4be9b9a"),
|
||||
Name: "label",
|
||||
|
@ -172,8 +171,8 @@ func TestService_handleGetBuckets(t *testing.T) {
|
|||
name: "get all buckets when there are none",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketsFn: func(ctx context.Context, filter platform.BucketFilter, opts ...platform.FindOptions) ([]*platform.Bucket, int, error) {
|
||||
return []*platform.Bucket{}, 0, nil
|
||||
FindBucketsFn: func(ctx context.Context, filter influxdb.BucketFilter, opts ...influxdb.FindOptions) ([]*influxdb.Bucket, int, error) {
|
||||
return []*influxdb.Bucket{}, 0, nil
|
||||
},
|
||||
},
|
||||
&mock.LabelService{},
|
||||
|
@ -237,7 +236,7 @@ func TestService_handleGetBuckets(t *testing.T) {
|
|||
|
||||
func TestService_handleGetBucket(t *testing.T) {
|
||||
type fields struct {
|
||||
BucketService platform.BucketService
|
||||
BucketService influxdb.BucketService
|
||||
}
|
||||
type args struct {
|
||||
id string
|
||||
|
@ -258,9 +257,9 @@ func TestService_handleGetBucket(t *testing.T) {
|
|||
name: "get a bucket by id",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id platform.ID) (*platform.Bucket, error) {
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
|
@ -305,9 +304,9 @@ func TestService_handleGetBucket(t *testing.T) {
|
|||
name: "not found",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id platform.ID) (*platform.Bucket, error) {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
|
@ -369,11 +368,11 @@ func TestService_handleGetBucket(t *testing.T) {
|
|||
|
||||
func TestService_handlePostBucket(t *testing.T) {
|
||||
type fields struct {
|
||||
BucketService platform.BucketService
|
||||
OrganizationService platform.OrganizationService
|
||||
BucketService influxdb.BucketService
|
||||
OrganizationService influxdb.OrganizationService
|
||||
}
|
||||
type args struct {
|
||||
bucket *platform.Bucket
|
||||
bucket *influxdb.Bucket
|
||||
}
|
||||
type wants struct {
|
||||
statusCode int
|
||||
|
@ -391,19 +390,19 @@ func TestService_handlePostBucket(t *testing.T) {
|
|||
name: "create a new bucket",
|
||||
fields: fields{
|
||||
BucketService: &mock.BucketService{
|
||||
CreateBucketFn: func(ctx context.Context, c *platform.Bucket) error {
|
||||
CreateBucketFn: func(ctx context.Context, c *influxdb.Bucket) error {
|
||||
c.ID = platformtesting.MustIDBase16("020f755c3c082000")
|
||||
return nil
|
||||
},
|
||||
},
|
||||
OrganizationService: &mock.OrganizationService{
|
||||
FindOrganizationF: func(ctx context.Context, f platform.OrganizationFilter) (*platform.Organization, error) {
|
||||
return &platform.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
|
||||
FindOrganizationF: func(ctx context.Context, f influxdb.OrganizationFilter) (*influxdb.Organization, error) {
|
||||
return &influxdb.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
bucket: &platform.Bucket{
|
||||
bucket: &influxdb.Bucket{
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("6f626f7274697320"),
|
||||
},
|
||||
|
@ -438,19 +437,19 @@ func TestService_handlePostBucket(t *testing.T) {
|
|||
name: "create a new bucket with invalid name",
|
||||
fields: fields{
|
||||
BucketService: &mock.BucketService{
|
||||
CreateBucketFn: func(ctx context.Context, c *platform.Bucket) error {
|
||||
CreateBucketFn: func(ctx context.Context, c *influxdb.Bucket) error {
|
||||
c.ID = platformtesting.MustIDBase16("020f755c3c082000")
|
||||
return nil
|
||||
},
|
||||
},
|
||||
OrganizationService: &mock.OrganizationService{
|
||||
FindOrganizationF: func(ctx context.Context, f platform.OrganizationFilter) (*platform.Organization, error) {
|
||||
return &platform.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
|
||||
FindOrganizationF: func(ctx context.Context, f influxdb.OrganizationFilter) (*influxdb.Organization, error) {
|
||||
return &influxdb.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
bucket: &platform.Bucket{
|
||||
bucket: &influxdb.Bucket{
|
||||
Name: "_hello",
|
||||
OrgID: platformtesting.MustIDBase16("6f626f7274697320"),
|
||||
},
|
||||
|
@ -502,7 +501,7 @@ func TestService_handlePostBucket(t *testing.T) {
|
|||
|
||||
func TestService_handleDeleteBucket(t *testing.T) {
|
||||
type fields struct {
|
||||
BucketService platform.BucketService
|
||||
BucketService influxdb.BucketService
|
||||
}
|
||||
type args struct {
|
||||
id string
|
||||
|
@ -523,7 +522,7 @@ func TestService_handleDeleteBucket(t *testing.T) {
|
|||
name: "remove a bucket by id",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
DeleteBucketFn: func(ctx context.Context, id platform.ID) error {
|
||||
DeleteBucketFn: func(ctx context.Context, id influxdb.ID) error {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
return nil
|
||||
}
|
||||
|
@ -543,9 +542,9 @@ func TestService_handleDeleteBucket(t *testing.T) {
|
|||
name: "bucket not found",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
DeleteBucketFn: func(ctx context.Context, id platform.ID) error {
|
||||
return &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
DeleteBucketFn: func(ctx context.Context, id influxdb.ID) error {
|
||||
return &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
|
@ -606,7 +605,7 @@ func TestService_handleDeleteBucket(t *testing.T) {
|
|||
|
||||
func TestService_handlePatchBucket(t *testing.T) {
|
||||
type fields struct {
|
||||
BucketService platform.BucketService
|
||||
BucketService influxdb.BucketService
|
||||
}
|
||||
type args struct {
|
||||
id string
|
||||
|
@ -630,15 +629,15 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
}, nil
|
||||
},
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
d := &platform.Bucket{
|
||||
d := &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -696,7 +695,7 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -704,9 +703,9 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
}
|
||||
return nil, fmt.Errorf("not found")
|
||||
},
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -729,14 +728,14 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
|
@ -757,7 +756,7 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -765,9 +764,9 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
}
|
||||
return nil, fmt.Errorf("not found")
|
||||
},
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
d := &platform.Bucket{
|
||||
d := &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -823,9 +822,9 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
name: "update retention policy to 'nothing'",
|
||||
fields: fields{
|
||||
&mock.BucketService{
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
d := &platform.Bucket{
|
||||
d := &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "b1",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -842,8 +841,8 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
return d, nil
|
||||
}
|
||||
|
||||
return nil, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
|
@ -884,15 +883,15 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
fields: fields{
|
||||
&mock.BucketService{
|
||||
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
|
||||
return &platform.Bucket{
|
||||
return &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
}, nil
|
||||
},
|
||||
UpdateBucketFn: func(ctx context.Context, id platform.ID, upd platform.BucketUpdate) (*platform.Bucket, error) {
|
||||
UpdateBucketFn: func(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (*influxdb.Bucket, error) {
|
||||
if id == platformtesting.MustIDBase16("020f755c3c082000") {
|
||||
d := &platform.Bucket{
|
||||
d := &influxdb.Bucket{
|
||||
ID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
Name: "hello",
|
||||
OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
|
@ -909,8 +908,8 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
return d, nil
|
||||
}
|
||||
|
||||
return nil, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "bucket not found",
|
||||
}
|
||||
},
|
||||
|
@ -934,7 +933,7 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
bucketBackend.BucketService = tt.fields.BucketService
|
||||
h := NewBucketHandler(zaptest.NewLogger(t), bucketBackend)
|
||||
|
||||
upd := platform.BucketUpdate{}
|
||||
upd := influxdb.BucketUpdate{}
|
||||
if tt.args.name != "" {
|
||||
upd.Name = &tt.args.name
|
||||
}
|
||||
|
@ -987,11 +986,11 @@ func TestService_handlePatchBucket(t *testing.T) {
|
|||
|
||||
func TestService_handlePostBucketMember(t *testing.T) {
|
||||
type fields struct {
|
||||
UserService platform.UserService
|
||||
UserService influxdb.UserService
|
||||
}
|
||||
type args struct {
|
||||
bucketID string
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
}
|
||||
type wants struct {
|
||||
statusCode int
|
||||
|
@ -1009,18 +1008,18 @@ func TestService_handlePostBucketMember(t *testing.T) {
|
|||
name: "add a bucket member",
|
||||
fields: fields{
|
||||
UserService: &mock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*platform.User, error) {
|
||||
return &platform.User{
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
return &influxdb.User{
|
||||
ID: id,
|
||||
Name: "name",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
}, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
bucketID: "020f755c3c082000",
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: platformtesting.MustIDBase16("6f626f7274697320"),
|
||||
},
|
||||
},
|
||||
|
@ -1081,11 +1080,11 @@ func TestService_handlePostBucketMember(t *testing.T) {
|
|||
|
||||
func TestService_handlePostBucketOwner(t *testing.T) {
|
||||
type fields struct {
|
||||
UserService platform.UserService
|
||||
UserService influxdb.UserService
|
||||
}
|
||||
type args struct {
|
||||
bucketID string
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
}
|
||||
type wants struct {
|
||||
statusCode int
|
||||
|
@ -1103,18 +1102,18 @@ func TestService_handlePostBucketOwner(t *testing.T) {
|
|||
name: "add a bucket owner",
|
||||
fields: fields{
|
||||
UserService: &mock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*platform.User, error) {
|
||||
return &platform.User{
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
return &influxdb.User{
|
||||
ID: id,
|
||||
Name: "name",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
}, nil
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
bucketID: "020f755c3c082000",
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: platformtesting.MustIDBase16("6f626f7274697320"),
|
||||
},
|
||||
},
|
||||
|
@ -1173,13 +1172,13 @@ func TestService_handlePostBucketOwner(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func initBucketService(f platformtesting.BucketFields, t *testing.T) (platform.BucketService, string, func()) {
|
||||
func initBucketService(f platformtesting.BucketFields, t *testing.T) (influxdb.BucketService, string, func()) {
|
||||
svc := kv.NewService(zaptest.NewLogger(t), inmem.NewKVStore())
|
||||
svc.IDGenerator = f.IDGenerator
|
||||
svc.OrgBucketIDs = f.OrgBucketIDs
|
||||
svc.TimeGenerator = f.TimeGenerator
|
||||
if f.TimeGenerator == nil {
|
||||
svc.TimeGenerator = platform.RealTimeGenerator{}
|
||||
svc.TimeGenerator = influxdb.RealTimeGenerator{}
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
|
|
|
@ -315,7 +315,7 @@ type labelsResponse struct {
|
|||
func newLabelsResponse(ls []*influxdb.Label) *labelsResponse {
|
||||
return &labelsResponse{
|
||||
Links: map[string]string{
|
||||
"self": fmt.Sprintf("/api/v2/labels"),
|
||||
"self": "/api/v2/labels",
|
||||
},
|
||||
Labels: ls,
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@ import (
|
|||
"github.com/influxdata/influxdb/v2/notification/endpoint"
|
||||
"github.com/influxdata/influxdb/v2/pkg/testttp"
|
||||
influxTesting "github.com/influxdata/influxdb/v2/testing"
|
||||
platformtesting "github.com/influxdata/influxdb/v2/testing"
|
||||
"go.uber.org/zap/zaptest"
|
||||
)
|
||||
|
||||
|
@ -1062,7 +1061,7 @@ func TestService_handlePostNotificationEndpointOwner(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func initNotificationEndpointService(f platformtesting.NotificationEndpointFields, t *testing.T) (influxdb.NotificationEndpointService, influxdb.SecretService, func()) {
|
||||
func initNotificationEndpointService(f influxTesting.NotificationEndpointFields, t *testing.T) (influxdb.NotificationEndpointService, influxdb.SecretService, func()) {
|
||||
svc := kv.NewService(zaptest.NewLogger(t), inmem.NewKVStore())
|
||||
svc.IDGenerator = f.IDGenerator
|
||||
svc.TimeGenerator = f.TimeGenerator
|
||||
|
@ -1115,11 +1114,11 @@ func TestNotificationEndpointService(t *testing.T) {
|
|||
|
||||
tests := []struct {
|
||||
name string
|
||||
testFn func(init func(platformtesting.NotificationEndpointFields, *testing.T) (influxdb.NotificationEndpointService, influxdb.SecretService, func()), t *testing.T)
|
||||
testFn func(init func(influxTesting.NotificationEndpointFields, *testing.T) (influxdb.NotificationEndpointService, influxdb.SecretService, func()), t *testing.T)
|
||||
}{
|
||||
{
|
||||
name: "CreateNotificationEndpoint",
|
||||
testFn: platformtesting.CreateNotificationEndpoint,
|
||||
testFn: influxTesting.CreateNotificationEndpoint,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
)
|
||||
|
||||
|
@ -14,7 +13,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
|
|||
queryParams map[string]string
|
||||
}
|
||||
type wants struct {
|
||||
opts platform.FindOptions
|
||||
opts influxdb.FindOptions
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -33,7 +32,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
opts: platform.FindOptions{
|
||||
opts: influxdb.FindOptions{
|
||||
Offset: 10,
|
||||
Limit: 10,
|
||||
SortBy: "updateTime",
|
||||
|
@ -49,7 +48,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
opts: platform.FindOptions{
|
||||
opts: influxdb.FindOptions{
|
||||
Offset: 0,
|
||||
Limit: 10,
|
||||
SortBy: "",
|
||||
|
@ -93,11 +92,11 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
type args struct {
|
||||
basePath string
|
||||
num int
|
||||
opts platform.FindOptions
|
||||
opts influxdb.FindOptions
|
||||
filter mock.PagingFilter
|
||||
}
|
||||
type wants struct {
|
||||
links platform.PagingLinks
|
||||
links influxdb.PagingLinks
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -110,7 +109,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
args: args{
|
||||
basePath: "/api/v2/buckets",
|
||||
num: 50,
|
||||
opts: platform.FindOptions{
|
||||
opts: influxdb.FindOptions{
|
||||
Offset: 10,
|
||||
Limit: 10,
|
||||
Descending: true,
|
||||
|
@ -121,7 +120,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
links: platform.PagingLinks{
|
||||
links: influxdb.PagingLinks{
|
||||
Prev: "/api/v2/buckets?descending=true&limit=10&name=name&offset=0&type=type1&type=type2",
|
||||
Self: "/api/v2/buckets?descending=true&limit=10&name=name&offset=10&type=type1&type=type2",
|
||||
Next: "/api/v2/buckets?descending=true&limit=10&name=name&offset=20&type=type1&type=type2",
|
||||
|
@ -133,7 +132,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
args: args{
|
||||
basePath: "/api/v2/buckets",
|
||||
num: 50,
|
||||
opts: platform.FindOptions{
|
||||
opts: influxdb.FindOptions{
|
||||
Offset: 0,
|
||||
Limit: 10,
|
||||
Descending: true,
|
||||
|
@ -144,7 +143,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
links: platform.PagingLinks{
|
||||
links: influxdb.PagingLinks{
|
||||
Prev: "",
|
||||
Self: "/api/v2/buckets?descending=true&limit=10&name=name&offset=0&type=type1&type=type2",
|
||||
Next: "/api/v2/buckets?descending=true&limit=10&name=name&offset=10&type=type1&type=type2",
|
||||
|
@ -156,7 +155,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
args: args{
|
||||
basePath: "/api/v2/buckets",
|
||||
num: 5,
|
||||
opts: platform.FindOptions{
|
||||
opts: influxdb.FindOptions{
|
||||
Offset: 10,
|
||||
Limit: 10,
|
||||
Descending: true,
|
||||
|
@ -167,7 +166,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
links: platform.PagingLinks{
|
||||
links: influxdb.PagingLinks{
|
||||
Prev: "/api/v2/buckets?descending=true&limit=10&name=name&offset=0&type=type1&type=type2",
|
||||
Self: "/api/v2/buckets?descending=true&limit=10&name=name&offset=10&type=type1&type=type2",
|
||||
Next: "",
|
||||
|
|
|
@ -20,17 +20,16 @@ import (
|
|||
"github.com/influxdata/flux/csv"
|
||||
"github.com/influxdata/flux/lang"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
icontext "github.com/influxdata/influxdb/v2/context"
|
||||
"github.com/influxdata/influxdb/v2/http/metric"
|
||||
"github.com/influxdata/influxdb/v2/kit/check"
|
||||
"github.com/influxdata/influxdb/v2/kit/feature"
|
||||
tracetesting "github.com/influxdata/influxdb/v2/kit/tracing/testing"
|
||||
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
|
||||
influxmock "github.com/influxdata/influxdb/v2/mock"
|
||||
"github.com/influxdata/influxdb/v2/query"
|
||||
"github.com/influxdata/influxdb/v2/query/fluxlang"
|
||||
"github.com/influxdata/influxdb/v2/query/mock"
|
||||
"github.com/influxdata/influxdb/v2/kit/feature"
|
||||
"go.uber.org/zap/zaptest"
|
||||
)
|
||||
|
||||
|
@ -342,7 +341,7 @@ func TestFluxHandler_PostQuery_Errors(t *testing.T) {
|
|||
},
|
||||
},
|
||||
FluxLanguageService: fluxlang.DefaultService,
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
}
|
||||
h := NewFluxHandler(zaptest.NewLogger(t), b)
|
||||
|
||||
|
@ -503,7 +502,7 @@ func TestFluxService_Query_gzip(t *testing.T) {
|
|||
OrganizationService: orgService,
|
||||
ProxyQueryService: queryService,
|
||||
FluxLanguageService: fluxlang.DefaultService,
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
}
|
||||
|
||||
fluxHandler := NewFluxHandler(zaptest.NewLogger(t), fluxBackend)
|
||||
|
@ -515,7 +514,7 @@ func TestFluxService_Query_gzip(t *testing.T) {
|
|||
auth.AuthorizationService = authService
|
||||
auth.Handler = fluxHandler
|
||||
auth.UserService = &influxmock.UserService{
|
||||
FindUserByIDFn: func(ctx context.Context, id platform.ID) (*influxdb.User, error) {
|
||||
FindUserByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.User, error) {
|
||||
return &influxdb.User{}, nil
|
||||
},
|
||||
}
|
||||
|
@ -641,7 +640,7 @@ func benchmarkQuery(b *testing.B, disableCompression bool) {
|
|||
OrganizationService: orgService,
|
||||
ProxyQueryService: queryService,
|
||||
FluxLanguageService: fluxlang.DefaultService,
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
Flagger: feature.DefaultFlagger(),
|
||||
}
|
||||
|
||||
fluxHandler := NewFluxHandler(zaptest.NewLogger(b), fluxBackend)
|
||||
|
|
103
http/telegraf.go
103
http/telegraf.go
|
@ -10,7 +10,6 @@ import (
|
|||
"github.com/golang/gddo/httputil"
|
||||
"github.com/influxdata/httprouter"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
pctx "github.com/influxdata/influxdb/v2/context"
|
||||
"github.com/influxdata/influxdb/v2/pkg/httpc"
|
||||
"github.com/influxdata/influxdb/v2/telegraf/plugins"
|
||||
|
@ -20,14 +19,14 @@ import (
|
|||
// TelegrafBackend is all services and associated parameters required to construct
|
||||
// the TelegrafHandler.
|
||||
type TelegrafBackend struct {
|
||||
platform.HTTPErrorHandler
|
||||
influxdb.HTTPErrorHandler
|
||||
log *zap.Logger
|
||||
|
||||
TelegrafService platform.TelegrafConfigStore
|
||||
UserResourceMappingService platform.UserResourceMappingService
|
||||
LabelService platform.LabelService
|
||||
UserService platform.UserService
|
||||
OrganizationService platform.OrganizationService
|
||||
TelegrafService influxdb.TelegrafConfigStore
|
||||
UserResourceMappingService influxdb.UserResourceMappingService
|
||||
LabelService influxdb.LabelService
|
||||
UserService influxdb.UserService
|
||||
OrganizationService influxdb.OrganizationService
|
||||
}
|
||||
|
||||
// NewTelegrafBackend returns a new instance of TelegrafBackend.
|
||||
|
@ -47,14 +46,14 @@ func NewTelegrafBackend(log *zap.Logger, b *APIBackend) *TelegrafBackend {
|
|||
// TelegrafHandler is the handler for the telegraf service
|
||||
type TelegrafHandler struct {
|
||||
*httprouter.Router
|
||||
platform.HTTPErrorHandler
|
||||
influxdb.HTTPErrorHandler
|
||||
log *zap.Logger
|
||||
|
||||
TelegrafService platform.TelegrafConfigStore
|
||||
UserResourceMappingService platform.UserResourceMappingService
|
||||
LabelService platform.LabelService
|
||||
UserService platform.UserService
|
||||
OrganizationService platform.OrganizationService
|
||||
TelegrafService influxdb.TelegrafConfigStore
|
||||
UserResourceMappingService influxdb.UserResourceMappingService
|
||||
LabelService influxdb.LabelService
|
||||
UserService influxdb.UserService
|
||||
OrganizationService influxdb.OrganizationService
|
||||
}
|
||||
|
||||
const (
|
||||
|
@ -95,8 +94,8 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
|
|||
memberBackend := MemberBackend{
|
||||
HTTPErrorHandler: b.HTTPErrorHandler,
|
||||
log: b.log.With(zap.String("handler", "member")),
|
||||
ResourceType: platform.TelegrafsResourceType,
|
||||
UserType: platform.Member,
|
||||
ResourceType: influxdb.TelegrafsResourceType,
|
||||
UserType: influxdb.Member,
|
||||
UserResourceMappingService: b.UserResourceMappingService,
|
||||
UserService: b.UserService,
|
||||
}
|
||||
|
@ -107,8 +106,8 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
|
|||
ownerBackend := MemberBackend{
|
||||
HTTPErrorHandler: b.HTTPErrorHandler,
|
||||
log: b.log.With(zap.String("handler", "member")),
|
||||
ResourceType: platform.TelegrafsResourceType,
|
||||
UserType: platform.Owner,
|
||||
ResourceType: influxdb.TelegrafsResourceType,
|
||||
UserType: influxdb.Owner,
|
||||
UserResourceMappingService: b.UserResourceMappingService,
|
||||
UserService: b.UserService,
|
||||
}
|
||||
|
@ -120,7 +119,7 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
|
|||
HTTPErrorHandler: b.HTTPErrorHandler,
|
||||
log: b.log.With(zap.String("handler", "label")),
|
||||
LabelService: b.LabelService,
|
||||
ResourceType: platform.TelegrafsResourceType,
|
||||
ResourceType: influxdb.TelegrafsResourceType,
|
||||
}
|
||||
h.HandlerFunc("GET", telegrafsIDLabelsPath, newGetLabelsHandler(labelBackend))
|
||||
h.HandlerFunc("POST", telegrafsIDLabelsPath, newPostLabelHandler(labelBackend))
|
||||
|
@ -137,8 +136,8 @@ type telegrafLinks struct {
|
|||
}
|
||||
|
||||
type telegrafResponse struct {
|
||||
*platform.TelegrafConfig
|
||||
Labels []platform.Label `json:"labels"`
|
||||
*influxdb.TelegrafConfig
|
||||
Labels []influxdb.Label `json:"labels"`
|
||||
Links telegrafLinks `json:"links"`
|
||||
}
|
||||
|
||||
|
@ -169,7 +168,7 @@ func (h *TelegrafHandler) handleGetTelegrafPlugins(w http.ResponseWriter, r *htt
|
|||
}
|
||||
}
|
||||
|
||||
func newTelegrafResponse(tc *platform.TelegrafConfig, labels []*platform.Label) *telegrafResponse {
|
||||
func newTelegrafResponse(tc *influxdb.TelegrafConfig, labels []*influxdb.Label) *telegrafResponse {
|
||||
res := &telegrafResponse{
|
||||
TelegrafConfig: tc,
|
||||
Links: telegrafLinks{
|
||||
|
@ -178,7 +177,7 @@ func newTelegrafResponse(tc *platform.TelegrafConfig, labels []*platform.Label)
|
|||
Members: fmt.Sprintf("/api/v2/telegrafs/%s/members", tc.ID),
|
||||
Owners: fmt.Sprintf("/api/v2/telegrafs/%s/owners", tc.ID),
|
||||
},
|
||||
Labels: []platform.Label{},
|
||||
Labels: []influxdb.Label{},
|
||||
}
|
||||
|
||||
for _, l := range labels {
|
||||
|
@ -188,23 +187,23 @@ func newTelegrafResponse(tc *platform.TelegrafConfig, labels []*platform.Label)
|
|||
return res
|
||||
}
|
||||
|
||||
func newTelegrafResponses(ctx context.Context, tcs []*platform.TelegrafConfig, labelService platform.LabelService) *telegrafResponses {
|
||||
func newTelegrafResponses(ctx context.Context, tcs []*influxdb.TelegrafConfig, labelService influxdb.LabelService) *telegrafResponses {
|
||||
resp := &telegrafResponses{
|
||||
TelegrafConfigs: make([]*telegrafResponse, len(tcs)),
|
||||
}
|
||||
for i, c := range tcs {
|
||||
labels, _ := labelService.FindResourceLabels(ctx, platform.LabelMappingFilter{ResourceID: c.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
labels, _ := labelService.FindResourceLabels(ctx, influxdb.LabelMappingFilter{ResourceID: c.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
resp.TelegrafConfigs[i] = newTelegrafResponse(c, labels)
|
||||
}
|
||||
return resp
|
||||
}
|
||||
|
||||
func decodeGetTelegrafRequest(ctx context.Context) (i platform.ID, err error) {
|
||||
func decodeGetTelegrafRequest(ctx context.Context) (i influxdb.ID, err error) {
|
||||
params := httprouter.ParamsFromContext(ctx)
|
||||
id := params.ByName("id")
|
||||
if id == "" {
|
||||
return i, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return i, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "url missing id",
|
||||
}
|
||||
}
|
||||
|
@ -260,7 +259,7 @@ func (h *TelegrafHandler) handleGetTelegraf(w http.ResponseWriter, r *http.Reque
|
|||
w.WriteHeader(http.StatusOK)
|
||||
w.Write([]byte(tc.Config))
|
||||
case "application/json":
|
||||
labels, err := h.LabelService.FindResourceLabels(ctx, platform.LabelMappingFilter{ResourceID: tc.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
labels, err := h.LabelService.FindResourceLabels(ctx, influxdb.LabelMappingFilter{ResourceID: tc.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
if err != nil {
|
||||
h.HandleHTTPError(ctx, err, w)
|
||||
return
|
||||
|
@ -277,19 +276,19 @@ func (h *TelegrafHandler) handleGetTelegraf(w http.ResponseWriter, r *http.Reque
|
|||
}
|
||||
}
|
||||
|
||||
func decodeTelegrafConfigFilter(ctx context.Context, r *http.Request) (*platform.TelegrafConfigFilter, error) {
|
||||
f := &platform.TelegrafConfigFilter{}
|
||||
urm, err := decodeUserResourceMappingFilter(ctx, r, platform.TelegrafsResourceType)
|
||||
func decodeTelegrafConfigFilter(ctx context.Context, r *http.Request) (*influxdb.TelegrafConfigFilter, error) {
|
||||
f := &influxdb.TelegrafConfigFilter{}
|
||||
urm, err := decodeUserResourceMappingFilter(ctx, r, influxdb.TelegrafsResourceType)
|
||||
if err == nil {
|
||||
f.UserResourceMappingFilter = *urm
|
||||
}
|
||||
|
||||
q := r.URL.Query()
|
||||
if orgIDStr := q.Get("orgID"); orgIDStr != "" {
|
||||
orgID, err := platform.IDFromString(orgIDStr)
|
||||
orgID, err := influxdb.IDFromString(orgIDStr)
|
||||
if err != nil {
|
||||
return f, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return f, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "orgID is invalid",
|
||||
Err: err,
|
||||
}
|
||||
|
@ -301,20 +300,20 @@ func decodeTelegrafConfigFilter(ctx context.Context, r *http.Request) (*platform
|
|||
return f, err
|
||||
}
|
||||
|
||||
func decodePutTelegrafRequest(ctx context.Context, r *http.Request) (*platform.TelegrafConfig, error) {
|
||||
tc := new(platform.TelegrafConfig)
|
||||
func decodePutTelegrafRequest(ctx context.Context, r *http.Request) (*influxdb.TelegrafConfig, error) {
|
||||
tc := new(influxdb.TelegrafConfig)
|
||||
if err := json.NewDecoder(r.Body).Decode(tc); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
params := httprouter.ParamsFromContext(ctx)
|
||||
id := params.ByName("id")
|
||||
if id == "" {
|
||||
return nil, &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: "url missing id",
|
||||
}
|
||||
}
|
||||
i := new(platform.ID)
|
||||
i := new(influxdb.ID)
|
||||
if err := i.DecodeFromString(id); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -326,7 +325,7 @@ func decodePutTelegrafRequest(ctx context.Context, r *http.Request) (*platform.T
|
|||
func (h *TelegrafHandler) handlePostTelegraf(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
|
||||
tc := new(platform.TelegrafConfig)
|
||||
tc := new(influxdb.TelegrafConfig)
|
||||
if err := json.NewDecoder(r.Body).Decode(tc); err != nil {
|
||||
h.log.Debug("Failed to decode request", zap.Error(err))
|
||||
h.HandleHTTPError(ctx, err, w)
|
||||
|
@ -345,7 +344,7 @@ func (h *TelegrafHandler) handlePostTelegraf(w http.ResponseWriter, r *http.Requ
|
|||
}
|
||||
h.log.Debug("Telegraf created", zap.String("telegraf", fmt.Sprint(tc)))
|
||||
|
||||
if err := encodeResponse(ctx, w, http.StatusCreated, newTelegrafResponse(tc, []*platform.Label{})); err != nil {
|
||||
if err := encodeResponse(ctx, w, http.StatusCreated, newTelegrafResponse(tc, []*influxdb.Label{})); err != nil {
|
||||
logEncodingError(h.log, r, err)
|
||||
return
|
||||
}
|
||||
|
@ -374,7 +373,7 @@ func (h *TelegrafHandler) handlePutTelegraf(w http.ResponseWriter, r *http.Reque
|
|||
return
|
||||
}
|
||||
|
||||
labels, err := h.LabelService.FindResourceLabels(ctx, platform.LabelMappingFilter{ResourceID: tc.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
labels, err := h.LabelService.FindResourceLabels(ctx, influxdb.LabelMappingFilter{ResourceID: tc.ID, ResourceType: influxdb.TelegrafsResourceType})
|
||||
if err != nil {
|
||||
h.HandleHTTPError(ctx, err, w)
|
||||
return
|
||||
|
@ -420,11 +419,11 @@ func NewTelegrafService(httpClient *httpc.Client) *TelegrafService {
|
|||
}
|
||||
}
|
||||
|
||||
var _ platform.TelegrafConfigStore = (*TelegrafService)(nil)
|
||||
var _ influxdb.TelegrafConfigStore = (*TelegrafService)(nil)
|
||||
|
||||
// FindTelegrafConfigByID returns a single telegraf config by ID.
|
||||
func (s *TelegrafService) FindTelegrafConfigByID(ctx context.Context, id platform.ID) (*platform.TelegrafConfig, error) {
|
||||
var cfg platform.TelegrafConfig
|
||||
func (s *TelegrafService) FindTelegrafConfigByID(ctx context.Context, id influxdb.ID) (*influxdb.TelegrafConfig, error) {
|
||||
var cfg influxdb.TelegrafConfig
|
||||
err := s.client.
|
||||
Get(prefixTelegraf, id.String()).
|
||||
Header("Accept", "application/json").
|
||||
|
@ -438,7 +437,7 @@ func (s *TelegrafService) FindTelegrafConfigByID(ctx context.Context, id platfor
|
|||
|
||||
// FindTelegrafConfigs returns a list of telegraf configs that match filter and the total count of matching telegraf configs.
|
||||
// Additional options provide pagination & sorting.
|
||||
func (s *TelegrafService) FindTelegrafConfigs(ctx context.Context, f platform.TelegrafConfigFilter, opt ...platform.FindOptions) ([]*platform.TelegrafConfig, int, error) {
|
||||
func (s *TelegrafService) FindTelegrafConfigs(ctx context.Context, f influxdb.TelegrafConfigFilter, opt ...influxdb.FindOptions) ([]*influxdb.TelegrafConfig, int, error) {
|
||||
params := influxdb.FindOptionParams(opt...)
|
||||
if f.OrgID != nil {
|
||||
params = append(params, [2]string{"orgID", f.OrgID.String()})
|
||||
|
@ -454,7 +453,7 @@ func (s *TelegrafService) FindTelegrafConfigs(ctx context.Context, f platform.Te
|
|||
}
|
||||
|
||||
var resp struct {
|
||||
Configs []*platform.TelegrafConfig `json:"configurations"`
|
||||
Configs []*influxdb.TelegrafConfig `json:"configurations"`
|
||||
}
|
||||
err := s.client.
|
||||
Get(prefixTelegraf).
|
||||
|
@ -469,8 +468,8 @@ func (s *TelegrafService) FindTelegrafConfigs(ctx context.Context, f platform.Te
|
|||
}
|
||||
|
||||
// CreateTelegrafConfig creates a new telegraf config and sets b.ID with the new identifier.
|
||||
func (s *TelegrafService) CreateTelegrafConfig(ctx context.Context, tc *platform.TelegrafConfig, userID platform.ID) error {
|
||||
var teleResp platform.TelegrafConfig
|
||||
func (s *TelegrafService) CreateTelegrafConfig(ctx context.Context, tc *influxdb.TelegrafConfig, userID influxdb.ID) error {
|
||||
var teleResp influxdb.TelegrafConfig
|
||||
err := s.client.
|
||||
PostJSON(tc, prefixTelegraf).
|
||||
DecodeJSON(&teleResp).
|
||||
|
@ -484,8 +483,8 @@ func (s *TelegrafService) CreateTelegrafConfig(ctx context.Context, tc *platform
|
|||
|
||||
// UpdateTelegrafConfig updates a single telegraf config.
|
||||
// Returns the new telegraf config after update.
|
||||
func (s *TelegrafService) UpdateTelegrafConfig(ctx context.Context, id platform.ID, tc *platform.TelegrafConfig, userID platform.ID) (*platform.TelegrafConfig, error) {
|
||||
var teleResp platform.TelegrafConfig
|
||||
func (s *TelegrafService) UpdateTelegrafConfig(ctx context.Context, id influxdb.ID, tc *influxdb.TelegrafConfig, userID influxdb.ID) (*influxdb.TelegrafConfig, error) {
|
||||
var teleResp influxdb.TelegrafConfig
|
||||
err := s.client.
|
||||
PutJSON(tc, prefixTelegraf, id.String()).
|
||||
DecodeJSON(&teleResp).
|
||||
|
@ -497,7 +496,7 @@ func (s *TelegrafService) UpdateTelegrafConfig(ctx context.Context, id platform.
|
|||
}
|
||||
|
||||
// DeleteTelegrafConfig removes a telegraf config by ID.
|
||||
func (s *TelegrafService) DeleteTelegrafConfig(ctx context.Context, id platform.ID) error {
|
||||
func (s *TelegrafService) DeleteTelegrafConfig(ctx context.Context, id influxdb.ID) error {
|
||||
return s.client.
|
||||
Delete(prefixTelegraf, id.String()).
|
||||
Do(ctx)
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/kv"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
influxdbtesting "github.com/influxdata/influxdb/v2/testing"
|
||||
|
@ -13,9 +12,9 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
existingBucketID = platform.ID(mock.FirstMockID + 3)
|
||||
firstMockID = platform.ID(mock.FirstMockID)
|
||||
nonexistantID = platform.ID(10001)
|
||||
existingBucketID = influxdb.ID(mock.FirstMockID + 3)
|
||||
firstMockID = influxdb.ID(mock.FirstMockID)
|
||||
nonexistantID = influxdb.ID(10001)
|
||||
)
|
||||
|
||||
type StoreFn func(*testing.T) (kv.Store, func(), error)
|
||||
|
|
|
@ -388,7 +388,7 @@ func (s *StoreBase) bucketCursor(ctx context.Context, tx Tx) (Cursor, error) {
|
|||
if err != nil {
|
||||
return nil, &influxdb.Error{
|
||||
Code: influxdb.EInternal,
|
||||
Msg: fmt.Sprintf("failed to retrieve cursor"),
|
||||
Msg: "failed to retrieve cursor",
|
||||
Err: err,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ func TestBoltTenantService(t *testing.T) {
|
|||
itesting.TenantService(t, initBoltTenantService)
|
||||
}
|
||||
|
||||
//lint:ignore U1000 erroneously flagged by staticcheck since it is used in skipped tests
|
||||
func initBoltTenantService(t *testing.T, f itesting.TenantFields) (influxdb.TenantService, func()) {
|
||||
s, closeStore, err := NewTestBoltStore(t)
|
||||
if err != nil {
|
||||
|
|
|
@ -78,7 +78,7 @@ type labelsResponse struct {
|
|||
func newLabelsResponse(ls []*influxdb.Label) *labelsResponse {
|
||||
return &labelsResponse{
|
||||
Links: map[string]string{
|
||||
"self": fmt.Sprintf("/api/v2/labels"),
|
||||
"self": "/api/v2/labels",
|
||||
},
|
||||
Labels: ls,
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ func (r *Registry) MustRegisterGroup(name string) GID {
|
|||
|
||||
func (r *Registry) mustGetGroupRegistry(id GID) *groupRegistry {
|
||||
if int(id) >= len(r.groups) {
|
||||
panic(fmt.Sprintf("invalid group ID"))
|
||||
panic("invalid group ID")
|
||||
}
|
||||
return &r.groups[id]
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ type buffer [3]struct {
|
|||
lit string // last read literal
|
||||
}
|
||||
|
||||
// parser of the predicate will connvert
|
||||
// parser of the predicate will convert
|
||||
// such a statement `(a = "a" or b!="b") and c ! =~/efg/`
|
||||
// to the predicate node
|
||||
type parser struct {
|
||||
|
@ -122,7 +122,7 @@ func (p *parser) parseLogicalNode() (Node, error) {
|
|||
if p.openParen != currParen-1 {
|
||||
return *n, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: fmt.Sprintf("extra ( seen"),
|
||||
Msg: "extra ( seen",
|
||||
}
|
||||
}
|
||||
if n.Children[0] == nil {
|
||||
|
@ -137,7 +137,7 @@ func (p *parser) parseLogicalNode() (Node, error) {
|
|||
if p.openParen < 0 {
|
||||
return *n, &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: fmt.Sprintf("extra ) seen"),
|
||||
Msg: "extra ) seen",
|
||||
}
|
||||
}
|
||||
if n.Children[1] == nil {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package predicate
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
|
@ -68,14 +67,14 @@ func TestParseNode(t *testing.T) {
|
|||
str: ` (t1="v1" and t2="v2") and (`,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: fmt.Sprintf("extra ( seen"),
|
||||
Msg: "extra ( seen",
|
||||
},
|
||||
},
|
||||
{
|
||||
str: ` (t1="v1" and t2="v2"))`,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Msg: fmt.Sprintf("extra ) seen"),
|
||||
Msg: "extra ) seen",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package prometheus
|
|||
import (
|
||||
"sort"
|
||||
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
dto "github.com/prometheus/client_model/go"
|
||||
)
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"reflect"
|
||||
"testing"
|
||||
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/proto"
|
||||
pr "github.com/influxdata/influxdb/v2/prometheus"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
dto "github.com/prometheus/client_model/go"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package prometheus_test
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/proto"
|
||||
dto "github.com/prometheus/client_model/go"
|
||||
)
|
||||
|
||||
|
|
|
@ -151,7 +151,7 @@ func New(config Config) (*Controller, error) {
|
|||
if err != nil {
|
||||
return nil, errors.Wrap(err, "invalid controller config")
|
||||
}
|
||||
c.MetricLabelKeys = append(c.MetricLabelKeys, orgLabel) //lint:ignore SA1029 this is a temporary ignore until we have time to create an appropriate type
|
||||
c.MetricLabelKeys = append(c.MetricLabelKeys, orgLabel)
|
||||
logger := c.Logger
|
||||
if logger == nil {
|
||||
logger = zap.NewNop()
|
||||
|
|
|
@ -35,6 +35,10 @@ var opts = []cmp.Option{
|
|||
cmpopts.IgnoreUnexported(query.Request{}),
|
||||
}
|
||||
|
||||
type contextKey string
|
||||
|
||||
const loggingCtxKey contextKey = "do-logging"
|
||||
|
||||
func TestLoggingProxyQueryService(t *testing.T) {
|
||||
// Set a Jaeger in-memory tracer to get span information in the query log.
|
||||
oldTracer := opentracing.GlobalTracer()
|
||||
|
@ -118,9 +122,8 @@ func TestLoggingProxyQueryService(t *testing.T) {
|
|||
logs = nil
|
||||
}()
|
||||
|
||||
loggingKey := "do-logging"
|
||||
condLog := query.ConditionalLogging(func(ctx context.Context) bool {
|
||||
return ctx.Value(loggingKey) != nil
|
||||
return ctx.Value(loggingCtxKey) != nil
|
||||
})
|
||||
|
||||
lpqs := query.NewLoggingProxyQueryService(zap.NewNop(), logger, pqs, condLog)
|
||||
|
@ -133,7 +136,7 @@ func TestLoggingProxyQueryService(t *testing.T) {
|
|||
t.Fatal("expected query service not to log")
|
||||
}
|
||||
|
||||
ctx := context.WithValue(context.Background(), loggingKey, true)
|
||||
ctx := context.WithValue(context.Background(), loggingCtxKey, true)
|
||||
_, err = lpqs.Query(ctx, ioutil.Discard, req)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
|
10
task.go
10
task.go
|
@ -28,15 +28,21 @@ var (
|
|||
TaskSystemType = "system"
|
||||
)
|
||||
|
||||
type contextKey string
|
||||
|
||||
const (
|
||||
taskAuthKey contextKey = "taskAuth"
|
||||
)
|
||||
|
||||
// TODO: these are temporary functions until we can work through optimizing auth
|
||||
// FindTaskWithAuth adds a auth hint for lookup of tasks
|
||||
func FindTaskWithoutAuth(ctx context.Context) context.Context {
|
||||
return context.WithValue(ctx, "taskAuth", "omit")
|
||||
return context.WithValue(ctx, taskAuthKey, "omit")
|
||||
}
|
||||
|
||||
// FindTaskAuthRequired retrieves the taskAuth hint
|
||||
func FindTaskAuthRequired(ctx context.Context) bool {
|
||||
val, ok := ctx.Value("taskAuth").(string)
|
||||
val, ok := ctx.Value(taskAuthKey).(string)
|
||||
return !(ok && val == "omit")
|
||||
}
|
||||
|
||||
|
|
|
@ -173,8 +173,10 @@ func grabTaskOptionAST(p *ast.Package, keys ...string) map[string]ast.Expression
|
|||
}
|
||||
for k := range ae.Properties {
|
||||
prop := ae.Properties[k]
|
||||
if key := prop.Key.Key(); prop != nil && contains(keys, key) {
|
||||
res[key] = prop.Value
|
||||
if prop != nil {
|
||||
if key := prop.Key.Key(); contains(keys, key) {
|
||||
res[key] = prop.Value
|
||||
}
|
||||
}
|
||||
}
|
||||
return res
|
||||
|
|
|
@ -82,11 +82,7 @@ func (tc *TelegrafConfig) CountPlugins() map[string]float64 {
|
|||
if len(v) < 2 {
|
||||
continue
|
||||
}
|
||||
if _, ok := plugins[v[1]]; ok {
|
||||
plugins[v[1]]++
|
||||
} else {
|
||||
plugins[v[1]] = 1
|
||||
}
|
||||
plugins[v[1]]++
|
||||
}
|
||||
|
||||
return plugins
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/matttproud/golang_protobuf_extensions/pbutil"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package telemetry
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
"github.com/golang/protobuf/proto"
|
||||
dto "github.com/prometheus/client_model/go"
|
||||
)
|
||||
|
||||
|
|
303
testing/auth.go
303
testing/auth.go
|
@ -10,7 +10,6 @@ import (
|
|||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
)
|
||||
|
||||
|
@ -27,8 +26,8 @@ var authorizationCmpOptions = cmp.Options{
|
|||
cmp.Comparer(func(x, y []byte) bool {
|
||||
return bytes.Equal(x, y)
|
||||
}),
|
||||
cmp.Transformer("Sort", func(in []*platform.Authorization) []*platform.Authorization {
|
||||
out := append([]*platform.Authorization(nil), in...) // Copy input to avoid mutating it
|
||||
cmp.Transformer("Sort", func(in []*influxdb.Authorization) []*influxdb.Authorization {
|
||||
out := append([]*influxdb.Authorization(nil), in...) // Copy input to avoid mutating it
|
||||
sort.Slice(out, func(i, j int) bool {
|
||||
return out[i].ID.String() > out[j].ID.String()
|
||||
})
|
||||
|
@ -50,22 +49,22 @@ func WithoutFindByToken() AuthTestOpts {
|
|||
|
||||
// AuthorizationFields will include the IDGenerator, and authorizations
|
||||
type AuthorizationFields struct {
|
||||
IDGenerator platform.IDGenerator
|
||||
TokenGenerator platform.TokenGenerator
|
||||
TimeGenerator platform.TimeGenerator
|
||||
Authorizations []*platform.Authorization
|
||||
Users []*platform.User
|
||||
Orgs []*platform.Organization
|
||||
IDGenerator influxdb.IDGenerator
|
||||
TokenGenerator influxdb.TokenGenerator
|
||||
TimeGenerator influxdb.TimeGenerator
|
||||
Authorizations []*influxdb.Authorization
|
||||
Users []*influxdb.User
|
||||
Orgs []*influxdb.Organization
|
||||
}
|
||||
|
||||
// AuthorizationService tests all the service functions.
|
||||
func AuthorizationService(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
opts ...AuthTestOpts) {
|
||||
tests := []struct {
|
||||
name string
|
||||
fn func(init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
fn func(init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T)
|
||||
}{
|
||||
{
|
||||
|
@ -105,15 +104,15 @@ func AuthorizationService(
|
|||
|
||||
// CreateAuthorization testing
|
||||
func CreateAuthorization(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
authorization *platform.Authorization
|
||||
authorization *influxdb.Authorization
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
authorizations []*platform.Authorization
|
||||
authorizations []*influxdb.Authorization
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -134,19 +133,19 @@ func CreateAuthorization(
|
|||
return "rand", nil
|
||||
},
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -158,7 +157,7 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
|
@ -166,12 +165,12 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "supersecret",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
Description: "already existing auth",
|
||||
|
@ -181,10 +180,10 @@ func CreateAuthorization(
|
|||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
Description: "new auth",
|
||||
CRUDLog: platform.CRUDLog{
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
CreatedAt: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
|
||||
UpdatedAt: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
|
||||
},
|
||||
|
@ -204,19 +203,19 @@ func CreateAuthorization(
|
|||
return "rand", nil
|
||||
},
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -228,7 +227,7 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
|
@ -236,18 +235,18 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "supersecret",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
Description: "already existing auth",
|
||||
},
|
||||
},
|
||||
err: platform.ErrUnableToCreateToken,
|
||||
err: influxdb.ErrUnableToCreateToken,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -262,19 +261,19 @@ func CreateAuthorization(
|
|||
return "rand", nil
|
||||
},
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -286,7 +285,7 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Permissions: createUsersPermission(MustIDBase16(orgTwoID)),
|
||||
|
@ -294,18 +293,18 @@ func CreateAuthorization(
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "supersecret",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
Description: "already existing auth",
|
||||
},
|
||||
},
|
||||
err: platform.ErrUnableToCreateToken,
|
||||
err: influxdb.ErrUnableToCreateToken,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -324,7 +323,7 @@ func CreateAuthorization(
|
|||
|
||||
defer s.DeleteAuthorization(ctx, tt.args.authorization.ID)
|
||||
|
||||
authorizations, _, err := s.FindAuthorizations(ctx, platform.AuthorizationFilter{})
|
||||
authorizations, _, err := s.FindAuthorizations(ctx, influxdb.AuthorizationFilter{})
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve authorizations: %v", err)
|
||||
}
|
||||
|
@ -337,12 +336,12 @@ func CreateAuthorization(
|
|||
|
||||
// FindAuthorizationByID testing
|
||||
func FindAuthorizationByID(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type wants struct {
|
||||
err error
|
||||
authorizations []*platform.Authorization
|
||||
authorizations []*influxdb.Authorization
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -353,7 +352,7 @@ func FindAuthorizationByID(
|
|||
{
|
||||
name: "basic find authorization by id",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -363,7 +362,7 @@ func FindAuthorizationByID(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -379,7 +378,7 @@ func FindAuthorizationByID(
|
|||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -387,7 +386,7 @@ func FindAuthorizationByID(
|
|||
},
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -434,16 +433,16 @@ func stringPtr(s string) *string {
|
|||
|
||||
// UpdateAuthorization testing
|
||||
func UpdateAuthorization(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
id platform.ID
|
||||
upd *platform.AuthorizationUpdate
|
||||
id influxdb.ID
|
||||
upd *influxdb.AuthorizationUpdate
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
authorization *platform.Authorization
|
||||
authorization *influxdb.Authorization
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -457,7 +456,7 @@ func UpdateAuthorization(
|
|||
TimeGenerator: &mock.TimeGenerator{
|
||||
FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -467,7 +466,7 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -477,12 +476,12 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -511,21 +510,21 @@ func UpdateAuthorization(
|
|||
},
|
||||
args: args{
|
||||
id: MustIDBase16(authTwoID),
|
||||
upd: &platform.AuthorizationUpdate{
|
||||
Status: platform.Inactive.Ptr(),
|
||||
upd: &influxdb.AuthorizationUpdate{
|
||||
Status: influxdb.Inactive.Ptr(),
|
||||
Description: stringPtr("desc1"),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand2",
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
Description: "desc1",
|
||||
CRUDLog: platform.CRUDLog{
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
UpdatedAt: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
|
||||
},
|
||||
},
|
||||
|
@ -534,7 +533,7 @@ func UpdateAuthorization(
|
|||
{
|
||||
name: "update with id not found",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -544,7 +543,7 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -554,12 +553,12 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -581,14 +580,14 @@ func UpdateAuthorization(
|
|||
},
|
||||
args: args{
|
||||
id: MustIDBase16(authThreeID),
|
||||
upd: &platform.AuthorizationUpdate{
|
||||
Status: platform.Inactive.Ptr(),
|
||||
upd: &influxdb.AuthorizationUpdate{
|
||||
Status: influxdb.Inactive.Ptr(),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpUpdateAuthorization,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpUpdateAuthorization,
|
||||
Msg: "authorization not found",
|
||||
},
|
||||
},
|
||||
|
@ -599,7 +598,7 @@ func UpdateAuthorization(
|
|||
TimeGenerator: &mock.TimeGenerator{
|
||||
FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -609,7 +608,7 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -619,12 +618,12 @@ func UpdateAuthorization(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -653,14 +652,14 @@ func UpdateAuthorization(
|
|||
},
|
||||
args: args{
|
||||
id: MustIDBase16(authTwoID),
|
||||
upd: &platform.AuthorizationUpdate{
|
||||
Status: platform.Status("unknown").Ptr(),
|
||||
upd: &influxdb.AuthorizationUpdate{
|
||||
Status: influxdb.Status("unknown").Ptr(),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.EInvalid,
|
||||
Op: platform.OpUpdateAuthorization,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInvalid,
|
||||
Op: influxdb.OpUpdateAuthorization,
|
||||
Msg: "unknown authorization status",
|
||||
},
|
||||
},
|
||||
|
@ -693,7 +692,7 @@ func UpdateAuthorization(
|
|||
|
||||
// FindAuthorizationByToken testing
|
||||
func FindAuthorizationByToken(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
|
@ -701,7 +700,7 @@ func FindAuthorizationByToken(
|
|||
}
|
||||
type wants struct {
|
||||
err error
|
||||
authorization *platform.Authorization
|
||||
authorization *influxdb.Authorization
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -713,7 +712,7 @@ func FindAuthorizationByToken(
|
|||
{
|
||||
name: "basic find authorization by token",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -723,7 +722,7 @@ func FindAuthorizationByToken(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -733,12 +732,12 @@ func FindAuthorizationByToken(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -769,11 +768,11 @@ func FindAuthorizationByToken(
|
|||
token: "rand1",
|
||||
},
|
||||
wants: wants{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Status: platform.Inactive,
|
||||
Status: influxdb.Inactive,
|
||||
Token: "rand1",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -782,7 +781,7 @@ func FindAuthorizationByToken(
|
|||
{
|
||||
name: "find authorization by token",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -792,13 +791,13 @@ func FindAuthorizationByToken(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authZeroID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -833,12 +832,12 @@ func FindAuthorizationByToken(
|
|||
token: "rand2",
|
||||
},
|
||||
wants: wants{
|
||||
authorization: &platform.Authorization{
|
||||
authorization: &influxdb.Authorization{
|
||||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
},
|
||||
|
@ -863,18 +862,18 @@ func FindAuthorizationByToken(
|
|||
|
||||
// FindAuthorizations testing
|
||||
func FindAuthorizations(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
ID platform.ID
|
||||
UserID platform.ID
|
||||
OrgID platform.ID
|
||||
ID influxdb.ID
|
||||
UserID influxdb.ID
|
||||
OrgID influxdb.ID
|
||||
token string
|
||||
}
|
||||
|
||||
type wants struct {
|
||||
authorizations []*platform.Authorization
|
||||
authorizations []*influxdb.Authorization
|
||||
err error
|
||||
}
|
||||
tests := []struct {
|
||||
|
@ -886,7 +885,7 @@ func FindAuthorizations(
|
|||
{
|
||||
name: "find all authorizations",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -896,13 +895,13 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -921,13 +920,13 @@ func FindAuthorizations(
|
|||
},
|
||||
args: args{},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
{
|
||||
|
@ -935,7 +934,7 @@ func FindAuthorizations(
|
|||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
},
|
||||
|
@ -944,7 +943,7 @@ func FindAuthorizations(
|
|||
{
|
||||
name: "find authorization by user id",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -954,19 +953,19 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
{
|
||||
|
@ -989,12 +988,12 @@ func FindAuthorizations(
|
|||
UserID: MustIDBase16(userOneID),
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand1",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1002,7 +1001,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authThreeID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand3",
|
||||
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1012,13 +1011,13 @@ func FindAuthorizations(
|
|||
{
|
||||
name: "find authorization by org id",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -1028,12 +1027,12 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand1",
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1041,7 +1040,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand2",
|
||||
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1049,7 +1048,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authThreeID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand3",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -1059,12 +1058,12 @@ func FindAuthorizations(
|
|||
OrgID: MustIDBase16(orgOneID),
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand1",
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1072,7 +1071,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand2",
|
||||
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1082,7 +1081,7 @@ func FindAuthorizations(
|
|||
{
|
||||
name: "find authorization by org id and user id",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -1092,7 +1091,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
|
@ -1102,12 +1101,12 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand1",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1115,7 +1114,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand2",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -1123,7 +1122,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authThreeID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand3",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1131,7 +1130,7 @@ func FindAuthorizations(
|
|||
ID: MustIDBase16(authThreeID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand4",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -1142,12 +1141,12 @@ func FindAuthorizations(
|
|||
OrgID: MustIDBase16(orgTwoID),
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
OrgID: MustIDBase16(orgTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand2",
|
||||
Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
|
||||
},
|
||||
|
@ -1162,7 +1161,7 @@ func FindAuthorizations(
|
|||
defer done()
|
||||
ctx := context.Background()
|
||||
|
||||
filter := platform.AuthorizationFilter{}
|
||||
filter := influxdb.AuthorizationFilter{}
|
||||
if tt.args.ID.Valid() {
|
||||
filter.ID = &tt.args.ID
|
||||
}
|
||||
|
@ -1187,15 +1186,15 @@ func FindAuthorizations(
|
|||
|
||||
// DeleteAuthorization testing
|
||||
func DeleteAuthorization(
|
||||
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()),
|
||||
init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
ID platform.ID
|
||||
ID influxdb.ID
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
authorizations []*platform.Authorization
|
||||
authorizations []*influxdb.Authorization
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -1207,7 +1206,7 @@ func DeleteAuthorization(
|
|||
{
|
||||
name: "delete authorizations using exist id",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -1217,13 +1216,13 @@ func DeleteAuthorization(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -1244,12 +1243,12 @@ func DeleteAuthorization(
|
|||
ID: MustIDBase16(authOneID),
|
||||
},
|
||||
wants: wants{
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authTwoID),
|
||||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Token: "rand2",
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1259,7 +1258,7 @@ func DeleteAuthorization(
|
|||
{
|
||||
name: "delete authorizations using id that does not exist",
|
||||
fields: AuthorizationFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "cooluser",
|
||||
ID: MustIDBase16(userOneID),
|
||||
|
@ -1269,13 +1268,13 @@ func DeleteAuthorization(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
},
|
||||
Orgs: []*platform.Organization{
|
||||
Orgs: []*influxdb.Organization{
|
||||
{
|
||||
Name: "o1",
|
||||
ID: MustIDBase16(orgOneID),
|
||||
},
|
||||
},
|
||||
Authorizations: []*platform.Authorization{
|
||||
Authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
|
@ -1296,17 +1295,17 @@ func DeleteAuthorization(
|
|||
ID: MustIDBase16(authThreeID),
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "authorization not found",
|
||||
Op: platform.OpDeleteAuthorization,
|
||||
Op: influxdb.OpDeleteAuthorization,
|
||||
},
|
||||
authorizations: []*platform.Authorization{
|
||||
authorizations: []*influxdb.Authorization{
|
||||
{
|
||||
ID: MustIDBase16(authOneID),
|
||||
UserID: MustIDBase16(userOneID),
|
||||
Token: "rand1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Permissions: allUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
|
@ -1315,7 +1314,7 @@ func DeleteAuthorization(
|
|||
UserID: MustIDBase16(userTwoID),
|
||||
OrgID: MustIDBase16(orgOneID),
|
||||
Token: "rand2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
Permissions: createUsersPermission(MustIDBase16(orgOneID)),
|
||||
},
|
||||
},
|
||||
|
@ -1331,7 +1330,7 @@ func DeleteAuthorization(
|
|||
err := s.DeleteAuthorization(ctx, tt.args.ID)
|
||||
diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t)
|
||||
|
||||
filter := platform.AuthorizationFilter{}
|
||||
filter := influxdb.AuthorizationFilter{}
|
||||
authorizations, _, err := s.FindAuthorizations(ctx, filter)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve authorizations: %v", err)
|
||||
|
@ -1343,21 +1342,21 @@ func DeleteAuthorization(
|
|||
}
|
||||
}
|
||||
|
||||
func allUsersPermission(orgID platform.ID) []platform.Permission {
|
||||
return []platform.Permission{
|
||||
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}},
|
||||
{Action: platform.ReadAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}},
|
||||
func allUsersPermission(orgID influxdb.ID) []influxdb.Permission {
|
||||
return []influxdb.Permission{
|
||||
{Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
|
||||
{Action: influxdb.ReadAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
|
||||
}
|
||||
}
|
||||
|
||||
func createUsersPermission(orgID platform.ID) []platform.Permission {
|
||||
return []platform.Permission{
|
||||
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}},
|
||||
func createUsersPermission(orgID influxdb.ID) []influxdb.Permission {
|
||||
return []influxdb.Permission{
|
||||
{Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
|
||||
}
|
||||
}
|
||||
|
||||
func deleteUsersPermission(orgID platform.ID) []platform.Permission {
|
||||
return []platform.Permission{
|
||||
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}},
|
||||
func deleteUsersPermission(orgID influxdb.ID) []influxdb.Permission {
|
||||
return []influxdb.Permission{
|
||||
{Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package testing
|
|||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
|
@ -266,7 +265,7 @@ func CreateBucket(
|
|||
err: &influxdb.Error{
|
||||
Code: influxdb.EConflict,
|
||||
Op: influxdb.OpCreateBucket,
|
||||
Msg: fmt.Sprintf("bucket with name bucket1 already exists"),
|
||||
Msg: "bucket with name bucket1 already exists",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -434,7 +433,7 @@ func IDUnique(
|
|||
},
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInternal,
|
||||
Msg: fmt.Sprintf("unable to generate valid id"),
|
||||
Msg: "unable to generate valid id",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -474,7 +473,7 @@ func IDUnique(
|
|||
},
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInternal,
|
||||
Msg: fmt.Sprintf("unable to generate valid id"),
|
||||
Msg: "unable to generate valid id",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -3,7 +3,6 @@ package testing
|
|||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"sort"
|
||||
"testing"
|
||||
"time"
|
||||
|
@ -566,7 +565,7 @@ func CreateCheck(
|
|||
err: &influxdb.Error{
|
||||
Code: influxdb.EConflict,
|
||||
Op: influxdb.OpCreateCheck,
|
||||
Msg: fmt.Sprintf("check is not unique"),
|
||||
Msg: "check is not unique",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -2163,6 +2163,7 @@ func influxErrsEqual(t *testing.T, expected *influxdb.Error, actual error) {
|
|||
|
||||
if expected == nil {
|
||||
require.NoError(t, actual)
|
||||
return
|
||||
}
|
||||
iErr, ok := actual.(*influxdb.Error)
|
||||
require.True(t, ok)
|
||||
|
|
|
@ -9,7 +9,6 @@ import (
|
|||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
)
|
||||
|
||||
|
@ -129,7 +128,7 @@ func CreateOrganization(
|
|||
organizations: []*influxdb.Organization{
|
||||
{
|
||||
Name: "name1",
|
||||
ID: platform.ID(mock.FirstMockID),
|
||||
ID: influxdb.ID(mock.FirstMockID),
|
||||
Description: "desc1",
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),
|
||||
|
@ -165,7 +164,7 @@ func CreateOrganization(
|
|||
Name: "organization1",
|
||||
},
|
||||
{
|
||||
ID: platform.ID(mock.FirstMockID),
|
||||
ID: influxdb.ID(mock.FirstMockID),
|
||||
Name: "organization2",
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),
|
||||
|
@ -290,7 +289,7 @@ func CreateOrganization(
|
|||
Name: "organization1",
|
||||
},
|
||||
{
|
||||
ID: platform.ID(mock.FirstMockID),
|
||||
ID: influxdb.ID(mock.FirstMockID),
|
||||
Name: "organization2",
|
||||
CRUDLog: influxdb.CRUDLog{
|
||||
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),
|
||||
|
|
|
@ -10,7 +10,6 @@ import (
|
|||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
)
|
||||
|
||||
|
@ -26,34 +25,34 @@ func sessionCompareOptions(ignore ...string) cmp.Options {
|
|||
cmp.Comparer(func(x, y []byte) bool {
|
||||
return bytes.Equal(x, y)
|
||||
}),
|
||||
cmp.Transformer("Sort", func(in []*platform.Session) []*platform.Session {
|
||||
out := append([]*platform.Session(nil), in...) // Copy input to avoid mutating it
|
||||
cmp.Transformer("Sort", func(in []*influxdb.Session) []*influxdb.Session {
|
||||
out := append([]*influxdb.Session(nil), in...) // Copy input to avoid mutating it
|
||||
sort.Slice(out, func(i, j int) bool {
|
||||
return out[i].ID.String() > out[j].ID.String()
|
||||
})
|
||||
return out
|
||||
}),
|
||||
cmpopts.IgnoreFields(platform.Session{}, ignore...),
|
||||
cmpopts.IgnoreFields(influxdb.Session{}, ignore...),
|
||||
cmpopts.EquateEmpty(),
|
||||
}
|
||||
}
|
||||
|
||||
// SessionFields will include the IDGenerator, TokenGenerator, Sessions, and Users
|
||||
type SessionFields struct {
|
||||
IDGenerator platform.IDGenerator
|
||||
TokenGenerator platform.TokenGenerator
|
||||
Sessions []*platform.Session
|
||||
Users []*platform.User
|
||||
IDGenerator influxdb.IDGenerator
|
||||
TokenGenerator influxdb.TokenGenerator
|
||||
Sessions []*influxdb.Session
|
||||
Users []*influxdb.User
|
||||
}
|
||||
|
||||
type sessionServiceFunc func(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()),
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
|
||||
t *testing.T,
|
||||
)
|
||||
|
||||
// SessionService tests all the service functions.
|
||||
func SessionService(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), t *testing.T,
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()), t *testing.T,
|
||||
) {
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -85,7 +84,7 @@ func SessionService(
|
|||
|
||||
// CreateSession testing
|
||||
func CreateSession(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()),
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
|
@ -93,7 +92,7 @@ func CreateSession(
|
|||
}
|
||||
type wants struct {
|
||||
err error
|
||||
session *platform.Session
|
||||
session *influxdb.Session
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -107,7 +106,7 @@ func CreateSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
Name: "user1",
|
||||
|
@ -118,7 +117,7 @@ func CreateSession(
|
|||
user: "user1",
|
||||
},
|
||||
wants: wants{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionTwoID),
|
||||
UserID: MustIDBase16(sessionOneID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -144,7 +143,7 @@ func CreateSession(
|
|||
|
||||
// FindSession testing
|
||||
func FindSession(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()),
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
|
@ -152,7 +151,7 @@ func FindSession(
|
|||
}
|
||||
type wants struct {
|
||||
err error
|
||||
session *platform.Session
|
||||
session *influxdb.Session
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -166,7 +165,7 @@ func FindSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Sessions: []*platform.Session{
|
||||
Sessions: []*influxdb.Session{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
|
@ -179,7 +178,7 @@ func FindSession(
|
|||
key: "abc123xyz",
|
||||
},
|
||||
wants: wants{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -193,10 +192,10 @@ func FindSession(
|
|||
key: "abc123xyz",
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpFindSession,
|
||||
Msg: platform.ErrSessionNotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpFindSession,
|
||||
Msg: influxdb.ErrSessionNotFound,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -220,7 +219,7 @@ func FindSession(
|
|||
|
||||
// ExpireSession testing
|
||||
func ExpireSession(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()),
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
|
@ -228,7 +227,7 @@ func ExpireSession(
|
|||
}
|
||||
type wants struct {
|
||||
err error
|
||||
session *platform.Session
|
||||
session *influxdb.Session
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -242,7 +241,7 @@ func ExpireSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Sessions: []*platform.Session{
|
||||
Sessions: []*influxdb.Session{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
|
@ -255,7 +254,7 @@ func ExpireSession(
|
|||
key: "abc123xyz",
|
||||
},
|
||||
wants: wants{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -288,18 +287,18 @@ func ExpireSession(
|
|||
|
||||
// RenewSession testing
|
||||
func RenewSession(
|
||||
init func(SessionFields, *testing.T) (platform.SessionService, string, func()),
|
||||
init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
session *platform.Session
|
||||
session *influxdb.Session
|
||||
key string
|
||||
expireAt time.Time
|
||||
}
|
||||
|
||||
type wants struct {
|
||||
err error
|
||||
session *platform.Session
|
||||
session *influxdb.Session
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -313,7 +312,7 @@ func RenewSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Sessions: []*platform.Session{
|
||||
Sessions: []*influxdb.Session{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
|
@ -323,7 +322,7 @@ func RenewSession(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -333,7 +332,7 @@ func RenewSession(
|
|||
expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC),
|
||||
},
|
||||
wants: wants{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -346,7 +345,7 @@ func RenewSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Sessions: []*platform.Session{
|
||||
Sessions: []*influxdb.Session{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
|
@ -356,7 +355,7 @@ func RenewSession(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -366,7 +365,7 @@ func RenewSession(
|
|||
expireAt: time.Date(2030, 9, 26, 0, 0, 0, 0, time.UTC),
|
||||
},
|
||||
wants: wants{
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
@ -379,7 +378,7 @@ func RenewSession(
|
|||
fields: SessionFields{
|
||||
IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
|
||||
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
|
||||
Sessions: []*platform.Session{
|
||||
Sessions: []*influxdb.Session{
|
||||
{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
|
@ -393,12 +392,12 @@ func RenewSession(
|
|||
expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC),
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.EInternal,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EInternal,
|
||||
Msg: "session is nil",
|
||||
Op: platform.OpRenewSession,
|
||||
Op: influxdb.OpRenewSession,
|
||||
},
|
||||
session: &platform.Session{
|
||||
session: &influxdb.Session{
|
||||
ID: MustIDBase16(sessionOneID),
|
||||
UserID: MustIDBase16(sessionTwoID),
|
||||
Key: "abc123xyz",
|
||||
|
|
|
@ -8,7 +8,6 @@ import (
|
|||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
)
|
||||
|
||||
|
@ -31,8 +30,8 @@ var userCmpOptions = cmp.Options{
|
|||
}
|
||||
return x.Name == y.Name && x.OAuthID == y.OAuthID && x.Status == y.Status
|
||||
}),
|
||||
cmp.Transformer("Sort", func(in []*platform.User) []*platform.User {
|
||||
out := append([]*platform.User(nil), in...) // Copy input to avoid mutating it
|
||||
cmp.Transformer("Sort", func(in []*influxdb.User) []*influxdb.User {
|
||||
out := append([]*influxdb.User(nil), in...) // Copy input to avoid mutating it
|
||||
sort.Slice(out, func(i, j int) bool {
|
||||
return out[i].ID.String() > out[j].ID.String()
|
||||
})
|
||||
|
@ -42,17 +41,17 @@ var userCmpOptions = cmp.Options{
|
|||
|
||||
// UserFields will include the IDGenerator, and users
|
||||
type UserFields struct {
|
||||
IDGenerator platform.IDGenerator
|
||||
Users []*platform.User
|
||||
IDGenerator influxdb.IDGenerator
|
||||
Users []*influxdb.User
|
||||
}
|
||||
|
||||
// UserService tests all the service functions.
|
||||
func UserService(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()), t *testing.T,
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()), t *testing.T,
|
||||
) {
|
||||
tests := []struct {
|
||||
name string
|
||||
fn func(init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
fn func(init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T)
|
||||
}{
|
||||
{
|
||||
|
@ -93,15 +92,15 @@ func UserService(
|
|||
|
||||
// CreateUser testing
|
||||
func CreateUser(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
users []*platform.User
|
||||
users []*influxdb.User
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -114,20 +113,20 @@ func CreateUser(
|
|||
name: "create users with empty set",
|
||||
fields: UserFields{
|
||||
IDGenerator: mock.NewIDGenerator(userOneID, t),
|
||||
Users: []*platform.User{},
|
||||
Users: []*influxdb.User{},
|
||||
},
|
||||
args: args{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
Name: "name1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
Name: "name1",
|
||||
ID: MustIDBase16(userOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -136,31 +135,31 @@ func CreateUser(
|
|||
name: "basic create user",
|
||||
fields: UserFields{
|
||||
IDGenerator: mock.NewIDGenerator(userTwoID, t),
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -169,34 +168,34 @@ func CreateUser(
|
|||
name: "names should be unique",
|
||||
fields: UserFields{
|
||||
IDGenerator: &mock.IDGenerator{
|
||||
IDFn: func() platform.ID {
|
||||
IDFn: func() influxdb.ID {
|
||||
return MustIDBase16(userOneID)
|
||||
},
|
||||
},
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
Name: "user1",
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
err: &platform.Error{
|
||||
Code: platform.EConflict,
|
||||
Op: platform.OpCreateUser,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.EConflict,
|
||||
Op: influxdb.OpCreateUser,
|
||||
Msg: "user with name user1 already exists",
|
||||
},
|
||||
},
|
||||
|
@ -216,7 +215,7 @@ func CreateUser(
|
|||
defer s.DeleteUser(ctx, tt.args.user.ID)
|
||||
}
|
||||
|
||||
users, _, err := s.FindUsers(ctx, platform.UserFilter{})
|
||||
users, _, err := s.FindUsers(ctx, influxdb.UserFilter{})
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve users: %v", err)
|
||||
}
|
||||
|
@ -229,15 +228,15 @@ func CreateUser(
|
|||
|
||||
// FindUserByID testing
|
||||
func FindUserByID(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
id platform.ID
|
||||
id influxdb.ID
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -249,16 +248,16 @@ func FindUserByID(
|
|||
{
|
||||
name: "basic find user by id",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -266,26 +265,26 @@ func FindUserByID(
|
|||
id: MustIDBase16(userTwoID),
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "find user by id not exists",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -293,9 +292,9 @@ func FindUserByID(
|
|||
id: MustIDBase16(threeID),
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpFindUserByID,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpFindUserByID,
|
||||
Msg: "user not found",
|
||||
},
|
||||
},
|
||||
|
@ -320,16 +319,16 @@ func FindUserByID(
|
|||
|
||||
// FindUsers testing
|
||||
func FindUsers(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
ID platform.ID
|
||||
ID influxdb.ID
|
||||
name string
|
||||
}
|
||||
|
||||
type wants struct {
|
||||
users []*platform.User
|
||||
users []*influxdb.User
|
||||
err error
|
||||
}
|
||||
tests := []struct {
|
||||
|
@ -341,31 +340,31 @@ func FindUsers(
|
|||
{
|
||||
name: "find all users",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -373,16 +372,16 @@ func FindUsers(
|
|||
{
|
||||
name: "find user by id",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -390,11 +389,11 @@ func FindUsers(
|
|||
ID: MustIDBase16(userTwoID),
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -402,16 +401,16 @@ func FindUsers(
|
|||
{
|
||||
name: "find user by name",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -419,11 +418,11 @@ func FindUsers(
|
|||
name: "xyz",
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -431,7 +430,7 @@ func FindUsers(
|
|||
{
|
||||
name: "find user by id not exists",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
|
@ -446,9 +445,9 @@ func FindUsers(
|
|||
ID: MustIDBase16(threeID),
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpFindUsers,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpFindUsers,
|
||||
Msg: "user not found",
|
||||
},
|
||||
},
|
||||
|
@ -456,7 +455,7 @@ func FindUsers(
|
|||
{
|
||||
name: "find user by name not exists",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
|
@ -471,9 +470,9 @@ func FindUsers(
|
|||
name: "no_exist",
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpFindUsers,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpFindUsers,
|
||||
Msg: "user not found",
|
||||
},
|
||||
},
|
||||
|
@ -486,7 +485,7 @@ func FindUsers(
|
|||
defer done()
|
||||
ctx := context.Background()
|
||||
|
||||
filter := platform.UserFilter{}
|
||||
filter := influxdb.UserFilter{}
|
||||
if tt.args.ID.Valid() {
|
||||
filter.ID = &tt.args.ID
|
||||
}
|
||||
|
@ -506,15 +505,15 @@ func FindUsers(
|
|||
|
||||
// DeleteUser testing
|
||||
func DeleteUser(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
ID platform.ID
|
||||
ID influxdb.ID
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
users []*platform.User
|
||||
users []*influxdb.User
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -526,16 +525,16 @@ func DeleteUser(
|
|||
{
|
||||
name: "delete users using exist id",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "orgA",
|
||||
ID: MustIDBase16(userOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
Name: "orgB",
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -543,11 +542,11 @@ func DeleteUser(
|
|||
ID: MustIDBase16(userOneID),
|
||||
},
|
||||
wants: wants{
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
Name: "orgB",
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -555,16 +554,16 @@ func DeleteUser(
|
|||
{
|
||||
name: "delete users using id that does not exist",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
Name: "orgA",
|
||||
ID: MustIDBase16(userOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
Name: "orgB",
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -572,21 +571,21 @@ func DeleteUser(
|
|||
ID: MustIDBase16(userThreeID),
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpDeleteUser,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpDeleteUser,
|
||||
Msg: "user not found",
|
||||
},
|
||||
users: []*platform.User{
|
||||
users: []*influxdb.User{
|
||||
{
|
||||
Name: "orgA",
|
||||
ID: MustIDBase16(userOneID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
Name: "orgB",
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -601,7 +600,7 @@ func DeleteUser(
|
|||
err := s.DeleteUser(ctx, tt.args.ID)
|
||||
diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t)
|
||||
|
||||
filter := platform.UserFilter{}
|
||||
filter := influxdb.UserFilter{}
|
||||
users, _, err := s.FindUsers(ctx, filter)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to retrieve users: %v", err)
|
||||
|
@ -615,15 +614,15 @@ func DeleteUser(
|
|||
|
||||
// FindUser testing
|
||||
func FindUser(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
filter platform.UserFilter
|
||||
filter influxdb.UserFilter
|
||||
}
|
||||
|
||||
type wants struct {
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
err error
|
||||
}
|
||||
|
||||
|
@ -636,131 +635,131 @@ func FindUser(
|
|||
{
|
||||
name: "find user by name",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
filter: influxdb.UserFilter{
|
||||
Name: func(s string) *string { return &s }("abc"),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "find existing user by its id",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)),
|
||||
filter: influxdb.UserFilter{
|
||||
ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "user with name does not exist",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{},
|
||||
Users: []*influxdb.User{},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
filter: influxdb.UserFilter{
|
||||
Name: func(s string) *string { return &s }("abc"),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "user not found",
|
||||
Op: platform.OpFindUser,
|
||||
Op: influxdb.OpFindUser,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "user with id does not exist",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{},
|
||||
Users: []*influxdb.User{},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)),
|
||||
filter: influxdb.UserFilter{
|
||||
ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "user not found",
|
||||
Op: platform.OpFindUser,
|
||||
Op: influxdb.OpFindUser,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "filter with both name and ID prefers ID",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)),
|
||||
filter: influxdb.UserFilter{
|
||||
ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
|
||||
Name: func(s string) *string { return &s }("xyz"),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "abc",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "filter with no name nor id returns error",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
|
@ -768,20 +767,20 @@ func FindUser(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{},
|
||||
filter: influxdb.UserFilter{},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "user not found",
|
||||
Op: platform.OpFindUser,
|
||||
Op: influxdb.OpFindUser,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "filter both name and non-existent id returns no user",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "xyz",
|
||||
|
@ -789,16 +788,16 @@ func FindUser(
|
|||
},
|
||||
},
|
||||
args: args{
|
||||
filter: platform.UserFilter{
|
||||
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)),
|
||||
filter: influxdb.UserFilter{
|
||||
ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
|
||||
Name: func(s string) *string { return &s }("xyz"),
|
||||
},
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Msg: "user not found",
|
||||
Op: platform.OpFindUser,
|
||||
Op: influxdb.OpFindUser,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -821,17 +820,17 @@ func FindUser(
|
|||
|
||||
// UpdateUser testing
|
||||
func UpdateUser(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
type args struct {
|
||||
name string
|
||||
id platform.ID
|
||||
id influxdb.ID
|
||||
status string
|
||||
}
|
||||
type wants struct {
|
||||
err error
|
||||
user *platform.User
|
||||
user *influxdb.User
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
|
@ -843,16 +842,16 @@ func UpdateUser(
|
|||
{
|
||||
name: "update name",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -861,26 +860,26 @@ func UpdateUser(
|
|||
name: "changed",
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "changed",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "update name to same name",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -889,26 +888,26 @@ func UpdateUser(
|
|||
name: "user1",
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "update status",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
{
|
||||
ID: MustIDBase16(userTwoID),
|
||||
Name: "user2",
|
||||
Status: platform.Active,
|
||||
Status: influxdb.Active,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -917,7 +916,7 @@ func UpdateUser(
|
|||
status: "inactive",
|
||||
},
|
||||
wants: wants{
|
||||
user: &platform.User{
|
||||
user: &influxdb.User{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
Status: "inactive",
|
||||
|
@ -927,7 +926,7 @@ func UpdateUser(
|
|||
{
|
||||
name: "update name with id not exists",
|
||||
fields: UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: "user1",
|
||||
|
@ -943,9 +942,9 @@ func UpdateUser(
|
|||
name: "changed",
|
||||
},
|
||||
wants: wants{
|
||||
err: &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpUpdateUser,
|
||||
err: &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpUpdateUser,
|
||||
Msg: "user not found",
|
||||
},
|
||||
},
|
||||
|
@ -958,17 +957,17 @@ func UpdateUser(
|
|||
defer done()
|
||||
ctx := context.Background()
|
||||
|
||||
upd := platform.UserUpdate{}
|
||||
upd := influxdb.UserUpdate{}
|
||||
if tt.args.name != "" {
|
||||
upd.Name = &tt.args.name
|
||||
}
|
||||
|
||||
switch tt.args.status {
|
||||
case "inactive":
|
||||
status := platform.Inactive
|
||||
status := influxdb.Inactive
|
||||
upd.Status = &status
|
||||
case "active":
|
||||
status := platform.Inactive
|
||||
status := influxdb.Inactive
|
||||
upd.Status = &status
|
||||
}
|
||||
|
||||
|
@ -983,13 +982,13 @@ func UpdateUser(
|
|||
}
|
||||
|
||||
func UpdateUser_IndexHygiene(
|
||||
init func(UserFields, *testing.T) (platform.UserService, string, func()),
|
||||
init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
|
||||
t *testing.T,
|
||||
) {
|
||||
|
||||
oldUserName := "user1"
|
||||
users := UserFields{
|
||||
Users: []*platform.User{
|
||||
Users: []*influxdb.User{
|
||||
{
|
||||
ID: MustIDBase16(userOneID),
|
||||
Name: oldUserName,
|
||||
|
@ -1001,7 +1000,7 @@ func UpdateUser_IndexHygiene(
|
|||
defer done()
|
||||
|
||||
newUserName := "user1Updated"
|
||||
upd := platform.UserUpdate{
|
||||
upd := influxdb.UserUpdate{
|
||||
Name: &newUserName,
|
||||
}
|
||||
|
||||
|
@ -1012,7 +1011,7 @@ func UpdateUser_IndexHygiene(
|
|||
}
|
||||
|
||||
// Ensure we can find the user with the new name.
|
||||
_, nerr := s.FindUser(ctx, platform.UserFilter{
|
||||
_, nerr := s.FindUser(ctx, influxdb.UserFilter{
|
||||
Name: &newUserName,
|
||||
})
|
||||
if nerr != nil {
|
||||
|
@ -1022,12 +1021,12 @@ func UpdateUser_IndexHygiene(
|
|||
// Ensure we cannot find a user with the old name. The index used when
|
||||
// searching by name should have been cleared out by the UpdateUser
|
||||
// operation.
|
||||
_, oerr := s.FindUser(ctx, platform.UserFilter{
|
||||
_, oerr := s.FindUser(ctx, influxdb.UserFilter{
|
||||
Name: &oldUserName,
|
||||
})
|
||||
ErrorsEqual(t, oerr, &platform.Error{
|
||||
Code: platform.ENotFound,
|
||||
Op: platform.OpFindUser,
|
||||
ErrorsEqual(t, oerr, &influxdb.Error{
|
||||
Code: influxdb.ENotFound,
|
||||
Op: influxdb.OpFindUser,
|
||||
Msg: "user not found",
|
||||
})
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
|
|||
lookup := NewSeriesID(300032)
|
||||
|
||||
// Add the same value over and over.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_add"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_add", func(b *testing.B) {
|
||||
b.Run("same", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
set.Add(lookup)
|
||||
|
@ -299,7 +299,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
|
|||
})
|
||||
|
||||
// Add the same value over and over with no lock
|
||||
b.Run(fmt.Sprint("cardinality_1000000_check_add"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_check_add", func(b *testing.B) {
|
||||
b.Run("same no lock", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
if !set.ContainsNoLock(lookup) {
|
||||
|
@ -586,7 +586,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
|
|||
lookup := uint64(300032)
|
||||
|
||||
// Remove the same value over and over.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_remove_same"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_remove_same", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
set.Remove(NewSeriesID(lookup))
|
||||
}
|
||||
|
@ -594,7 +594,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
|
|||
|
||||
// Check if the value exists before adding it. Subsequent repeats of the code
|
||||
// will result in contains checks.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_check_remove_global_lock"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_check_remove_global_lock", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
set.Lock()
|
||||
if set.ContainsNoLock(NewSeriesID(lookup)) {
|
||||
|
@ -605,7 +605,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
|
|||
})
|
||||
|
||||
// Check if the value exists before adding it under two locks.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_check_remove_multi_lock"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_check_remove_multi_lock", func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
if set.Contains(NewSeriesID(lookup)) {
|
||||
set.Remove(NewSeriesID(lookup))
|
||||
|
@ -624,7 +624,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
|
|||
}
|
||||
|
||||
// Remove one at a time
|
||||
b.Run(fmt.Sprint("cardinality_1000000_remove_each"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_remove_each", func(b *testing.B) {
|
||||
clone := set.Clone()
|
||||
for i := 0; i < b.N; i++ {
|
||||
for j := uint64(0); j < size/2; j++ {
|
||||
|
@ -638,7 +638,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
|
|||
})
|
||||
|
||||
// This is the case where a target series id set exists.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_remove_set_exists"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_remove_set_exists", func(b *testing.B) {
|
||||
clone := set.Clone()
|
||||
other := NewSeriesIDSet()
|
||||
for j := uint64(0); j < size/2; j++ {
|
||||
|
@ -654,7 +654,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
|
|||
})
|
||||
|
||||
// Make a target series id set and negate it
|
||||
b.Run(fmt.Sprint("cardinality_1000000_remove_set"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_remove_set", func(b *testing.B) {
|
||||
clone := set.Clone()
|
||||
for i := 0; i < b.N; i++ {
|
||||
other := NewSeriesIDSet()
|
||||
|
@ -670,7 +670,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
|
|||
})
|
||||
|
||||
// This is the case where a new result set is created.
|
||||
b.Run(fmt.Sprint("cardinality_1000000_remove_set_new"), func(b *testing.B) {
|
||||
b.Run("cardinality_1000000_remove_set_new", func(b *testing.B) {
|
||||
clone := set.Clone()
|
||||
other := NewSeriesIDSet()
|
||||
for j := uint64(0); j < size/2; j++ {
|
||||
|
|
|
@ -906,7 +906,7 @@ func (c *SeriesPartitionCompactor) insertKeyIDMap(dst []byte, capacity int64, se
|
|||
binary.BigEndian.PutUint64(elem[SeriesOffsetSize:], id.RawID())
|
||||
|
||||
// Swap with values in that position.
|
||||
hash, key, offset, id = elemHash, elemKey, elemOffset, elemID
|
||||
offset, id = elemOffset, elemID
|
||||
|
||||
// Update current distance.
|
||||
dist = d
|
||||
|
@ -943,7 +943,7 @@ func (c *SeriesPartitionCompactor) insertIDOffsetMap(dst []byte, capacity int64,
|
|||
binary.BigEndian.PutUint64(elem[SeriesIDSize:], uint64(offset))
|
||||
|
||||
// Swap with values in that position.
|
||||
hash, id, offset = elemHash, elemID, elemOffset
|
||||
id, offset = elemID, elemOffset
|
||||
|
||||
// Update current distance.
|
||||
dist = d
|
||||
|
|
|
@ -431,6 +431,7 @@ func TestIndex_MeasurementCardinalityStats(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("LargeWithDelete", func(t *testing.T) {
|
||||
t.Skip("https://github.com/influxdata/influxdb/issues/15220")
|
||||
if testing.Short() {
|
||||
t.Skip("short mode, skipping")
|
||||
}
|
||||
|
|
|
@ -1054,6 +1054,7 @@ func (f *LogFile) writeMeasurementBlockTo(w io.Writer, names []string, info *log
|
|||
mm := f.mms[name]
|
||||
mmInfo := info.mms[name]
|
||||
assert(mmInfo != nil, "measurement info not found")
|
||||
//lint:ignore SA5011 mmInfo is flagged as being possibly nil because of the assertion
|
||||
mw.Add(mm.name, mm.deleted, mmInfo.offset, mmInfo.size, mm.seriesIDs())
|
||||
}
|
||||
|
||||
|
|
|
@ -4,17 +4,16 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
platformtesting "github.com/influxdata/influxdb/v2/testing"
|
||||
influxdbtesting "github.com/influxdata/influxdb/v2/testing"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestOwnerMappingValidate(t *testing.T) {
|
||||
type fields struct {
|
||||
ResourceID platform.ID
|
||||
ResourceType platform.ResourceType
|
||||
UserID platform.ID
|
||||
UserType platform.UserType
|
||||
ResourceID influxdb.ID
|
||||
ResourceType influxdb.ResourceType
|
||||
UserID influxdb.ID
|
||||
UserType influxdb.UserType
|
||||
}
|
||||
tests := []struct {
|
||||
name string
|
||||
|
@ -24,64 +23,64 @@ func TestOwnerMappingValidate(t *testing.T) {
|
|||
{
|
||||
name: "valid mapping",
|
||||
fields: fields{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceType: platform.DashboardsResourceType,
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: influxdb.DashboardsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "mapping requires a resourceid",
|
||||
fields: fields{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceType: platform.DashboardsResourceType,
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: influxdb.DashboardsResourceType,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "mapping requires a userid",
|
||||
fields: fields{
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserType: platform.Owner,
|
||||
ResourceType: platform.DashboardsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: influxdb.DashboardsResourceType,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "mapping requires a usertype",
|
||||
fields: fields{
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
ResourceType: platform.DashboardsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
ResourceType: influxdb.DashboardsResourceType,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "mapping requires a resourcetype",
|
||||
fields: fields{
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "the usertype provided must be valid",
|
||||
fields: fields{
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: "foo",
|
||||
ResourceType: platform.DashboardsResourceType,
|
||||
ResourceType: influxdb.DashboardsResourceType,
|
||||
},
|
||||
wantErr: true,
|
||||
},
|
||||
{
|
||||
name: "the resourcetype provided must be valid",
|
||||
fields: fields{
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: "foo",
|
||||
},
|
||||
wantErr: true,
|
||||
|
@ -89,7 +88,7 @@ func TestOwnerMappingValidate(t *testing.T) {
|
|||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
m := platform.UserResourceMapping{
|
||||
m := influxdb.UserResourceMapping{
|
||||
ResourceID: tt.fields.ResourceID,
|
||||
ResourceType: tt.fields.ResourceType,
|
||||
UserID: tt.fields.UserID,
|
||||
|
@ -104,24 +103,24 @@ func TestOwnerMappingValidate(t *testing.T) {
|
|||
|
||||
func TestOwnerMappingToPermissions(t *testing.T) {
|
||||
type wants struct {
|
||||
perms platform.Permission
|
||||
perms influxdb.Permission
|
||||
err bool
|
||||
}
|
||||
|
||||
ResourceID, _ := platform.IDFromString("020f755c3c082000")
|
||||
ResourceID, _ := influxdb.IDFromString("020f755c3c082000")
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
urm platform.UserResourceMapping
|
||||
urm influxdb.UserResourceMapping
|
||||
wants wants
|
||||
}{
|
||||
{
|
||||
name: "Org Member Has Permission To Read Org",
|
||||
urm: platform.UserResourceMapping{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Member,
|
||||
ResourceType: platform.OrgsResourceType,
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
urm: influxdb.UserResourceMapping{
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Member,
|
||||
ResourceType: influxdb.OrgsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
},
|
||||
wants: wants{
|
||||
err: false,
|
||||
|
@ -129,11 +128,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "Org Owner Has Permission To Write Org",
|
||||
urm: platform.UserResourceMapping{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceType: platform.OrgsResourceType,
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
urm: influxdb.UserResourceMapping{
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: influxdb.OrgsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
},
|
||||
wants: wants{
|
||||
err: false,
|
||||
|
@ -141,11 +140,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "Org Owner Has Permission To Read Org",
|
||||
urm: platform.UserResourceMapping{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Owner,
|
||||
ResourceType: platform.OrgsResourceType,
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
urm: influxdb.UserResourceMapping{
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Owner,
|
||||
ResourceType: influxdb.OrgsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
},
|
||||
wants: wants{
|
||||
err: false,
|
||||
|
@ -153,11 +152,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
|
|||
},
|
||||
{
|
||||
name: "Bucket Member User Has Permission To Read Bucket",
|
||||
urm: platform.UserResourceMapping{
|
||||
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: platform.Member,
|
||||
ResourceType: platform.BucketsResourceType,
|
||||
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"),
|
||||
urm: influxdb.UserResourceMapping{
|
||||
UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
|
||||
UserType: influxdb.Member,
|
||||
ResourceType: influxdb.BucketsResourceType,
|
||||
ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
|
||||
},
|
||||
wants: wants{
|
||||
err: false,
|
||||
|
|
Loading…
Reference in New Issue