chore: update staticcheck and fix newly identified lint checks (#18737)

pull/18570/head
Jonathan A. Sternberg 2020-06-26 18:54:09 -05:00 committed by GitHub
parent 7cbaebf7b7
commit 5aeca082c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 713 additions and 720 deletions

View File

@ -36,7 +36,7 @@ var (
// with a token that already exists // with a token that already exists
ErrTokenAlreadyExistsError = &influxdb.Error{ ErrTokenAlreadyExistsError = &influxdb.Error{
Code: influxdb.EConflict, Code: influxdb.EConflict,
Msg: fmt.Sprintf("token already exists"), Msg: "token already exists",
} }
) )

View File

@ -163,17 +163,12 @@ func (c *Client) Collect(ch chan<- prometheus.Metric) {
for _, v := range rawPlugins { for _, v := range rawPlugins {
pStats := map[string]float64{} pStats := map[string]float64{}
err := json.Unmarshal(v, &pStats) if err := json.Unmarshal(v, &pStats); err != nil {
if err != nil {
return err return err
} }
for k, v := range pStats { for k, v := range pStats {
if _, ok := telegrafPlugins[k]; ok { telegrafPlugins[k] += v
telegrafPlugins[k] += v
} else {
telegrafPlugins[k] = v
}
} }
} }

View File

@ -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"` 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"` 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"` 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"` ShowVersion bool `short:"v" long:"version" description:"Show Chronograf version info"`
BuildInfo chronograf.BuildInfo BuildInfo chronograf.BuildInfo

View File

@ -9,7 +9,6 @@ import (
"testing" "testing"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -43,7 +42,7 @@ func TestCmdUser(t *testing.T) {
}, },
passSVC: passSVC, passSVC: passSVC,
urmSVC: &mock.UserResourceMappingService{ urmSVC: &mock.UserResourceMappingService{
CreateMappingFn: func(context.Context, *platform.UserResourceMapping) error { CreateMappingFn: func(context.Context, *influxdb.UserResourceMapping) error {
return nil return nil
}, },
}, },

View File

@ -128,6 +128,7 @@ func getMemoryUnused(t *testing.T, reg *prom.Registry) int64 {
return 0 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) { func checkMemoryUsed(t *testing.T, l *launcher.TestLauncher, concurrency, initial int) {
t.Helper() t.Helper()

4
go.mod
View File

@ -36,7 +36,7 @@ require (
github.com/golang/protobuf v1.3.3 github.com/golang/protobuf v1.3.3
github.com/golang/snappy v0.0.1 github.com/golang/snappy v0.0.1
github.com/google/btree v1.0.0 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-github v17.0.0+incompatible
github.com/google/go-jsonnet v0.14.0 github.com/google/go-jsonnet v0.14.0
github.com/goreleaser/goreleaser v0.135.0 github.com/goreleaser/goreleaser v0.135.0
@ -103,7 +103,7 @@ require (
google.golang.org/grpc v1.27.1 google.golang.org/grpc v1.27.1
gopkg.in/vmihailenco/msgpack.v2 v2.9.1 // indirect gopkg.in/vmihailenco/msgpack.v2 v2.9.1 // indirect
gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71 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 istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf
labix.org/v2/mgo v0.0.0-20140701140051-000000000287 // indirect labix.org/v2/mgo v0.0.0-20140701140051-000000000287 // indirect
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect

7
go.sum
View File

@ -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.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 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= 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 h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= 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= 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-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-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-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-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-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/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-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.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/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-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8=
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/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
istio.io/api v0.0.0-20190515205759-982e5c3888c6/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo= 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 h1:iNpiPvg8fcQxebYPrd9Dhjvqd+SIF7OFH+1qp89/nHQ=
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf/go.mod h1:EwvmercDF5DLCg5qUQlkM40xHwCxGoY1H/2LhI1p2YU= istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf/go.mod h1:EwvmercDF5DLCg5qUQlkM40xHwCxGoY1H/2LhI1p2YU=

View File

@ -10,7 +10,6 @@ import (
"github.com/influxdata/httprouter" "github.com/influxdata/httprouter"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
platcontext "github.com/influxdata/influxdb/v2/context" platcontext "github.com/influxdata/influxdb/v2/context"
"github.com/influxdata/influxdb/v2/pkg/httpc" "github.com/influxdata/influxdb/v2/pkg/httpc"
"go.uber.org/zap" "go.uber.org/zap"
@ -21,13 +20,13 @@ const prefixAuthorization = "/api/v2/authorizations"
// AuthorizationBackend is all services and associated parameters required to construct // AuthorizationBackend is all services and associated parameters required to construct
// the AuthorizationHandler. // the AuthorizationHandler.
type AuthorizationBackend struct { type AuthorizationBackend struct {
platform.HTTPErrorHandler influxdb.HTTPErrorHandler
log *zap.Logger log *zap.Logger
AuthorizationService platform.AuthorizationService AuthorizationService influxdb.AuthorizationService
OrganizationService platform.OrganizationService OrganizationService influxdb.OrganizationService
UserService platform.UserService UserService influxdb.UserService
LookupService platform.LookupService LookupService influxdb.LookupService
} }
// NewAuthorizationBackend returns a new instance of AuthorizationBackend. // 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. // AuthorizationHandler represents an HTTP API handler for authorizations.
type AuthorizationHandler struct { type AuthorizationHandler struct {
*httprouter.Router *httprouter.Router
platform.HTTPErrorHandler influxdb.HTTPErrorHandler
log *zap.Logger log *zap.Logger
OrganizationService platform.OrganizationService OrganizationService influxdb.OrganizationService
UserService platform.UserService UserService influxdb.UserService
AuthorizationService platform.AuthorizationService AuthorizationService influxdb.AuthorizationService
LookupService platform.LookupService LookupService influxdb.LookupService
} }
// NewAuthorizationHandler returns a new instance of AuthorizationHandler. // NewAuthorizationHandler returns a new instance of AuthorizationHandler.
@ -77,13 +76,13 @@ func NewAuthorizationHandler(log *zap.Logger, b *AuthorizationBackend) *Authoriz
} }
type authResponse struct { type authResponse struct {
ID platform.ID `json:"id"` ID influxdb.ID `json:"id"`
Token string `json:"token"` Token string `json:"token"`
Status platform.Status `json:"status"` Status influxdb.Status `json:"status"`
Description string `json:"description"` Description string `json:"description"`
OrgID platform.ID `json:"orgID"` OrgID influxdb.ID `json:"orgID"`
Org string `json:"org"` Org string `json:"org"`
UserID platform.ID `json:"userID"` UserID influxdb.ID `json:"userID"`
User string `json:"user"` User string `json:"user"`
Permissions []permissionResponse `json:"permissions"` Permissions []permissionResponse `json:"permissions"`
Links map[string]string `json:"links"` Links map[string]string `json:"links"`
@ -91,7 +90,7 @@ type authResponse struct {
UpdatedAt time.Time `json:"updatedAt"` 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{ res := &authResponse{
ID: a.ID, ID: a.ID,
Token: a.Token, Token: a.Token,
@ -112,37 +111,37 @@ func newAuthResponse(a *platform.Authorization, org *platform.Organization, user
return res return res
} }
func (a *authResponse) toPlatform() *platform.Authorization { func (a *authResponse) toPlatform() *influxdb.Authorization {
res := &platform.Authorization{ res := &influxdb.Authorization{
ID: a.ID, ID: a.ID,
Token: a.Token, Token: a.Token,
Status: a.Status, Status: a.Status,
Description: a.Description, Description: a.Description,
OrgID: a.OrgID, OrgID: a.OrgID,
UserID: a.UserID, UserID: a.UserID,
CRUDLog: platform.CRUDLog{ CRUDLog: influxdb.CRUDLog{
CreatedAt: a.CreatedAt, CreatedAt: a.CreatedAt,
UpdatedAt: a.UpdatedAt, UpdatedAt: a.UpdatedAt,
}, },
} }
for _, p := range a.Permissions { 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 return res
} }
type permissionResponse struct { type permissionResponse struct {
Action platform.Action `json:"action"` Action influxdb.Action `json:"action"`
Resource resourceResponse `json:"resource"` Resource resourceResponse `json:"resource"`
} }
type resourceResponse struct { type resourceResponse struct {
platform.Resource influxdb.Resource
Name string `json:"name,omitempty"` Name string `json:"name,omitempty"`
Organization string `json:"org,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)) res := make([]permissionResponse, len(ps))
for i, p := range ps { for i, p := range ps {
res[i] = permissionResponse{ res[i] = permissionResponse{
@ -154,7 +153,7 @@ func newPermissionsResponse(ctx context.Context, ps []platform.Permission, svc p
if p.Resource.ID != nil { if p.Resource.ID != nil {
name, err := svc.Name(ctx, p.Resource.Type, *p.Resource.ID) name, err := svc.Name(ctx, p.Resource.Type, *p.Resource.ID)
if platform.ErrorCode(err) == platform.ENotFound { if influxdb.ErrorCode(err) == influxdb.ENotFound {
continue continue
} }
if err != nil { if err != nil {
@ -164,8 +163,8 @@ func newPermissionsResponse(ctx context.Context, ps []platform.Permission, svc p
} }
if p.Resource.OrgID != nil { if p.Resource.OrgID != nil {
name, err := svc.Name(ctx, platform.OrgsResourceType, *p.Resource.OrgID) name, err := svc.Name(ctx, influxdb.OrgsResourceType, *p.Resource.OrgID)
if platform.ErrorCode(err) == platform.ENotFound { if influxdb.ErrorCode(err) == influxdb.ENotFound {
continue continue
} }
if err != nil { if err != nil {
@ -204,7 +203,7 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
user, err := getAuthorizedUser(r, h.UserService) user, err := getAuthorizedUser(r, h.UserService)
if err != nil { if err != nil {
h.HandleHTTPError(ctx, platform.ErrUnableToCreateToken, w) h.HandleHTTPError(ctx, influxdb.ErrUnableToCreateToken, w)
return return
} }
@ -217,7 +216,7 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
org, err := h.OrganizationService.FindOrganizationByID(ctx, auth.OrgID) org, err := h.OrganizationService.FindOrganizationByID(ctx, auth.OrgID)
if err != nil { if err != nil {
h.HandleHTTPError(ctx, platform.ErrUnableToCreateToken, w) h.HandleHTTPError(ctx, influxdb.ErrUnableToCreateToken, w)
return return
} }
@ -241,15 +240,15 @@ func (h *AuthorizationHandler) handlePostAuthorization(w http.ResponseWriter, r
} }
type postAuthorizationRequest struct { type postAuthorizationRequest struct {
Status platform.Status `json:"status"` Status influxdb.Status `json:"status"`
OrgID platform.ID `json:"orgID"` OrgID influxdb.ID `json:"orgID"`
UserID *platform.ID `json:"userID,omitempty"` UserID *influxdb.ID `json:"userID,omitempty"`
Description string `json:"description"` Description string `json:"description"`
Permissions []platform.Permission `json:"permissions"` Permissions []influxdb.Permission `json:"permissions"`
} }
func (p *postAuthorizationRequest) toPlatform(userID platform.ID) *platform.Authorization { func (p *postAuthorizationRequest) toPlatform(userID influxdb.ID) *influxdb.Authorization {
return &platform.Authorization{ return &influxdb.Authorization{
OrgID: p.OrgID, OrgID: p.OrgID,
Status: p.Status, Status: p.Status,
Description: p.Description, 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{ res := &postAuthorizationRequest{
OrgID: a.OrgID, OrgID: a.OrgID,
Description: a.Description, Description: a.Description,
@ -277,36 +276,36 @@ func newPostAuthorizationRequest(a *platform.Authorization) (*postAuthorizationR
func (p *postAuthorizationRequest) SetDefaults() { func (p *postAuthorizationRequest) SetDefaults() {
if p.Status == "" { if p.Status == "" {
p.Status = platform.Active p.Status = influxdb.Active
} }
} }
func (p *postAuthorizationRequest) Validate() error { func (p *postAuthorizationRequest) Validate() error {
if len(p.Permissions) == 0 { if len(p.Permissions) == 0 {
return &platform.Error{ return &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "authorization must include permissions", Msg: "authorization must include permissions",
} }
} }
for _, perm := range p.Permissions { for _, perm := range p.Permissions {
if err := perm.Valid(); err != nil { if err := perm.Valid(); err != nil {
return &platform.Error{ return &influxdb.Error{
Err: err, Err: err,
} }
} }
} }
if !p.OrgID.Valid() { if !p.OrgID.Valid() {
return &platform.Error{ return &influxdb.Error{
Err: platform.ErrInvalidID, Err: influxdb.ErrInvalidID,
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "org id required", Msg: "org id required",
} }
} }
if p.Status == "" { if p.Status == "" {
p.Status = platform.Active p.Status = influxdb.Active
} }
err := p.Status.Valid() err := p.Status.Valid()
@ -320,8 +319,8 @@ func (p *postAuthorizationRequest) Validate() error {
func decodePostAuthorizationRequest(ctx context.Context, r *http.Request) (*postAuthorizationRequest, error) { func decodePostAuthorizationRequest(ctx context.Context, r *http.Request) (*postAuthorizationRequest, error) {
a := &postAuthorizationRequest{} a := &postAuthorizationRequest{}
if err := json.NewDecoder(r.Body).Decode(a); err != nil { if err := json.NewDecoder(r.Body).Decode(a); err != nil {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "invalid json structure", Msg: "invalid json structure",
Err: err, Err: err,
} }
@ -342,7 +341,7 @@ func (h *AuthorizationHandler) handleGetAuthorizations(w http.ResponseWriter, r
return return
} }
opts := platform.FindOptions{} opts := influxdb.FindOptions{}
as, _, err := h.AuthorizationService.FindAuthorizations(ctx, req.filter, opts) as, _, err := h.AuthorizationService.FindAuthorizations(ctx, req.filter, opts)
if err != nil { if err != nil {
h.HandleHTTPError(ctx, err, w) h.HandleHTTPError(ctx, err, w)
@ -381,7 +380,7 @@ func (h *AuthorizationHandler) handleGetAuthorizations(w http.ResponseWriter, r
} }
type getAuthorizationsRequest struct { type getAuthorizationsRequest struct {
filter platform.AuthorizationFilter filter influxdb.AuthorizationFilter
} }
func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getAuthorizationsRequest, error) { 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") userID := qp.Get("userID")
if userID != "" { if userID != "" {
id, err := platform.IDFromString(userID) id, err := influxdb.IDFromString(userID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -405,7 +404,7 @@ func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getA
orgID := qp.Get("orgID") orgID := qp.Get("orgID")
if orgID != "" { if orgID != "" {
id, err := platform.IDFromString(orgID) id, err := influxdb.IDFromString(orgID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -419,7 +418,7 @@ func decodeGetAuthorizationsRequest(ctx context.Context, r *http.Request) (*getA
authID := qp.Get("id") authID := qp.Get("id")
if authID != "" { if authID != "" {
id, err := platform.IDFromString(authID) id, err := influxdb.IDFromString(authID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -473,20 +472,20 @@ func (h *AuthorizationHandler) handleGetAuthorization(w http.ResponseWriter, r *
} }
type getAuthorizationRequest struct { type getAuthorizationRequest struct {
ID platform.ID ID influxdb.ID
} }
func decodeGetAuthorizationRequest(ctx context.Context, r *http.Request) (*getAuthorizationRequest, error) { func decodeGetAuthorizationRequest(ctx context.Context, r *http.Request) (*getAuthorizationRequest, error) {
params := httprouter.ParamsFromContext(ctx) params := httprouter.ParamsFromContext(ctx)
id := params.ByName("id") id := params.ByName("id")
if id == "" { if id == "" {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "url missing id", Msg: "url missing id",
} }
} }
var i platform.ID var i influxdb.ID
if err := i.DecodeFromString(id); err != nil { if err := i.DecodeFromString(id); err != nil {
return nil, err return nil, err
} }
@ -544,26 +543,26 @@ func (h *AuthorizationHandler) handleUpdateAuthorization(w http.ResponseWriter,
} }
type updateAuthorizationRequest struct { type updateAuthorizationRequest struct {
ID platform.ID ID influxdb.ID
*platform.AuthorizationUpdate *influxdb.AuthorizationUpdate
} }
func decodeUpdateAuthorizationRequest(ctx context.Context, r *http.Request) (*updateAuthorizationRequest, error) { func decodeUpdateAuthorizationRequest(ctx context.Context, r *http.Request) (*updateAuthorizationRequest, error) {
params := httprouter.ParamsFromContext(ctx) params := httprouter.ParamsFromContext(ctx)
id := params.ByName("id") id := params.ByName("id")
if id == "" { if id == "" {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "url missing id", Msg: "url missing id",
} }
} }
var i platform.ID var i influxdb.ID
if err := i.DecodeFromString(id); err != nil { if err := i.DecodeFromString(id); err != nil {
return nil, err return nil, err
} }
upd := &platform.AuthorizationUpdate{} upd := &influxdb.AuthorizationUpdate{}
if err := json.NewDecoder(r.Body).Decode(upd); err != nil { if err := json.NewDecoder(r.Body).Decode(upd); err != nil {
return nil, err return nil, err
} }
@ -596,20 +595,20 @@ func (h *AuthorizationHandler) handleDeleteAuthorization(w http.ResponseWriter,
} }
type deleteAuthorizationRequest struct { type deleteAuthorizationRequest struct {
ID platform.ID ID influxdb.ID
} }
func decodeDeleteAuthorizationRequest(ctx context.Context, r *http.Request) (*deleteAuthorizationRequest, error) { func decodeDeleteAuthorizationRequest(ctx context.Context, r *http.Request) (*deleteAuthorizationRequest, error) {
params := httprouter.ParamsFromContext(ctx) params := httprouter.ParamsFromContext(ctx)
id := params.ByName("id") id := params.ByName("id")
if id == "" { if id == "" {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "url missing id", Msg: "url missing id",
} }
} }
var i platform.ID var i influxdb.ID
if err := i.DecodeFromString(id); err != nil { if err := i.DecodeFromString(id); err != nil {
return nil, err return nil, err
} }
@ -619,7 +618,7 @@ func decodeDeleteAuthorizationRequest(ctx context.Context, r *http.Request) (*de
}, nil }, 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() ctx := r.Context()
a, err := platcontext.GetAuthorizer(ctx) a, err := platcontext.GetAuthorizer(ctx)
@ -635,11 +634,11 @@ type AuthorizationService struct {
Client *httpc.Client Client *httpc.Client
} }
var _ platform.AuthorizationService = (*AuthorizationService)(nil) var _ influxdb.AuthorizationService = (*AuthorizationService)(nil)
// FindAuthorizationByID finds the authorization against a remote influx server. // FindAuthorizationByID finds the authorization against a remote influx server.
func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id platform.ID) (*platform.Authorization, error) { func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id influxdb.ID) (*influxdb.Authorization, error) {
var b platform.Authorization var b influxdb.Authorization
err := s.Client. err := s.Client.
Get(prefixAuthorization, id.String()). Get(prefixAuthorization, id.String()).
DecodeJSON(&b). DecodeJSON(&b).
@ -651,13 +650,13 @@ func (s *AuthorizationService) FindAuthorizationByID(ctx context.Context, id pla
} }
// FindAuthorizationByToken returns a single authorization by Token. // 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") 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. // FindAuthorizations returns a list of authorizations that match filter and the total count of matching authorizations.
// Additional options provide pagination & sorting. // 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...) params := influxdb.FindOptionParams(opt...)
if filter.ID != nil { if filter.ID != nil {
params = append(params, [2]string{"id", filter.ID.String()}) 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 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 { for _, a := range as.Auths {
auths = append(auths, a.toPlatform()) 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. // 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) newAuth, err := newPostAuthorizationRequest(a)
if err != nil { if err != nil {
return err return err
@ -707,7 +706,7 @@ func (s *AuthorizationService) CreateAuthorization(ctx context.Context, a *platf
} }
// UpdateAuthorization updates the status and description if available. // 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 var res authResponse
err := s.Client. err := s.Client.
PatchJSON(upd, prefixAuthorization, id.String()). PatchJSON(upd, prefixAuthorization, id.String()).
@ -721,7 +720,7 @@ func (s *AuthorizationService) UpdateAuthorization(ctx context.Context, id platf
} }
// DeleteAuthorization removes a authorization by id. // 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. return s.Client.
Delete(prefixAuthorization, id.String()). Delete(prefixAuthorization, id.String()).
Do(ctx) Do(ctx)

View File

@ -9,8 +9,7 @@ import (
"testing" "testing"
"time" "time"
influxdb "github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
platformhttp "github.com/influxdata/influxdb/v2/http" platformhttp "github.com/influxdata/influxdb/v2/http"
"github.com/influxdata/influxdb/v2/jsonweb" "github.com/influxdata/influxdb/v2/jsonweb"
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http" kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
@ -24,9 +23,9 @@ var one = influxdb.ID(1)
func TestAuthenticationHandler(t *testing.T) { func TestAuthenticationHandler(t *testing.T) {
type fields struct { type fields struct {
AuthorizationService platform.AuthorizationService AuthorizationService influxdb.AuthorizationService
SessionService platform.SessionService SessionService influxdb.SessionService
UserService platform.UserService UserService influxdb.UserService
TokenParser *jsonweb.TokenParser TokenParser *jsonweb.TokenParser
} }
type args struct { type args struct {
@ -48,10 +47,10 @@ func TestAuthenticationHandler(t *testing.T) {
fields: fields{ fields: fields{
AuthorizationService: mock.NewAuthorizationService(), AuthorizationService: mock.NewAuthorizationService(),
SessionService: &mock.SessionService{ SessionService: &mock.SessionService{
FindSessionFn: func(ctx context.Context, key string) (*platform.Session, error) { FindSessionFn: func(ctx context.Context, key string) (*influxdb.Session, error) {
return &platform.Session{}, nil 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 return nil
}, },
}, },
@ -68,7 +67,7 @@ func TestAuthenticationHandler(t *testing.T) {
fields: fields{ fields: fields{
AuthorizationService: mock.NewAuthorizationService(), AuthorizationService: mock.NewAuthorizationService(),
SessionService: &mock.SessionService{ 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") return nil, fmt.Errorf("session not found")
}, },
}, },
@ -84,8 +83,8 @@ func TestAuthenticationHandler(t *testing.T) {
name: "token provided", name: "token provided",
fields: fields{ fields: fields{
AuthorizationService: &mock.AuthorizationService{ AuthorizationService: &mock.AuthorizationService{
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) { FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
return &platform.Authorization{}, nil return &influxdb.Authorization{}, nil
}, },
}, },
SessionService: mock.NewSessionService(), SessionService: mock.NewSessionService(),
@ -101,7 +100,7 @@ func TestAuthenticationHandler(t *testing.T) {
name: "token does not exist", name: "token does not exist",
fields: fields{ fields: fields{
AuthorizationService: &mock.AuthorizationService{ 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") return nil, fmt.Errorf("authorization not found")
}, },
}, },
@ -118,18 +117,18 @@ func TestAuthenticationHandler(t *testing.T) {
name: "associated user is inactive", name: "associated user is inactive",
fields: fields{ fields: fields{
AuthorizationService: &mock.AuthorizationService{ AuthorizationService: &mock.AuthorizationService{
FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*platform.Authorization, error) { FindAuthorizationByTokenFn: func(ctx context.Context, token string) (*influxdb.Authorization, error) {
return &platform.Authorization{UserID: one}, nil return &influxdb.Authorization{UserID: one}, nil
}, },
}, },
SessionService: mock.NewSessionService(), SessionService: mock.NewSessionService(),
UserService: &mock.UserService{ 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() { if !id.Valid() {
panic("user service should only be called with valid user ID") 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", name: "jwt provided",
fields: fields{ fields: fields{
AuthorizationService: &mock.AuthorizationService{ 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") return nil, fmt.Errorf("authorization not found")
}, },
}, },
SessionService: mock.NewSessionService(), SessionService: mock.NewSessionService(),
UserService: &mock.UserService{ 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 // ensure that this is not reached as jwt token authorizer produces
// invalid user id // invalid user id
if !id.Valid() { if !id.Valid() {
@ -186,7 +185,7 @@ func TestAuthenticationHandler(t *testing.T) {
name: "jwt provided - bad signature", name: "jwt provided - bad signature",
fields: fields{ fields: fields{
AuthorizationService: &mock.AuthorizationService{ 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") panic("token lookup attempted")
}, },
}, },
@ -214,8 +213,8 @@ func TestAuthenticationHandler(t *testing.T) {
h.AuthorizationService = tt.fields.AuthorizationService h.AuthorizationService = tt.fields.AuthorizationService
h.SessionService = tt.fields.SessionService h.SessionService = tt.fields.SessionService
h.UserService = &mock.UserService{ h.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) {
return &platform.User{}, nil return &influxdb.User{}, nil
}, },
} }

View File

@ -13,7 +13,6 @@ import (
"github.com/influxdata/httprouter" "github.com/influxdata/httprouter"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/inmem" "github.com/influxdata/influxdb/v2/inmem"
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http" kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
"github.com/influxdata/influxdb/v2/kv" "github.com/influxdata/influxdb/v2/kv"
@ -40,8 +39,8 @@ func NewMockBucketBackend(t *testing.T) *BucketBackend {
func TestService_handleGetBuckets(t *testing.T) { func TestService_handleGetBuckets(t *testing.T) {
type fields struct { type fields struct {
BucketService platform.BucketService BucketService influxdb.BucketService
LabelService platform.LabelService LabelService influxdb.LabelService
} }
type args struct { type args struct {
queryParams map[string][]string queryParams map[string][]string
@ -62,8 +61,8 @@ func TestService_handleGetBuckets(t *testing.T) {
name: "get all buckets", name: "get all buckets",
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketsFn: func(ctx context.Context, filter platform.BucketFilter, opts ...platform.FindOptions) ([]*platform.Bucket, int, error) { FindBucketsFn: func(ctx context.Context, filter influxdb.BucketFilter, opts ...influxdb.FindOptions) ([]*influxdb.Bucket, int, error) {
return []*platform.Bucket{ return []*influxdb.Bucket{
{ {
ID: platformtesting.MustIDBase16("0b501e7e557ab1ed"), ID: platformtesting.MustIDBase16("0b501e7e557ab1ed"),
Name: "hello", Name: "hello",
@ -80,8 +79,8 @@ func TestService_handleGetBuckets(t *testing.T) {
}, },
}, },
&mock.LabelService{ &mock.LabelService{
FindResourceLabelsFn: func(ctx context.Context, f platform.LabelMappingFilter) ([]*platform.Label, error) { FindResourceLabelsFn: func(ctx context.Context, f influxdb.LabelMappingFilter) ([]*influxdb.Label, error) {
labels := []*platform.Label{ labels := []*influxdb.Label{
{ {
ID: platformtesting.MustIDBase16("fc3dc670a4be9b9a"), ID: platformtesting.MustIDBase16("fc3dc670a4be9b9a"),
Name: "label", Name: "label",
@ -172,8 +171,8 @@ func TestService_handleGetBuckets(t *testing.T) {
name: "get all buckets when there are none", name: "get all buckets when there are none",
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketsFn: func(ctx context.Context, filter platform.BucketFilter, opts ...platform.FindOptions) ([]*platform.Bucket, int, error) { FindBucketsFn: func(ctx context.Context, filter influxdb.BucketFilter, opts ...influxdb.FindOptions) ([]*influxdb.Bucket, int, error) {
return []*platform.Bucket{}, 0, nil return []*influxdb.Bucket{}, 0, nil
}, },
}, },
&mock.LabelService{}, &mock.LabelService{},
@ -237,7 +236,7 @@ func TestService_handleGetBuckets(t *testing.T) {
func TestService_handleGetBucket(t *testing.T) { func TestService_handleGetBucket(t *testing.T) {
type fields struct { type fields struct {
BucketService platform.BucketService BucketService influxdb.BucketService
} }
type args struct { type args struct {
id string id string
@ -258,9 +257,9 @@ func TestService_handleGetBucket(t *testing.T) {
name: "get a bucket by id", name: "get a bucket by id",
fields: fields{ fields: fields{
&mock.BucketService{ &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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
@ -305,9 +304,9 @@ func TestService_handleGetBucket(t *testing.T) {
name: "not found", name: "not found",
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id platform.ID) (*platform.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket not found",
} }
}, },
@ -369,11 +368,11 @@ func TestService_handleGetBucket(t *testing.T) {
func TestService_handlePostBucket(t *testing.T) { func TestService_handlePostBucket(t *testing.T) {
type fields struct { type fields struct {
BucketService platform.BucketService BucketService influxdb.BucketService
OrganizationService platform.OrganizationService OrganizationService influxdb.OrganizationService
} }
type args struct { type args struct {
bucket *platform.Bucket bucket *influxdb.Bucket
} }
type wants struct { type wants struct {
statusCode int statusCode int
@ -391,19 +390,19 @@ func TestService_handlePostBucket(t *testing.T) {
name: "create a new bucket", name: "create a new bucket",
fields: fields{ fields: fields{
BucketService: &mock.BucketService{ 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") c.ID = platformtesting.MustIDBase16("020f755c3c082000")
return nil return nil
}, },
}, },
OrganizationService: &mock.OrganizationService{ OrganizationService: &mock.OrganizationService{
FindOrganizationF: func(ctx context.Context, f platform.OrganizationFilter) (*platform.Organization, error) { FindOrganizationF: func(ctx context.Context, f influxdb.OrganizationFilter) (*influxdb.Organization, error) {
return &platform.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil return &influxdb.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
}, },
}, },
}, },
args: args{ args: args{
bucket: &platform.Bucket{ bucket: &influxdb.Bucket{
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("6f626f7274697320"), OrgID: platformtesting.MustIDBase16("6f626f7274697320"),
}, },
@ -438,19 +437,19 @@ func TestService_handlePostBucket(t *testing.T) {
name: "create a new bucket with invalid name", name: "create a new bucket with invalid name",
fields: fields{ fields: fields{
BucketService: &mock.BucketService{ 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") c.ID = platformtesting.MustIDBase16("020f755c3c082000")
return nil return nil
}, },
}, },
OrganizationService: &mock.OrganizationService{ OrganizationService: &mock.OrganizationService{
FindOrganizationF: func(ctx context.Context, f platform.OrganizationFilter) (*platform.Organization, error) { FindOrganizationF: func(ctx context.Context, f influxdb.OrganizationFilter) (*influxdb.Organization, error) {
return &platform.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil return &influxdb.Organization{ID: platformtesting.MustIDBase16("6f626f7274697320")}, nil
}, },
}, },
}, },
args: args{ args: args{
bucket: &platform.Bucket{ bucket: &influxdb.Bucket{
Name: "_hello", Name: "_hello",
OrgID: platformtesting.MustIDBase16("6f626f7274697320"), OrgID: platformtesting.MustIDBase16("6f626f7274697320"),
}, },
@ -502,7 +501,7 @@ func TestService_handlePostBucket(t *testing.T) {
func TestService_handleDeleteBucket(t *testing.T) { func TestService_handleDeleteBucket(t *testing.T) {
type fields struct { type fields struct {
BucketService platform.BucketService BucketService influxdb.BucketService
} }
type args struct { type args struct {
id string id string
@ -523,7 +522,7 @@ func TestService_handleDeleteBucket(t *testing.T) {
name: "remove a bucket by id", name: "remove a bucket by id",
fields: fields{ fields: fields{
&mock.BucketService{ &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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
return nil return nil
} }
@ -543,9 +542,9 @@ func TestService_handleDeleteBucket(t *testing.T) {
name: "bucket not found", name: "bucket not found",
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
DeleteBucketFn: func(ctx context.Context, id platform.ID) error { DeleteBucketFn: func(ctx context.Context, id influxdb.ID) error {
return &platform.Error{ return &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket not found",
} }
}, },
@ -606,7 +605,7 @@ func TestService_handleDeleteBucket(t *testing.T) {
func TestService_handlePatchBucket(t *testing.T) { func TestService_handlePatchBucket(t *testing.T) {
type fields struct { type fields struct {
BucketService platform.BucketService BucketService influxdb.BucketService
} }
type args struct { type args struct {
id string id string
@ -630,15 +629,15 @@ func TestService_handlePatchBucket(t *testing.T) {
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
}, nil }, 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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
d := &platform.Bucket{ d := &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -696,7 +695,7 @@ func TestService_handlePatchBucket(t *testing.T) {
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
if id == platformtesting.MustIDBase16("020f755c3c082000") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -704,9 +703,9 @@ func TestService_handlePatchBucket(t *testing.T) {
} }
return nil, fmt.Errorf("not found") 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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -729,14 +728,14 @@ func TestService_handlePatchBucket(t *testing.T) {
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket 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) {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket not found",
} }
}, },
@ -757,7 +756,7 @@ func TestService_handlePatchBucket(t *testing.T) {
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
if id == platformtesting.MustIDBase16("020f755c3c082000") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -765,9 +764,9 @@ func TestService_handlePatchBucket(t *testing.T) {
} }
return nil, fmt.Errorf("not found") 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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
d := &platform.Bucket{ d := &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -823,9 +822,9 @@ func TestService_handlePatchBucket(t *testing.T) {
name: "update retention policy to 'nothing'", name: "update retention policy to 'nothing'",
fields: fields{ fields: fields{
&mock.BucketService{ &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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
d := &platform.Bucket{ d := &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "b1", Name: "b1",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -842,8 +841,8 @@ func TestService_handlePatchBucket(t *testing.T) {
return d, nil return d, nil
} }
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket not found",
} }
}, },
@ -884,15 +883,15 @@ func TestService_handlePatchBucket(t *testing.T) {
fields: fields{ fields: fields{
&mock.BucketService{ &mock.BucketService{
FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) { FindBucketByIDFn: func(ctx context.Context, id influxdb.ID) (*influxdb.Bucket, error) {
return &platform.Bucket{ return &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
}, nil }, 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") { if id == platformtesting.MustIDBase16("020f755c3c082000") {
d := &platform.Bucket{ d := &influxdb.Bucket{
ID: platformtesting.MustIDBase16("020f755c3c082000"), ID: platformtesting.MustIDBase16("020f755c3c082000"),
Name: "hello", Name: "hello",
OrgID: platformtesting.MustIDBase16("020f755c3c082000"), OrgID: platformtesting.MustIDBase16("020f755c3c082000"),
@ -909,8 +908,8 @@ func TestService_handlePatchBucket(t *testing.T) {
return d, nil return d, nil
} }
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "bucket not found", Msg: "bucket not found",
} }
}, },
@ -934,7 +933,7 @@ func TestService_handlePatchBucket(t *testing.T) {
bucketBackend.BucketService = tt.fields.BucketService bucketBackend.BucketService = tt.fields.BucketService
h := NewBucketHandler(zaptest.NewLogger(t), bucketBackend) h := NewBucketHandler(zaptest.NewLogger(t), bucketBackend)
upd := platform.BucketUpdate{} upd := influxdb.BucketUpdate{}
if tt.args.name != "" { if tt.args.name != "" {
upd.Name = &tt.args.name upd.Name = &tt.args.name
} }
@ -987,11 +986,11 @@ func TestService_handlePatchBucket(t *testing.T) {
func TestService_handlePostBucketMember(t *testing.T) { func TestService_handlePostBucketMember(t *testing.T) {
type fields struct { type fields struct {
UserService platform.UserService UserService influxdb.UserService
} }
type args struct { type args struct {
bucketID string bucketID string
user *platform.User user *influxdb.User
} }
type wants struct { type wants struct {
statusCode int statusCode int
@ -1009,18 +1008,18 @@ func TestService_handlePostBucketMember(t *testing.T) {
name: "add a bucket member", name: "add a bucket member",
fields: fields{ fields: fields{
UserService: &mock.UserService{ 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) {
return &platform.User{ return &influxdb.User{
ID: id, ID: id,
Name: "name", Name: "name",
Status: platform.Active, Status: influxdb.Active,
}, nil }, nil
}, },
}, },
}, },
args: args{ args: args{
bucketID: "020f755c3c082000", bucketID: "020f755c3c082000",
user: &platform.User{ user: &influxdb.User{
ID: platformtesting.MustIDBase16("6f626f7274697320"), ID: platformtesting.MustIDBase16("6f626f7274697320"),
}, },
}, },
@ -1081,11 +1080,11 @@ func TestService_handlePostBucketMember(t *testing.T) {
func TestService_handlePostBucketOwner(t *testing.T) { func TestService_handlePostBucketOwner(t *testing.T) {
type fields struct { type fields struct {
UserService platform.UserService UserService influxdb.UserService
} }
type args struct { type args struct {
bucketID string bucketID string
user *platform.User user *influxdb.User
} }
type wants struct { type wants struct {
statusCode int statusCode int
@ -1103,18 +1102,18 @@ func TestService_handlePostBucketOwner(t *testing.T) {
name: "add a bucket owner", name: "add a bucket owner",
fields: fields{ fields: fields{
UserService: &mock.UserService{ 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) {
return &platform.User{ return &influxdb.User{
ID: id, ID: id,
Name: "name", Name: "name",
Status: platform.Active, Status: influxdb.Active,
}, nil }, nil
}, },
}, },
}, },
args: args{ args: args{
bucketID: "020f755c3c082000", bucketID: "020f755c3c082000",
user: &platform.User{ user: &influxdb.User{
ID: platformtesting.MustIDBase16("6f626f7274697320"), 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 := kv.NewService(zaptest.NewLogger(t), inmem.NewKVStore())
svc.IDGenerator = f.IDGenerator svc.IDGenerator = f.IDGenerator
svc.OrgBucketIDs = f.OrgBucketIDs svc.OrgBucketIDs = f.OrgBucketIDs
svc.TimeGenerator = f.TimeGenerator svc.TimeGenerator = f.TimeGenerator
if f.TimeGenerator == nil { if f.TimeGenerator == nil {
svc.TimeGenerator = platform.RealTimeGenerator{} svc.TimeGenerator = influxdb.RealTimeGenerator{}
} }
ctx := context.Background() ctx := context.Background()

View File

@ -315,7 +315,7 @@ type labelsResponse struct {
func newLabelsResponse(ls []*influxdb.Label) *labelsResponse { func newLabelsResponse(ls []*influxdb.Label) *labelsResponse {
return &labelsResponse{ return &labelsResponse{
Links: map[string]string{ Links: map[string]string{
"self": fmt.Sprintf("/api/v2/labels"), "self": "/api/v2/labels",
}, },
Labels: ls, Labels: ls,
} }

View File

@ -21,7 +21,6 @@ import (
"github.com/influxdata/influxdb/v2/notification/endpoint" "github.com/influxdata/influxdb/v2/notification/endpoint"
"github.com/influxdata/influxdb/v2/pkg/testttp" "github.com/influxdata/influxdb/v2/pkg/testttp"
influxTesting "github.com/influxdata/influxdb/v2/testing" influxTesting "github.com/influxdata/influxdb/v2/testing"
platformtesting "github.com/influxdata/influxdb/v2/testing"
"go.uber.org/zap/zaptest" "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 := kv.NewService(zaptest.NewLogger(t), inmem.NewKVStore())
svc.IDGenerator = f.IDGenerator svc.IDGenerator = f.IDGenerator
svc.TimeGenerator = f.TimeGenerator svc.TimeGenerator = f.TimeGenerator
@ -1115,11 +1114,11 @@ func TestNotificationEndpointService(t *testing.T) {
tests := []struct { tests := []struct {
name string 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", name: "CreateNotificationEndpoint",
testFn: platformtesting.CreateNotificationEndpoint, testFn: influxTesting.CreateNotificationEndpoint,
}, },
} }

View File

@ -5,7 +5,6 @@ import (
"testing" "testing"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
) )
@ -14,7 +13,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
queryParams map[string]string queryParams map[string]string
} }
type wants struct { type wants struct {
opts platform.FindOptions opts influxdb.FindOptions
} }
tests := []struct { tests := []struct {
@ -33,7 +32,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
}, },
}, },
wants: wants{ wants: wants{
opts: platform.FindOptions{ opts: influxdb.FindOptions{
Offset: 10, Offset: 10,
Limit: 10, Limit: 10,
SortBy: "updateTime", SortBy: "updateTime",
@ -49,7 +48,7 @@ func TestPaging_DecodeFindOptions(t *testing.T) {
}, },
}, },
wants: wants{ wants: wants{
opts: platform.FindOptions{ opts: influxdb.FindOptions{
Offset: 0, Offset: 0,
Limit: 10, Limit: 10,
SortBy: "", SortBy: "",
@ -93,11 +92,11 @@ func TestPaging_NewPagingLinks(t *testing.T) {
type args struct { type args struct {
basePath string basePath string
num int num int
opts platform.FindOptions opts influxdb.FindOptions
filter mock.PagingFilter filter mock.PagingFilter
} }
type wants struct { type wants struct {
links platform.PagingLinks links influxdb.PagingLinks
} }
tests := []struct { tests := []struct {
@ -110,7 +109,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
args: args{ args: args{
basePath: "/api/v2/buckets", basePath: "/api/v2/buckets",
num: 50, num: 50,
opts: platform.FindOptions{ opts: influxdb.FindOptions{
Offset: 10, Offset: 10,
Limit: 10, Limit: 10,
Descending: true, Descending: true,
@ -121,7 +120,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
}, },
}, },
wants: wants{ wants: wants{
links: platform.PagingLinks{ links: influxdb.PagingLinks{
Prev: "/api/v2/buckets?descending=true&limit=10&name=name&offset=0&type=type1&type=type2", 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", 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", 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{ args: args{
basePath: "/api/v2/buckets", basePath: "/api/v2/buckets",
num: 50, num: 50,
opts: platform.FindOptions{ opts: influxdb.FindOptions{
Offset: 0, Offset: 0,
Limit: 10, Limit: 10,
Descending: true, Descending: true,
@ -144,7 +143,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
}, },
}, },
wants: wants{ wants: wants{
links: platform.PagingLinks{ links: influxdb.PagingLinks{
Prev: "", Prev: "",
Self: "/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=0&type=type1&type=type2",
Next: "/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=10&type=type1&type=type2",
@ -156,7 +155,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
args: args{ args: args{
basePath: "/api/v2/buckets", basePath: "/api/v2/buckets",
num: 5, num: 5,
opts: platform.FindOptions{ opts: influxdb.FindOptions{
Offset: 10, Offset: 10,
Limit: 10, Limit: 10,
Descending: true, Descending: true,
@ -167,7 +166,7 @@ func TestPaging_NewPagingLinks(t *testing.T) {
}, },
}, },
wants: wants{ wants: wants{
links: platform.PagingLinks{ links: influxdb.PagingLinks{
Prev: "/api/v2/buckets?descending=true&limit=10&name=name&offset=0&type=type1&type=type2", 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", Self: "/api/v2/buckets?descending=true&limit=10&name=name&offset=10&type=type1&type=type2",
Next: "", Next: "",

View File

@ -20,17 +20,16 @@ import (
"github.com/influxdata/flux/csv" "github.com/influxdata/flux/csv"
"github.com/influxdata/flux/lang" "github.com/influxdata/flux/lang"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
icontext "github.com/influxdata/influxdb/v2/context" icontext "github.com/influxdata/influxdb/v2/context"
"github.com/influxdata/influxdb/v2/http/metric" "github.com/influxdata/influxdb/v2/http/metric"
"github.com/influxdata/influxdb/v2/kit/check" "github.com/influxdata/influxdb/v2/kit/check"
"github.com/influxdata/influxdb/v2/kit/feature"
tracetesting "github.com/influxdata/influxdb/v2/kit/tracing/testing" tracetesting "github.com/influxdata/influxdb/v2/kit/tracing/testing"
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http" kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
influxmock "github.com/influxdata/influxdb/v2/mock" influxmock "github.com/influxdata/influxdb/v2/mock"
"github.com/influxdata/influxdb/v2/query" "github.com/influxdata/influxdb/v2/query"
"github.com/influxdata/influxdb/v2/query/fluxlang" "github.com/influxdata/influxdb/v2/query/fluxlang"
"github.com/influxdata/influxdb/v2/query/mock" "github.com/influxdata/influxdb/v2/query/mock"
"github.com/influxdata/influxdb/v2/kit/feature"
"go.uber.org/zap/zaptest" "go.uber.org/zap/zaptest"
) )
@ -342,7 +341,7 @@ func TestFluxHandler_PostQuery_Errors(t *testing.T) {
}, },
}, },
FluxLanguageService: fluxlang.DefaultService, FluxLanguageService: fluxlang.DefaultService,
Flagger: feature.DefaultFlagger(), Flagger: feature.DefaultFlagger(),
} }
h := NewFluxHandler(zaptest.NewLogger(t), b) h := NewFluxHandler(zaptest.NewLogger(t), b)
@ -503,7 +502,7 @@ func TestFluxService_Query_gzip(t *testing.T) {
OrganizationService: orgService, OrganizationService: orgService,
ProxyQueryService: queryService, ProxyQueryService: queryService,
FluxLanguageService: fluxlang.DefaultService, FluxLanguageService: fluxlang.DefaultService,
Flagger: feature.DefaultFlagger(), Flagger: feature.DefaultFlagger(),
} }
fluxHandler := NewFluxHandler(zaptest.NewLogger(t), fluxBackend) fluxHandler := NewFluxHandler(zaptest.NewLogger(t), fluxBackend)
@ -515,7 +514,7 @@ func TestFluxService_Query_gzip(t *testing.T) {
auth.AuthorizationService = authService auth.AuthorizationService = authService
auth.Handler = fluxHandler auth.Handler = fluxHandler
auth.UserService = &influxmock.UserService{ 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 return &influxdb.User{}, nil
}, },
} }
@ -641,7 +640,7 @@ func benchmarkQuery(b *testing.B, disableCompression bool) {
OrganizationService: orgService, OrganizationService: orgService,
ProxyQueryService: queryService, ProxyQueryService: queryService,
FluxLanguageService: fluxlang.DefaultService, FluxLanguageService: fluxlang.DefaultService,
Flagger: feature.DefaultFlagger(), Flagger: feature.DefaultFlagger(),
} }
fluxHandler := NewFluxHandler(zaptest.NewLogger(b), fluxBackend) fluxHandler := NewFluxHandler(zaptest.NewLogger(b), fluxBackend)

View File

@ -10,7 +10,6 @@ import (
"github.com/golang/gddo/httputil" "github.com/golang/gddo/httputil"
"github.com/influxdata/httprouter" "github.com/influxdata/httprouter"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
pctx "github.com/influxdata/influxdb/v2/context" pctx "github.com/influxdata/influxdb/v2/context"
"github.com/influxdata/influxdb/v2/pkg/httpc" "github.com/influxdata/influxdb/v2/pkg/httpc"
"github.com/influxdata/influxdb/v2/telegraf/plugins" "github.com/influxdata/influxdb/v2/telegraf/plugins"
@ -20,14 +19,14 @@ import (
// TelegrafBackend is all services and associated parameters required to construct // TelegrafBackend is all services and associated parameters required to construct
// the TelegrafHandler. // the TelegrafHandler.
type TelegrafBackend struct { type TelegrafBackend struct {
platform.HTTPErrorHandler influxdb.HTTPErrorHandler
log *zap.Logger log *zap.Logger
TelegrafService platform.TelegrafConfigStore TelegrafService influxdb.TelegrafConfigStore
UserResourceMappingService platform.UserResourceMappingService UserResourceMappingService influxdb.UserResourceMappingService
LabelService platform.LabelService LabelService influxdb.LabelService
UserService platform.UserService UserService influxdb.UserService
OrganizationService platform.OrganizationService OrganizationService influxdb.OrganizationService
} }
// NewTelegrafBackend returns a new instance of TelegrafBackend. // 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 // TelegrafHandler is the handler for the telegraf service
type TelegrafHandler struct { type TelegrafHandler struct {
*httprouter.Router *httprouter.Router
platform.HTTPErrorHandler influxdb.HTTPErrorHandler
log *zap.Logger log *zap.Logger
TelegrafService platform.TelegrafConfigStore TelegrafService influxdb.TelegrafConfigStore
UserResourceMappingService platform.UserResourceMappingService UserResourceMappingService influxdb.UserResourceMappingService
LabelService platform.LabelService LabelService influxdb.LabelService
UserService platform.UserService UserService influxdb.UserService
OrganizationService platform.OrganizationService OrganizationService influxdb.OrganizationService
} }
const ( const (
@ -95,8 +94,8 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
memberBackend := MemberBackend{ memberBackend := MemberBackend{
HTTPErrorHandler: b.HTTPErrorHandler, HTTPErrorHandler: b.HTTPErrorHandler,
log: b.log.With(zap.String("handler", "member")), log: b.log.With(zap.String("handler", "member")),
ResourceType: platform.TelegrafsResourceType, ResourceType: influxdb.TelegrafsResourceType,
UserType: platform.Member, UserType: influxdb.Member,
UserResourceMappingService: b.UserResourceMappingService, UserResourceMappingService: b.UserResourceMappingService,
UserService: b.UserService, UserService: b.UserService,
} }
@ -107,8 +106,8 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
ownerBackend := MemberBackend{ ownerBackend := MemberBackend{
HTTPErrorHandler: b.HTTPErrorHandler, HTTPErrorHandler: b.HTTPErrorHandler,
log: b.log.With(zap.String("handler", "member")), log: b.log.With(zap.String("handler", "member")),
ResourceType: platform.TelegrafsResourceType, ResourceType: influxdb.TelegrafsResourceType,
UserType: platform.Owner, UserType: influxdb.Owner,
UserResourceMappingService: b.UserResourceMappingService, UserResourceMappingService: b.UserResourceMappingService,
UserService: b.UserService, UserService: b.UserService,
} }
@ -120,7 +119,7 @@ func NewTelegrafHandler(log *zap.Logger, b *TelegrafBackend) *TelegrafHandler {
HTTPErrorHandler: b.HTTPErrorHandler, HTTPErrorHandler: b.HTTPErrorHandler,
log: b.log.With(zap.String("handler", "label")), log: b.log.With(zap.String("handler", "label")),
LabelService: b.LabelService, LabelService: b.LabelService,
ResourceType: platform.TelegrafsResourceType, ResourceType: influxdb.TelegrafsResourceType,
} }
h.HandlerFunc("GET", telegrafsIDLabelsPath, newGetLabelsHandler(labelBackend)) h.HandlerFunc("GET", telegrafsIDLabelsPath, newGetLabelsHandler(labelBackend))
h.HandlerFunc("POST", telegrafsIDLabelsPath, newPostLabelHandler(labelBackend)) h.HandlerFunc("POST", telegrafsIDLabelsPath, newPostLabelHandler(labelBackend))
@ -137,8 +136,8 @@ type telegrafLinks struct {
} }
type telegrafResponse struct { type telegrafResponse struct {
*platform.TelegrafConfig *influxdb.TelegrafConfig
Labels []platform.Label `json:"labels"` Labels []influxdb.Label `json:"labels"`
Links telegrafLinks `json:"links"` 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{ res := &telegrafResponse{
TelegrafConfig: tc, TelegrafConfig: tc,
Links: telegrafLinks{ Links: telegrafLinks{
@ -178,7 +177,7 @@ func newTelegrafResponse(tc *platform.TelegrafConfig, labels []*platform.Label)
Members: fmt.Sprintf("/api/v2/telegrafs/%s/members", tc.ID), Members: fmt.Sprintf("/api/v2/telegrafs/%s/members", tc.ID),
Owners: fmt.Sprintf("/api/v2/telegrafs/%s/owners", tc.ID), Owners: fmt.Sprintf("/api/v2/telegrafs/%s/owners", tc.ID),
}, },
Labels: []platform.Label{}, Labels: []influxdb.Label{},
} }
for _, l := range labels { for _, l := range labels {
@ -188,23 +187,23 @@ func newTelegrafResponse(tc *platform.TelegrafConfig, labels []*platform.Label)
return res 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{ resp := &telegrafResponses{
TelegrafConfigs: make([]*telegrafResponse, len(tcs)), TelegrafConfigs: make([]*telegrafResponse, len(tcs)),
} }
for i, c := range 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) resp.TelegrafConfigs[i] = newTelegrafResponse(c, labels)
} }
return resp 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) params := httprouter.ParamsFromContext(ctx)
id := params.ByName("id") id := params.ByName("id")
if id == "" { if id == "" {
return i, &platform.Error{ return i, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "url missing id", Msg: "url missing id",
} }
} }
@ -260,7 +259,7 @@ func (h *TelegrafHandler) handleGetTelegraf(w http.ResponseWriter, r *http.Reque
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
w.Write([]byte(tc.Config)) w.Write([]byte(tc.Config))
case "application/json": 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 { if err != nil {
h.HandleHTTPError(ctx, err, w) h.HandleHTTPError(ctx, err, w)
return 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) { func decodeTelegrafConfigFilter(ctx context.Context, r *http.Request) (*influxdb.TelegrafConfigFilter, error) {
f := &platform.TelegrafConfigFilter{} f := &influxdb.TelegrafConfigFilter{}
urm, err := decodeUserResourceMappingFilter(ctx, r, platform.TelegrafsResourceType) urm, err := decodeUserResourceMappingFilter(ctx, r, influxdb.TelegrafsResourceType)
if err == nil { if err == nil {
f.UserResourceMappingFilter = *urm f.UserResourceMappingFilter = *urm
} }
q := r.URL.Query() q := r.URL.Query()
if orgIDStr := q.Get("orgID"); orgIDStr != "" { if orgIDStr := q.Get("orgID"); orgIDStr != "" {
orgID, err := platform.IDFromString(orgIDStr) orgID, err := influxdb.IDFromString(orgIDStr)
if err != nil { if err != nil {
return f, &platform.Error{ return f, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "orgID is invalid", Msg: "orgID is invalid",
Err: err, Err: err,
} }
@ -301,20 +300,20 @@ func decodeTelegrafConfigFilter(ctx context.Context, r *http.Request) (*platform
return f, err return f, err
} }
func decodePutTelegrafRequest(ctx context.Context, r *http.Request) (*platform.TelegrafConfig, error) { func decodePutTelegrafRequest(ctx context.Context, r *http.Request) (*influxdb.TelegrafConfig, error) {
tc := new(platform.TelegrafConfig) tc := new(influxdb.TelegrafConfig)
if err := json.NewDecoder(r.Body).Decode(tc); err != nil { if err := json.NewDecoder(r.Body).Decode(tc); err != nil {
return nil, err return nil, err
} }
params := httprouter.ParamsFromContext(ctx) params := httprouter.ParamsFromContext(ctx)
id := params.ByName("id") id := params.ByName("id")
if id == "" { if id == "" {
return nil, &platform.Error{ return nil, &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Msg: "url missing id", Msg: "url missing id",
} }
} }
i := new(platform.ID) i := new(influxdb.ID)
if err := i.DecodeFromString(id); err != nil { if err := i.DecodeFromString(id); err != nil {
return nil, err 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) { func (h *TelegrafHandler) handlePostTelegraf(w http.ResponseWriter, r *http.Request) {
ctx := r.Context() ctx := r.Context()
tc := new(platform.TelegrafConfig) tc := new(influxdb.TelegrafConfig)
if err := json.NewDecoder(r.Body).Decode(tc); err != nil { if err := json.NewDecoder(r.Body).Decode(tc); err != nil {
h.log.Debug("Failed to decode request", zap.Error(err)) h.log.Debug("Failed to decode request", zap.Error(err))
h.HandleHTTPError(ctx, err, w) 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))) 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) logEncodingError(h.log, r, err)
return return
} }
@ -374,7 +373,7 @@ func (h *TelegrafHandler) handlePutTelegraf(w http.ResponseWriter, r *http.Reque
return 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 { if err != nil {
h.HandleHTTPError(ctx, err, w) h.HandleHTTPError(ctx, err, w)
return 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. // FindTelegrafConfigByID returns a single telegraf config by ID.
func (s *TelegrafService) FindTelegrafConfigByID(ctx context.Context, id platform.ID) (*platform.TelegrafConfig, error) { func (s *TelegrafService) FindTelegrafConfigByID(ctx context.Context, id influxdb.ID) (*influxdb.TelegrafConfig, error) {
var cfg platform.TelegrafConfig var cfg influxdb.TelegrafConfig
err := s.client. err := s.client.
Get(prefixTelegraf, id.String()). Get(prefixTelegraf, id.String()).
Header("Accept", "application/json"). 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. // FindTelegrafConfigs returns a list of telegraf configs that match filter and the total count of matching telegraf configs.
// Additional options provide pagination & sorting. // 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...) params := influxdb.FindOptionParams(opt...)
if f.OrgID != nil { if f.OrgID != nil {
params = append(params, [2]string{"orgID", f.OrgID.String()}) 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 { var resp struct {
Configs []*platform.TelegrafConfig `json:"configurations"` Configs []*influxdb.TelegrafConfig `json:"configurations"`
} }
err := s.client. err := s.client.
Get(prefixTelegraf). 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. // 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 { func (s *TelegrafService) CreateTelegrafConfig(ctx context.Context, tc *influxdb.TelegrafConfig, userID influxdb.ID) error {
var teleResp platform.TelegrafConfig var teleResp influxdb.TelegrafConfig
err := s.client. err := s.client.
PostJSON(tc, prefixTelegraf). PostJSON(tc, prefixTelegraf).
DecodeJSON(&teleResp). DecodeJSON(&teleResp).
@ -484,8 +483,8 @@ func (s *TelegrafService) CreateTelegrafConfig(ctx context.Context, tc *platform
// UpdateTelegrafConfig updates a single telegraf config. // UpdateTelegrafConfig updates a single telegraf config.
// Returns the new telegraf config after update. // 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) { func (s *TelegrafService) UpdateTelegrafConfig(ctx context.Context, id influxdb.ID, tc *influxdb.TelegrafConfig, userID influxdb.ID) (*influxdb.TelegrafConfig, error) {
var teleResp platform.TelegrafConfig var teleResp influxdb.TelegrafConfig
err := s.client. err := s.client.
PutJSON(tc, prefixTelegraf, id.String()). PutJSON(tc, prefixTelegraf, id.String()).
DecodeJSON(&teleResp). DecodeJSON(&teleResp).
@ -497,7 +496,7 @@ func (s *TelegrafService) UpdateTelegrafConfig(ctx context.Context, id platform.
} }
// DeleteTelegrafConfig removes a telegraf config by ID. // 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. return s.client.
Delete(prefixTelegraf, id.String()). Delete(prefixTelegraf, id.String()).
Do(ctx) Do(ctx)

View File

@ -5,7 +5,6 @@ import (
"testing" "testing"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/kv" "github.com/influxdata/influxdb/v2/kv"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
influxdbtesting "github.com/influxdata/influxdb/v2/testing" influxdbtesting "github.com/influxdata/influxdb/v2/testing"
@ -13,9 +12,9 @@ import (
) )
var ( var (
existingBucketID = platform.ID(mock.FirstMockID + 3) existingBucketID = influxdb.ID(mock.FirstMockID + 3)
firstMockID = platform.ID(mock.FirstMockID) firstMockID = influxdb.ID(mock.FirstMockID)
nonexistantID = platform.ID(10001) nonexistantID = influxdb.ID(10001)
) )
type StoreFn func(*testing.T) (kv.Store, func(), error) type StoreFn func(*testing.T) (kv.Store, func(), error)

View File

@ -388,7 +388,7 @@ func (s *StoreBase) bucketCursor(ctx context.Context, tx Tx) (Cursor, error) {
if err != nil { if err != nil {
return nil, &influxdb.Error{ return nil, &influxdb.Error{
Code: influxdb.EInternal, Code: influxdb.EInternal,
Msg: fmt.Sprintf("failed to retrieve cursor"), Msg: "failed to retrieve cursor",
Err: err, Err: err,
} }
} }

View File

@ -17,6 +17,7 @@ func TestBoltTenantService(t *testing.T) {
itesting.TenantService(t, initBoltTenantService) 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()) { func initBoltTenantService(t *testing.T, f itesting.TenantFields) (influxdb.TenantService, func()) {
s, closeStore, err := NewTestBoltStore(t) s, closeStore, err := NewTestBoltStore(t)
if err != nil { if err != nil {

View File

@ -78,7 +78,7 @@ type labelsResponse struct {
func newLabelsResponse(ls []*influxdb.Label) *labelsResponse { func newLabelsResponse(ls []*influxdb.Label) *labelsResponse {
return &labelsResponse{ return &labelsResponse{
Links: map[string]string{ Links: map[string]string{
"self": fmt.Sprintf("/api/v2/labels"), "self": "/api/v2/labels",
}, },
Labels: ls, Labels: ls,
} }

View File

@ -59,7 +59,7 @@ func (r *Registry) MustRegisterGroup(name string) GID {
func (r *Registry) mustGetGroupRegistry(id GID) *groupRegistry { func (r *Registry) mustGetGroupRegistry(id GID) *groupRegistry {
if int(id) >= len(r.groups) { if int(id) >= len(r.groups) {
panic(fmt.Sprintf("invalid group ID")) panic("invalid group ID")
} }
return &r.groups[id] return &r.groups[id]
} }

View File

@ -15,7 +15,7 @@ type buffer [3]struct {
lit string // last read literal 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/` // such a statement `(a = "a" or b!="b") and c ! =~/efg/`
// to the predicate node // to the predicate node
type parser struct { type parser struct {
@ -122,7 +122,7 @@ func (p *parser) parseLogicalNode() (Node, error) {
if p.openParen != currParen-1 { if p.openParen != currParen-1 {
return *n, &influxdb.Error{ return *n, &influxdb.Error{
Code: influxdb.EInvalid, Code: influxdb.EInvalid,
Msg: fmt.Sprintf("extra ( seen"), Msg: "extra ( seen",
} }
} }
if n.Children[0] == nil { if n.Children[0] == nil {
@ -137,7 +137,7 @@ func (p *parser) parseLogicalNode() (Node, error) {
if p.openParen < 0 { if p.openParen < 0 {
return *n, &influxdb.Error{ return *n, &influxdb.Error{
Code: influxdb.EInvalid, Code: influxdb.EInvalid,
Msg: fmt.Sprintf("extra ) seen"), Msg: "extra ) seen",
} }
} }
if n.Children[1] == nil { if n.Children[1] == nil {

View File

@ -1,7 +1,6 @@
package predicate package predicate
import ( import (
"fmt"
"strings" "strings"
"testing" "testing"
@ -68,14 +67,14 @@ func TestParseNode(t *testing.T) {
str: ` (t1="v1" and t2="v2") and (`, str: ` (t1="v1" and t2="v2") and (`,
err: &influxdb.Error{ err: &influxdb.Error{
Code: influxdb.EInvalid, Code: influxdb.EInvalid,
Msg: fmt.Sprintf("extra ( seen"), Msg: "extra ( seen",
}, },
}, },
{ {
str: ` (t1="v1" and t2="v2"))`, str: ` (t1="v1" and t2="v2"))`,
err: &influxdb.Error{ err: &influxdb.Error{
Code: influxdb.EInvalid, Code: influxdb.EInvalid,
Msg: fmt.Sprintf("extra ) seen"), Msg: "extra ) seen",
}, },
}, },
} }

View File

@ -3,7 +3,7 @@ package prometheus
import ( import (
"sort" "sort"
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
dto "github.com/prometheus/client_model/go" dto "github.com/prometheus/client_model/go"
) )

View File

@ -5,7 +5,7 @@ import (
"reflect" "reflect"
"testing" "testing"
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
pr "github.com/influxdata/influxdb/v2/prometheus" pr "github.com/influxdata/influxdb/v2/prometheus"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
dto "github.com/prometheus/client_model/go" dto "github.com/prometheus/client_model/go"

View File

@ -1,7 +1,7 @@
package prometheus_test package prometheus_test
import ( import (
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
dto "github.com/prometheus/client_model/go" dto "github.com/prometheus/client_model/go"
) )

View File

@ -151,7 +151,7 @@ func New(config Config) (*Controller, error) {
if err != nil { if err != nil {
return nil, errors.Wrap(err, "invalid controller config") 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 logger := c.Logger
if logger == nil { if logger == nil {
logger = zap.NewNop() logger = zap.NewNop()

View File

@ -35,6 +35,10 @@ var opts = []cmp.Option{
cmpopts.IgnoreUnexported(query.Request{}), cmpopts.IgnoreUnexported(query.Request{}),
} }
type contextKey string
const loggingCtxKey contextKey = "do-logging"
func TestLoggingProxyQueryService(t *testing.T) { func TestLoggingProxyQueryService(t *testing.T) {
// Set a Jaeger in-memory tracer to get span information in the query log. // Set a Jaeger in-memory tracer to get span information in the query log.
oldTracer := opentracing.GlobalTracer() oldTracer := opentracing.GlobalTracer()
@ -118,9 +122,8 @@ func TestLoggingProxyQueryService(t *testing.T) {
logs = nil logs = nil
}() }()
loggingKey := "do-logging"
condLog := query.ConditionalLogging(func(ctx context.Context) bool { 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) 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") 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) _, err = lpqs.Query(ctx, ioutil.Discard, req)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)

10
task.go
View File

@ -28,15 +28,21 @@ var (
TaskSystemType = "system" TaskSystemType = "system"
) )
type contextKey string
const (
taskAuthKey contextKey = "taskAuth"
)
// TODO: these are temporary functions until we can work through optimizing auth // TODO: these are temporary functions until we can work through optimizing auth
// FindTaskWithAuth adds a auth hint for lookup of tasks // FindTaskWithAuth adds a auth hint for lookup of tasks
func FindTaskWithoutAuth(ctx context.Context) context.Context { func FindTaskWithoutAuth(ctx context.Context) context.Context {
return context.WithValue(ctx, "taskAuth", "omit") return context.WithValue(ctx, taskAuthKey, "omit")
} }
// FindTaskAuthRequired retrieves the taskAuth hint // FindTaskAuthRequired retrieves the taskAuth hint
func FindTaskAuthRequired(ctx context.Context) bool { func FindTaskAuthRequired(ctx context.Context) bool {
val, ok := ctx.Value("taskAuth").(string) val, ok := ctx.Value(taskAuthKey).(string)
return !(ok && val == "omit") return !(ok && val == "omit")
} }

View File

@ -173,8 +173,10 @@ func grabTaskOptionAST(p *ast.Package, keys ...string) map[string]ast.Expression
} }
for k := range ae.Properties { for k := range ae.Properties {
prop := ae.Properties[k] prop := ae.Properties[k]
if key := prop.Key.Key(); prop != nil && contains(keys, key) { if prop != nil {
res[key] = prop.Value if key := prop.Key.Key(); contains(keys, key) {
res[key] = prop.Value
}
} }
} }
return res return res

View File

@ -82,11 +82,7 @@ func (tc *TelegrafConfig) CountPlugins() map[string]float64 {
if len(v) < 2 { if len(v) < 2 {
continue continue
} }
if _, ok := plugins[v[1]]; ok { plugins[v[1]]++
plugins[v[1]]++
} else {
plugins[v[1]] = 1
}
} }
return plugins return plugins

View File

@ -10,7 +10,7 @@ import (
"testing" "testing"
"time" "time"
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/matttproud/golang_protobuf_extensions/pbutil" "github.com/matttproud/golang_protobuf_extensions/pbutil"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"

View File

@ -1,7 +1,7 @@
package telemetry package telemetry
import ( import (
proto "github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
dto "github.com/prometheus/client_model/go" dto "github.com/prometheus/client_model/go"
) )

View File

@ -10,7 +10,6 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts" "github.com/google/go-cmp/cmp/cmpopts"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
) )
@ -27,8 +26,8 @@ var authorizationCmpOptions = cmp.Options{
cmp.Comparer(func(x, y []byte) bool { cmp.Comparer(func(x, y []byte) bool {
return bytes.Equal(x, y) return bytes.Equal(x, y)
}), }),
cmp.Transformer("Sort", func(in []*platform.Authorization) []*platform.Authorization { cmp.Transformer("Sort", func(in []*influxdb.Authorization) []*influxdb.Authorization {
out := append([]*platform.Authorization(nil), in...) // Copy input to avoid mutating it out := append([]*influxdb.Authorization(nil), in...) // Copy input to avoid mutating it
sort.Slice(out, func(i, j int) bool { sort.Slice(out, func(i, j int) bool {
return out[i].ID.String() > out[j].ID.String() return out[i].ID.String() > out[j].ID.String()
}) })
@ -50,22 +49,22 @@ func WithoutFindByToken() AuthTestOpts {
// AuthorizationFields will include the IDGenerator, and authorizations // AuthorizationFields will include the IDGenerator, and authorizations
type AuthorizationFields struct { type AuthorizationFields struct {
IDGenerator platform.IDGenerator IDGenerator influxdb.IDGenerator
TokenGenerator platform.TokenGenerator TokenGenerator influxdb.TokenGenerator
TimeGenerator platform.TimeGenerator TimeGenerator influxdb.TimeGenerator
Authorizations []*platform.Authorization Authorizations []*influxdb.Authorization
Users []*platform.User Users []*influxdb.User
Orgs []*platform.Organization Orgs []*influxdb.Organization
} }
// AuthorizationService tests all the service functions. // AuthorizationService tests all the service functions.
func AuthorizationService( func AuthorizationService(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
opts ...AuthTestOpts) { opts ...AuthTestOpts) {
tests := []struct { tests := []struct {
name string 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) t *testing.T)
}{ }{
{ {
@ -105,15 +104,15 @@ func AuthorizationService(
// CreateAuthorization testing // CreateAuthorization testing
func CreateAuthorization( func CreateAuthorization(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
authorization *platform.Authorization authorization *influxdb.Authorization
} }
type wants struct { type wants struct {
err error err error
authorizations []*platform.Authorization authorizations []*influxdb.Authorization
} }
tests := []struct { tests := []struct {
@ -134,19 +133,19 @@ func CreateAuthorization(
return "rand", nil return "rand", nil
}, },
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -158,7 +157,7 @@ func CreateAuthorization(
}, },
}, },
args: args{ args: args{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
@ -166,12 +165,12 @@ func CreateAuthorization(
}, },
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "supersecret", Token: "supersecret",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
Description: "already existing auth", Description: "already existing auth",
@ -181,10 +180,10 @@ func CreateAuthorization(
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand", Token: "rand",
Status: platform.Active, Status: influxdb.Active,
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
Description: "new auth", Description: "new auth",
CRUDLog: platform.CRUDLog{ CRUDLog: influxdb.CRUDLog{
CreatedAt: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), 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), UpdatedAt: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
}, },
@ -204,19 +203,19 @@ func CreateAuthorization(
return "rand", nil return "rand", nil
}, },
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -228,7 +227,7 @@ func CreateAuthorization(
}, },
}, },
args: args{ args: args{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
@ -236,18 +235,18 @@ func CreateAuthorization(
}, },
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "supersecret", Token: "supersecret",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
Description: "already existing auth", Description: "already existing auth",
}, },
}, },
err: platform.ErrUnableToCreateToken, err: influxdb.ErrUnableToCreateToken,
}, },
}, },
{ {
@ -262,19 +261,19 @@ func CreateAuthorization(
return "rand", nil return "rand", nil
}, },
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -286,7 +285,7 @@ func CreateAuthorization(
}, },
}, },
args: args{ args: args{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Permissions: createUsersPermission(MustIDBase16(orgTwoID)), Permissions: createUsersPermission(MustIDBase16(orgTwoID)),
@ -294,18 +293,18 @@ func CreateAuthorization(
}, },
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "supersecret", Token: "supersecret",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
Description: "already existing auth", Description: "already existing auth",
}, },
}, },
err: platform.ErrUnableToCreateToken, err: influxdb.ErrUnableToCreateToken,
}, },
}, },
} }
@ -324,7 +323,7 @@ func CreateAuthorization(
defer s.DeleteAuthorization(ctx, tt.args.authorization.ID) 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 { if err != nil {
t.Fatalf("failed to retrieve authorizations: %v", err) t.Fatalf("failed to retrieve authorizations: %v", err)
} }
@ -337,12 +336,12 @@ func CreateAuthorization(
// FindAuthorizationByID testing // FindAuthorizationByID testing
func FindAuthorizationByID( func FindAuthorizationByID(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type wants struct { type wants struct {
err error err error
authorizations []*platform.Authorization authorizations []*influxdb.Authorization
} }
tests := []struct { tests := []struct {
@ -353,7 +352,7 @@ func FindAuthorizationByID(
{ {
name: "basic find authorization by id", name: "basic find authorization by id",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -363,7 +362,7 @@ func FindAuthorizationByID(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -379,7 +378,7 @@ func FindAuthorizationByID(
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -387,7 +386,7 @@ func FindAuthorizationByID(
}, },
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -434,16 +433,16 @@ func stringPtr(s string) *string {
// UpdateAuthorization testing // UpdateAuthorization testing
func UpdateAuthorization( func UpdateAuthorization(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
id platform.ID id influxdb.ID
upd *platform.AuthorizationUpdate upd *influxdb.AuthorizationUpdate
} }
type wants struct { type wants struct {
err error err error
authorization *platform.Authorization authorization *influxdb.Authorization
} }
tests := []struct { tests := []struct {
name string name string
@ -457,7 +456,7 @@ func UpdateAuthorization(
TimeGenerator: &mock.TimeGenerator{ TimeGenerator: &mock.TimeGenerator{
FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -467,7 +466,7 @@ func UpdateAuthorization(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -477,12 +476,12 @@ func UpdateAuthorization(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Token: "rand1", Token: "rand1",
Status: platform.Inactive, Status: influxdb.Inactive,
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -511,21 +510,21 @@ func UpdateAuthorization(
}, },
args: args{ args: args{
id: MustIDBase16(authTwoID), id: MustIDBase16(authTwoID),
upd: &platform.AuthorizationUpdate{ upd: &influxdb.AuthorizationUpdate{
Status: platform.Inactive.Ptr(), Status: influxdb.Inactive.Ptr(),
Description: stringPtr("desc1"), Description: stringPtr("desc1"),
}, },
}, },
wants: wants{ wants: wants{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand2", Token: "rand2",
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
Status: platform.Inactive, Status: influxdb.Inactive,
Description: "desc1", Description: "desc1",
CRUDLog: platform.CRUDLog{ CRUDLog: influxdb.CRUDLog{
UpdatedAt: 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),
}, },
}, },
@ -534,7 +533,7 @@ func UpdateAuthorization(
{ {
name: "update with id not found", name: "update with id not found",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -544,7 +543,7 @@ func UpdateAuthorization(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -554,12 +553,12 @@ func UpdateAuthorization(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Token: "rand1", Token: "rand1",
Status: platform.Inactive, Status: influxdb.Inactive,
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -581,14 +580,14 @@ func UpdateAuthorization(
}, },
args: args{ args: args{
id: MustIDBase16(authThreeID), id: MustIDBase16(authThreeID),
upd: &platform.AuthorizationUpdate{ upd: &influxdb.AuthorizationUpdate{
Status: platform.Inactive.Ptr(), Status: influxdb.Inactive.Ptr(),
}, },
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpUpdateAuthorization, Op: influxdb.OpUpdateAuthorization,
Msg: "authorization not found", Msg: "authorization not found",
}, },
}, },
@ -599,7 +598,7 @@ func UpdateAuthorization(
TimeGenerator: &mock.TimeGenerator{ TimeGenerator: &mock.TimeGenerator{
FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC), FakeValue: time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC),
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -609,7 +608,7 @@ func UpdateAuthorization(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -619,12 +618,12 @@ func UpdateAuthorization(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Token: "rand1", Token: "rand1",
Status: platform.Inactive, Status: influxdb.Inactive,
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -653,14 +652,14 @@ func UpdateAuthorization(
}, },
args: args{ args: args{
id: MustIDBase16(authTwoID), id: MustIDBase16(authTwoID),
upd: &platform.AuthorizationUpdate{ upd: &influxdb.AuthorizationUpdate{
Status: platform.Status("unknown").Ptr(), Status: influxdb.Status("unknown").Ptr(),
}, },
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.EInvalid, Code: influxdb.EInvalid,
Op: platform.OpUpdateAuthorization, Op: influxdb.OpUpdateAuthorization,
Msg: "unknown authorization status", Msg: "unknown authorization status",
}, },
}, },
@ -693,7 +692,7 @@ func UpdateAuthorization(
// FindAuthorizationByToken testing // FindAuthorizationByToken testing
func FindAuthorizationByToken( func FindAuthorizationByToken(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
@ -701,7 +700,7 @@ func FindAuthorizationByToken(
} }
type wants struct { type wants struct {
err error err error
authorization *platform.Authorization authorization *influxdb.Authorization
} }
tests := []struct { tests := []struct {
@ -713,7 +712,7 @@ func FindAuthorizationByToken(
{ {
name: "basic find authorization by token", name: "basic find authorization by token",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -723,7 +722,7 @@ func FindAuthorizationByToken(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -733,12 +732,12 @@ func FindAuthorizationByToken(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Token: "rand1", Token: "rand1",
Status: platform.Inactive, Status: influxdb.Inactive,
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -769,11 +768,11 @@ func FindAuthorizationByToken(
token: "rand1", token: "rand1",
}, },
wants: wants{ wants: wants{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Status: platform.Inactive, Status: influxdb.Inactive,
Token: "rand1", Token: "rand1",
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -782,7 +781,7 @@ func FindAuthorizationByToken(
{ {
name: "find authorization by token", name: "find authorization by token",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -792,13 +791,13 @@ func FindAuthorizationByToken(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authZeroID), ID: MustIDBase16(authZeroID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -833,12 +832,12 @@ func FindAuthorizationByToken(
token: "rand2", token: "rand2",
}, },
wants: wants{ wants: wants{
authorization: &platform.Authorization{ authorization: &influxdb.Authorization{
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand2", Token: "rand2",
Status: platform.Active, Status: influxdb.Active,
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
}, },
@ -863,18 +862,18 @@ func FindAuthorizationByToken(
// FindAuthorizations testing // FindAuthorizations testing
func FindAuthorizations( func FindAuthorizations(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
ID platform.ID ID influxdb.ID
UserID platform.ID UserID influxdb.ID
OrgID platform.ID OrgID influxdb.ID
token string token string
} }
type wants struct { type wants struct {
authorizations []*platform.Authorization authorizations []*influxdb.Authorization
err error err error
} }
tests := []struct { tests := []struct {
@ -886,7 +885,7 @@ func FindAuthorizations(
{ {
name: "find all authorizations", name: "find all authorizations",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -896,13 +895,13 @@ func FindAuthorizations(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -921,13 +920,13 @@ func FindAuthorizations(
}, },
args: args{}, args: args{},
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand1", Token: "rand1",
Status: platform.Active, Status: influxdb.Active,
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
{ {
@ -935,7 +934,7 @@ func FindAuthorizations(
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand2", Token: "rand2",
Status: platform.Active, Status: influxdb.Active,
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
}, },
@ -944,7 +943,7 @@ func FindAuthorizations(
{ {
name: "find authorization by user id", name: "find authorization by user id",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -954,19 +953,19 @@ func FindAuthorizations(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand1", Token: "rand1",
Status: platform.Active, Status: influxdb.Active,
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
{ {
@ -989,12 +988,12 @@ func FindAuthorizations(
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand1", Token: "rand1",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1002,7 +1001,7 @@ func FindAuthorizations(
ID: MustIDBase16(authThreeID), ID: MustIDBase16(authThreeID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand3", Token: "rand3",
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)), Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1012,13 +1011,13 @@ func FindAuthorizations(
{ {
name: "find authorization by org id", name: "find authorization by org id",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -1028,12 +1027,12 @@ func FindAuthorizations(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand1", Token: "rand1",
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1041,7 +1040,7 @@ func FindAuthorizations(
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand2", Token: "rand2",
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)), Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1049,7 +1048,7 @@ func FindAuthorizations(
ID: MustIDBase16(authThreeID), ID: MustIDBase16(authThreeID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand3", Token: "rand3",
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -1059,12 +1058,12 @@ func FindAuthorizations(
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand1", Token: "rand1",
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1072,7 +1071,7 @@ func FindAuthorizations(
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand2", Token: "rand2",
Permissions: deleteUsersPermission(MustIDBase16(orgOneID)), Permissions: deleteUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1082,7 +1081,7 @@ func FindAuthorizations(
{ {
name: "find authorization by org id and user id", name: "find authorization by org id and user id",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -1092,7 +1091,7 @@ func FindAuthorizations(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
@ -1102,12 +1101,12 @@ func FindAuthorizations(
ID: MustIDBase16(orgTwoID), ID: MustIDBase16(orgTwoID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand1", Token: "rand1",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1115,7 +1114,7 @@ func FindAuthorizations(
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand2", Token: "rand2",
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -1123,7 +1122,7 @@ func FindAuthorizations(
ID: MustIDBase16(authThreeID), ID: MustIDBase16(authThreeID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand3", Token: "rand3",
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1131,7 +1130,7 @@ func FindAuthorizations(
ID: MustIDBase16(authThreeID), ID: MustIDBase16(authThreeID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand4", Token: "rand4",
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -1142,12 +1141,12 @@ func FindAuthorizations(
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
OrgID: MustIDBase16(orgTwoID), OrgID: MustIDBase16(orgTwoID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand2", Token: "rand2",
Permissions: allUsersPermission(MustIDBase16(orgTwoID)), Permissions: allUsersPermission(MustIDBase16(orgTwoID)),
}, },
@ -1162,7 +1161,7 @@ func FindAuthorizations(
defer done() defer done()
ctx := context.Background() ctx := context.Background()
filter := platform.AuthorizationFilter{} filter := influxdb.AuthorizationFilter{}
if tt.args.ID.Valid() { if tt.args.ID.Valid() {
filter.ID = &tt.args.ID filter.ID = &tt.args.ID
} }
@ -1187,15 +1186,15 @@ func FindAuthorizations(
// DeleteAuthorization testing // DeleteAuthorization testing
func DeleteAuthorization( func DeleteAuthorization(
init func(AuthorizationFields, *testing.T) (platform.AuthorizationService, string, func()), init func(AuthorizationFields, *testing.T) (influxdb.AuthorizationService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
ID platform.ID ID influxdb.ID
} }
type wants struct { type wants struct {
err error err error
authorizations []*platform.Authorization authorizations []*influxdb.Authorization
} }
tests := []struct { tests := []struct {
@ -1207,7 +1206,7 @@ func DeleteAuthorization(
{ {
name: "delete authorizations using exist id", name: "delete authorizations using exist id",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -1217,13 +1216,13 @@ func DeleteAuthorization(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -1244,12 +1243,12 @@ func DeleteAuthorization(
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
}, },
wants: wants{ wants: wants{
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authTwoID), ID: MustIDBase16(authTwoID),
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Status: platform.Active, Status: influxdb.Active,
Token: "rand2", Token: "rand2",
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1259,7 +1258,7 @@ func DeleteAuthorization(
{ {
name: "delete authorizations using id that does not exist", name: "delete authorizations using id that does not exist",
fields: AuthorizationFields{ fields: AuthorizationFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "cooluser", Name: "cooluser",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
@ -1269,13 +1268,13 @@ func DeleteAuthorization(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
}, },
Orgs: []*platform.Organization{ Orgs: []*influxdb.Organization{
{ {
Name: "o1", Name: "o1",
ID: MustIDBase16(orgOneID), ID: MustIDBase16(orgOneID),
}, },
}, },
Authorizations: []*platform.Authorization{ Authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
@ -1296,17 +1295,17 @@ func DeleteAuthorization(
ID: MustIDBase16(authThreeID), ID: MustIDBase16(authThreeID),
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "authorization not found", Msg: "authorization not found",
Op: platform.OpDeleteAuthorization, Op: influxdb.OpDeleteAuthorization,
}, },
authorizations: []*platform.Authorization{ authorizations: []*influxdb.Authorization{
{ {
ID: MustIDBase16(authOneID), ID: MustIDBase16(authOneID),
UserID: MustIDBase16(userOneID), UserID: MustIDBase16(userOneID),
Token: "rand1", Token: "rand1",
Status: platform.Active, Status: influxdb.Active,
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Permissions: allUsersPermission(MustIDBase16(orgOneID)), Permissions: allUsersPermission(MustIDBase16(orgOneID)),
}, },
@ -1315,7 +1314,7 @@ func DeleteAuthorization(
UserID: MustIDBase16(userTwoID), UserID: MustIDBase16(userTwoID),
OrgID: MustIDBase16(orgOneID), OrgID: MustIDBase16(orgOneID),
Token: "rand2", Token: "rand2",
Status: platform.Active, Status: influxdb.Active,
Permissions: createUsersPermission(MustIDBase16(orgOneID)), Permissions: createUsersPermission(MustIDBase16(orgOneID)),
}, },
}, },
@ -1331,7 +1330,7 @@ func DeleteAuthorization(
err := s.DeleteAuthorization(ctx, tt.args.ID) err := s.DeleteAuthorization(ctx, tt.args.ID)
diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t) diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t)
filter := platform.AuthorizationFilter{} filter := influxdb.AuthorizationFilter{}
authorizations, _, err := s.FindAuthorizations(ctx, filter) authorizations, _, err := s.FindAuthorizations(ctx, filter)
if err != nil { if err != nil {
t.Fatalf("failed to retrieve authorizations: %v", err) t.Fatalf("failed to retrieve authorizations: %v", err)
@ -1343,21 +1342,21 @@ func DeleteAuthorization(
} }
} }
func allUsersPermission(orgID platform.ID) []platform.Permission { func allUsersPermission(orgID influxdb.ID) []influxdb.Permission {
return []platform.Permission{ return []influxdb.Permission{
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}}, {Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
{Action: platform.ReadAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}}, {Action: influxdb.ReadAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
} }
} }
func createUsersPermission(orgID platform.ID) []platform.Permission { func createUsersPermission(orgID influxdb.ID) []influxdb.Permission {
return []platform.Permission{ return []influxdb.Permission{
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}}, {Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
} }
} }
func deleteUsersPermission(orgID platform.ID) []platform.Permission { func deleteUsersPermission(orgID influxdb.ID) []influxdb.Permission {
return []platform.Permission{ return []influxdb.Permission{
{Action: platform.WriteAction, Resource: platform.Resource{Type: platform.UsersResourceType, OrgID: &orgID}}, {Action: influxdb.WriteAction, Resource: influxdb.Resource{Type: influxdb.UsersResourceType, OrgID: &orgID}},
} }
} }

View File

@ -3,7 +3,6 @@ package testing
import ( import (
"bytes" "bytes"
"context" "context"
"fmt"
"sort" "sort"
"testing" "testing"
"time" "time"
@ -266,7 +265,7 @@ func CreateBucket(
err: &influxdb.Error{ err: &influxdb.Error{
Code: influxdb.EConflict, Code: influxdb.EConflict,
Op: influxdb.OpCreateBucket, 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{ err: &influxdb.Error{
Code: influxdb.EInternal, 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{ err: &influxdb.Error{
Code: influxdb.EInternal, Code: influxdb.EInternal,
Msg: fmt.Sprintf("unable to generate valid id"), Msg: "unable to generate valid id",
}, },
}, },
}, },

View File

@ -3,7 +3,6 @@ package testing
import ( import (
"bytes" "bytes"
"context" "context"
"fmt"
"sort" "sort"
"testing" "testing"
"time" "time"
@ -566,7 +565,7 @@ func CreateCheck(
err: &influxdb.Error{ err: &influxdb.Error{
Code: influxdb.EConflict, Code: influxdb.EConflict,
Op: influxdb.OpCreateCheck, Op: influxdb.OpCreateCheck,
Msg: fmt.Sprintf("check is not unique"), Msg: "check is not unique",
}, },
}, },
}, },

View File

@ -2163,6 +2163,7 @@ func influxErrsEqual(t *testing.T, expected *influxdb.Error, actual error) {
if expected == nil { if expected == nil {
require.NoError(t, actual) require.NoError(t, actual)
return
} }
iErr, ok := actual.(*influxdb.Error) iErr, ok := actual.(*influxdb.Error)
require.True(t, ok) require.True(t, ok)

View File

@ -9,7 +9,6 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
) )
@ -129,7 +128,7 @@ func CreateOrganization(
organizations: []*influxdb.Organization{ organizations: []*influxdb.Organization{
{ {
Name: "name1", Name: "name1",
ID: platform.ID(mock.FirstMockID), ID: influxdb.ID(mock.FirstMockID),
Description: "desc1", Description: "desc1",
CRUDLog: influxdb.CRUDLog{ CRUDLog: influxdb.CRUDLog{
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC), CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),
@ -165,7 +164,7 @@ func CreateOrganization(
Name: "organization1", Name: "organization1",
}, },
{ {
ID: platform.ID(mock.FirstMockID), ID: influxdb.ID(mock.FirstMockID),
Name: "organization2", Name: "organization2",
CRUDLog: influxdb.CRUDLog{ CRUDLog: influxdb.CRUDLog{
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC), CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),
@ -290,7 +289,7 @@ func CreateOrganization(
Name: "organization1", Name: "organization1",
}, },
{ {
ID: platform.ID(mock.FirstMockID), ID: influxdb.ID(mock.FirstMockID),
Name: "organization2", Name: "organization2",
CRUDLog: influxdb.CRUDLog{ CRUDLog: influxdb.CRUDLog{
CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC), CreatedAt: time.Date(2006, 5, 4, 1, 2, 3, 0, time.UTC),

View File

@ -10,7 +10,6 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts" "github.com/google/go-cmp/cmp/cmpopts"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "github.com/influxdata/influxdb/v2/mock"
) )
@ -26,34 +25,34 @@ func sessionCompareOptions(ignore ...string) cmp.Options {
cmp.Comparer(func(x, y []byte) bool { cmp.Comparer(func(x, y []byte) bool {
return bytes.Equal(x, y) return bytes.Equal(x, y)
}), }),
cmp.Transformer("Sort", func(in []*platform.Session) []*platform.Session { cmp.Transformer("Sort", func(in []*influxdb.Session) []*influxdb.Session {
out := append([]*platform.Session(nil), in...) // Copy input to avoid mutating it out := append([]*influxdb.Session(nil), in...) // Copy input to avoid mutating it
sort.Slice(out, func(i, j int) bool { sort.Slice(out, func(i, j int) bool {
return out[i].ID.String() > out[j].ID.String() return out[i].ID.String() > out[j].ID.String()
}) })
return out return out
}), }),
cmpopts.IgnoreFields(platform.Session{}, ignore...), cmpopts.IgnoreFields(influxdb.Session{}, ignore...),
cmpopts.EquateEmpty(), cmpopts.EquateEmpty(),
} }
} }
// SessionFields will include the IDGenerator, TokenGenerator, Sessions, and Users // SessionFields will include the IDGenerator, TokenGenerator, Sessions, and Users
type SessionFields struct { type SessionFields struct {
IDGenerator platform.IDGenerator IDGenerator influxdb.IDGenerator
TokenGenerator platform.TokenGenerator TokenGenerator influxdb.TokenGenerator
Sessions []*platform.Session Sessions []*influxdb.Session
Users []*platform.User Users []*influxdb.User
} }
type sessionServiceFunc func( type sessionServiceFunc func(
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
t *testing.T, t *testing.T,
) )
// SessionService tests all the service functions. // SessionService tests all the service functions.
func SessionService( 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 { tests := []struct {
name string name string
@ -85,7 +84,7 @@ func SessionService(
// CreateSession testing // CreateSession testing
func CreateSession( func CreateSession(
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
@ -93,7 +92,7 @@ func CreateSession(
} }
type wants struct { type wants struct {
err error err error
session *platform.Session session *influxdb.Session
} }
tests := []struct { tests := []struct {
@ -107,7 +106,7 @@ func CreateSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
Name: "user1", Name: "user1",
@ -118,7 +117,7 @@ func CreateSession(
user: "user1", user: "user1",
}, },
wants: wants{ wants: wants{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionTwoID), ID: MustIDBase16(sessionTwoID),
UserID: MustIDBase16(sessionOneID), UserID: MustIDBase16(sessionOneID),
Key: "abc123xyz", Key: "abc123xyz",
@ -144,7 +143,7 @@ func CreateSession(
// FindSession testing // FindSession testing
func FindSession( func FindSession(
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
@ -152,7 +151,7 @@ func FindSession(
} }
type wants struct { type wants struct {
err error err error
session *platform.Session session *influxdb.Session
} }
tests := []struct { tests := []struct {
@ -166,7 +165,7 @@ func FindSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Sessions: []*platform.Session{ Sessions: []*influxdb.Session{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
@ -179,7 +178,7 @@ func FindSession(
key: "abc123xyz", key: "abc123xyz",
}, },
wants: wants{ wants: wants{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -193,10 +192,10 @@ func FindSession(
key: "abc123xyz", key: "abc123xyz",
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpFindSession, Op: influxdb.OpFindSession,
Msg: platform.ErrSessionNotFound, Msg: influxdb.ErrSessionNotFound,
}, },
}, },
}, },
@ -220,7 +219,7 @@ func FindSession(
// ExpireSession testing // ExpireSession testing
func ExpireSession( func ExpireSession(
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
@ -228,7 +227,7 @@ func ExpireSession(
} }
type wants struct { type wants struct {
err error err error
session *platform.Session session *influxdb.Session
} }
tests := []struct { tests := []struct {
@ -242,7 +241,7 @@ func ExpireSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Sessions: []*platform.Session{ Sessions: []*influxdb.Session{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
@ -255,7 +254,7 @@ func ExpireSession(
key: "abc123xyz", key: "abc123xyz",
}, },
wants: wants{ wants: wants{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -288,18 +287,18 @@ func ExpireSession(
// RenewSession testing // RenewSession testing
func RenewSession( func RenewSession(
init func(SessionFields, *testing.T) (platform.SessionService, string, func()), init func(SessionFields, *testing.T) (influxdb.SessionService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
session *platform.Session session *influxdb.Session
key string key string
expireAt time.Time expireAt time.Time
} }
type wants struct { type wants struct {
err error err error
session *platform.Session session *influxdb.Session
} }
tests := []struct { tests := []struct {
@ -313,7 +312,7 @@ func RenewSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Sessions: []*platform.Session{ Sessions: []*influxdb.Session{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
@ -323,7 +322,7 @@ func RenewSession(
}, },
}, },
args: args{ args: args{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -333,7 +332,7 @@ func RenewSession(
expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC), expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC),
}, },
wants: wants{ wants: wants{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -346,7 +345,7 @@ func RenewSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Sessions: []*platform.Session{ Sessions: []*influxdb.Session{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
@ -356,7 +355,7 @@ func RenewSession(
}, },
}, },
args: args{ args: args{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -366,7 +365,7 @@ func RenewSession(
expireAt: time.Date(2030, 9, 26, 0, 0, 0, 0, time.UTC), expireAt: time.Date(2030, 9, 26, 0, 0, 0, 0, time.UTC),
}, },
wants: wants{ wants: wants{
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",
@ -379,7 +378,7 @@ func RenewSession(
fields: SessionFields{ fields: SessionFields{
IDGenerator: mock.NewIDGenerator(sessionTwoID, t), IDGenerator: mock.NewIDGenerator(sessionTwoID, t),
TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil), TokenGenerator: mock.NewTokenGenerator("abc123xyz", nil),
Sessions: []*platform.Session{ Sessions: []*influxdb.Session{
{ {
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
@ -393,12 +392,12 @@ func RenewSession(
expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC), expireAt: time.Date(2031, 9, 26, 0, 0, 10, 0, time.UTC),
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.EInternal, Code: influxdb.EInternal,
Msg: "session is nil", Msg: "session is nil",
Op: platform.OpRenewSession, Op: influxdb.OpRenewSession,
}, },
session: &platform.Session{ session: &influxdb.Session{
ID: MustIDBase16(sessionOneID), ID: MustIDBase16(sessionOneID),
UserID: MustIDBase16(sessionTwoID), UserID: MustIDBase16(sessionTwoID),
Key: "abc123xyz", Key: "abc123xyz",

View File

@ -8,7 +8,6 @@ import (
"github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2"
"github.com/influxdata/influxdb/v2/mock" "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 return x.Name == y.Name && x.OAuthID == y.OAuthID && x.Status == y.Status
}), }),
cmp.Transformer("Sort", func(in []*platform.User) []*platform.User { cmp.Transformer("Sort", func(in []*influxdb.User) []*influxdb.User {
out := append([]*platform.User(nil), in...) // Copy input to avoid mutating it out := append([]*influxdb.User(nil), in...) // Copy input to avoid mutating it
sort.Slice(out, func(i, j int) bool { sort.Slice(out, func(i, j int) bool {
return out[i].ID.String() > out[j].ID.String() return out[i].ID.String() > out[j].ID.String()
}) })
@ -42,17 +41,17 @@ var userCmpOptions = cmp.Options{
// UserFields will include the IDGenerator, and users // UserFields will include the IDGenerator, and users
type UserFields struct { type UserFields struct {
IDGenerator platform.IDGenerator IDGenerator influxdb.IDGenerator
Users []*platform.User Users []*influxdb.User
} }
// UserService tests all the service functions. // UserService tests all the service functions.
func UserService( 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 { tests := []struct {
name string 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) t *testing.T)
}{ }{
{ {
@ -93,15 +92,15 @@ func UserService(
// CreateUser testing // CreateUser testing
func CreateUser( func CreateUser(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
user *platform.User user *influxdb.User
} }
type wants struct { type wants struct {
err error err error
users []*platform.User users []*influxdb.User
} }
tests := []struct { tests := []struct {
@ -114,20 +113,20 @@ func CreateUser(
name: "create users with empty set", name: "create users with empty set",
fields: UserFields{ fields: UserFields{
IDGenerator: mock.NewIDGenerator(userOneID, t), IDGenerator: mock.NewIDGenerator(userOneID, t),
Users: []*platform.User{}, Users: []*influxdb.User{},
}, },
args: args{ args: args{
user: &platform.User{ user: &influxdb.User{
Name: "name1", Name: "name1",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
Name: "name1", Name: "name1",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -136,31 +135,31 @@ func CreateUser(
name: "basic create user", name: "basic create user",
fields: UserFields{ fields: UserFields{
IDGenerator: mock.NewIDGenerator(userTwoID, t), IDGenerator: mock.NewIDGenerator(userTwoID, t),
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{ args: args{
user: &platform.User{ user: &influxdb.User{
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -169,34 +168,34 @@ func CreateUser(
name: "names should be unique", name: "names should be unique",
fields: UserFields{ fields: UserFields{
IDGenerator: &mock.IDGenerator{ IDGenerator: &mock.IDGenerator{
IDFn: func() platform.ID { IDFn: func() influxdb.ID {
return MustIDBase16(userOneID) return MustIDBase16(userOneID)
}, },
}, },
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{ args: args{
user: &platform.User{ user: &influxdb.User{
Name: "user1", Name: "user1",
}, },
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
err: &platform.Error{ err: &influxdb.Error{
Code: platform.EConflict, Code: influxdb.EConflict,
Op: platform.OpCreateUser, Op: influxdb.OpCreateUser,
Msg: "user with name user1 already exists", Msg: "user with name user1 already exists",
}, },
}, },
@ -216,7 +215,7 @@ func CreateUser(
defer s.DeleteUser(ctx, tt.args.user.ID) 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 { if err != nil {
t.Fatalf("failed to retrieve users: %v", err) t.Fatalf("failed to retrieve users: %v", err)
} }
@ -229,15 +228,15 @@ func CreateUser(
// FindUserByID testing // FindUserByID testing
func FindUserByID( func FindUserByID(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
id platform.ID id influxdb.ID
} }
type wants struct { type wants struct {
err error err error
user *platform.User user *influxdb.User
} }
tests := []struct { tests := []struct {
@ -249,16 +248,16 @@ func FindUserByID(
{ {
name: "basic find user by id", name: "basic find user by id",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -266,26 +265,26 @@ func FindUserByID(
id: MustIDBase16(userTwoID), id: MustIDBase16(userTwoID),
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "find user by id not exists", name: "find user by id not exists",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -293,9 +292,9 @@ func FindUserByID(
id: MustIDBase16(threeID), id: MustIDBase16(threeID),
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpFindUserByID, Op: influxdb.OpFindUserByID,
Msg: "user not found", Msg: "user not found",
}, },
}, },
@ -320,16 +319,16 @@ func FindUserByID(
// FindUsers testing // FindUsers testing
func FindUsers( func FindUsers(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
ID platform.ID ID influxdb.ID
name string name string
} }
type wants struct { type wants struct {
users []*platform.User users []*influxdb.User
err error err error
} }
tests := []struct { tests := []struct {
@ -341,31 +340,31 @@ func FindUsers(
{ {
name: "find all users", name: "find all users",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{}, args: args{},
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -373,16 +372,16 @@ func FindUsers(
{ {
name: "find user by id", name: "find user by id",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -390,11 +389,11 @@ func FindUsers(
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -402,16 +401,16 @@ func FindUsers(
{ {
name: "find user by name", name: "find user by name",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -419,11 +418,11 @@ func FindUsers(
name: "xyz", name: "xyz",
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -431,7 +430,7 @@ func FindUsers(
{ {
name: "find user by id not exists", name: "find user by id not exists",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
@ -446,9 +445,9 @@ func FindUsers(
ID: MustIDBase16(threeID), ID: MustIDBase16(threeID),
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpFindUsers, Op: influxdb.OpFindUsers,
Msg: "user not found", Msg: "user not found",
}, },
}, },
@ -456,7 +455,7 @@ func FindUsers(
{ {
name: "find user by name not exists", name: "find user by name not exists",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
@ -471,9 +470,9 @@ func FindUsers(
name: "no_exist", name: "no_exist",
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpFindUsers, Op: influxdb.OpFindUsers,
Msg: "user not found", Msg: "user not found",
}, },
}, },
@ -486,7 +485,7 @@ func FindUsers(
defer done() defer done()
ctx := context.Background() ctx := context.Background()
filter := platform.UserFilter{} filter := influxdb.UserFilter{}
if tt.args.ID.Valid() { if tt.args.ID.Valid() {
filter.ID = &tt.args.ID filter.ID = &tt.args.ID
} }
@ -506,15 +505,15 @@ func FindUsers(
// DeleteUser testing // DeleteUser testing
func DeleteUser( func DeleteUser(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
ID platform.ID ID influxdb.ID
} }
type wants struct { type wants struct {
err error err error
users []*platform.User users []*influxdb.User
} }
tests := []struct { tests := []struct {
@ -526,16 +525,16 @@ func DeleteUser(
{ {
name: "delete users using exist id", name: "delete users using exist id",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "orgA", Name: "orgA",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
Name: "orgB", Name: "orgB",
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -543,11 +542,11 @@ func DeleteUser(
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
}, },
wants: wants{ wants: wants{
users: []*platform.User{ users: []*influxdb.User{
{ {
Name: "orgB", Name: "orgB",
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -555,16 +554,16 @@ func DeleteUser(
{ {
name: "delete users using id that does not exist", name: "delete users using id that does not exist",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
Name: "orgA", Name: "orgA",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
Name: "orgB", Name: "orgB",
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -572,21 +571,21 @@ func DeleteUser(
ID: MustIDBase16(userThreeID), ID: MustIDBase16(userThreeID),
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpDeleteUser, Op: influxdb.OpDeleteUser,
Msg: "user not found", Msg: "user not found",
}, },
users: []*platform.User{ users: []*influxdb.User{
{ {
Name: "orgA", Name: "orgA",
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
Name: "orgB", Name: "orgB",
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -601,7 +600,7 @@ func DeleteUser(
err := s.DeleteUser(ctx, tt.args.ID) err := s.DeleteUser(ctx, tt.args.ID)
diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t) diffPlatformErrors(tt.name, err, tt.wants.err, opPrefix, t)
filter := platform.UserFilter{} filter := influxdb.UserFilter{}
users, _, err := s.FindUsers(ctx, filter) users, _, err := s.FindUsers(ctx, filter)
if err != nil { if err != nil {
t.Fatalf("failed to retrieve users: %v", err) t.Fatalf("failed to retrieve users: %v", err)
@ -615,15 +614,15 @@ func DeleteUser(
// FindUser testing // FindUser testing
func FindUser( func FindUser(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
filter platform.UserFilter filter influxdb.UserFilter
} }
type wants struct { type wants struct {
user *platform.User user *influxdb.User
err error err error
} }
@ -636,131 +635,131 @@ func FindUser(
{ {
name: "find user by name", name: "find user by name",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
Name: func(s string) *string { return &s }("abc"), Name: func(s string) *string { return &s }("abc"),
}, },
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "find existing user by its id", name: "find existing user by its id",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)), ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
}, },
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "user with name does not exist", name: "user with name does not exist",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{}, Users: []*influxdb.User{},
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
Name: func(s string) *string { return &s }("abc"), Name: func(s string) *string { return &s }("abc"),
}, },
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "user not found", Msg: "user not found",
Op: platform.OpFindUser, Op: influxdb.OpFindUser,
}, },
}, },
}, },
{ {
name: "user with id does not exist", name: "user with id does not exist",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{}, Users: []*influxdb.User{},
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)), ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
}, },
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "user not found", Msg: "user not found",
Op: platform.OpFindUser, Op: influxdb.OpFindUser,
}, },
}, },
}, },
{ {
name: "filter with both name and ID prefers ID", name: "filter with both name and ID prefers ID",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)), ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
Name: func(s string) *string { return &s }("xyz"), Name: func(s string) *string { return &s }("xyz"),
}, },
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "abc", Name: "abc",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "filter with no name nor id returns error", name: "filter with no name nor id returns error",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
@ -768,20 +767,20 @@ func FindUser(
}, },
}, },
args: args{ args: args{
filter: platform.UserFilter{}, filter: influxdb.UserFilter{},
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "user not found", Msg: "user not found",
Op: platform.OpFindUser, Op: influxdb.OpFindUser,
}, },
}, },
}, },
{ {
name: "filter both name and non-existent id returns no user", name: "filter both name and non-existent id returns no user",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "xyz", Name: "xyz",
@ -789,16 +788,16 @@ func FindUser(
}, },
}, },
args: args{ args: args{
filter: platform.UserFilter{ filter: influxdb.UserFilter{
ID: func(id platform.ID) *platform.ID { return &id }(MustIDBase16(userOneID)), ID: func(id influxdb.ID) *influxdb.ID { return &id }(MustIDBase16(userOneID)),
Name: func(s string) *string { return &s }("xyz"), Name: func(s string) *string { return &s }("xyz"),
}, },
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Msg: "user not found", Msg: "user not found",
Op: platform.OpFindUser, Op: influxdb.OpFindUser,
}, },
}, },
}, },
@ -821,17 +820,17 @@ func FindUser(
// UpdateUser testing // UpdateUser testing
func UpdateUser( func UpdateUser(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
type args struct { type args struct {
name string name string
id platform.ID id influxdb.ID
status string status string
} }
type wants struct { type wants struct {
err error err error
user *platform.User user *influxdb.User
} }
tests := []struct { tests := []struct {
@ -843,16 +842,16 @@ func UpdateUser(
{ {
name: "update name", name: "update name",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -861,26 +860,26 @@ func UpdateUser(
name: "changed", name: "changed",
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "changed", Name: "changed",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "update name to same name", name: "update name to same name",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -889,26 +888,26 @@ func UpdateUser(
name: "user1", name: "user1",
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
{ {
name: "update status", name: "update status",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: platform.Active, Status: influxdb.Active,
}, },
{ {
ID: MustIDBase16(userTwoID), ID: MustIDBase16(userTwoID),
Name: "user2", Name: "user2",
Status: platform.Active, Status: influxdb.Active,
}, },
}, },
}, },
@ -917,7 +916,7 @@ func UpdateUser(
status: "inactive", status: "inactive",
}, },
wants: wants{ wants: wants{
user: &platform.User{ user: &influxdb.User{
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
Status: "inactive", Status: "inactive",
@ -927,7 +926,7 @@ func UpdateUser(
{ {
name: "update name with id not exists", name: "update name with id not exists",
fields: UserFields{ fields: UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: "user1", Name: "user1",
@ -943,9 +942,9 @@ func UpdateUser(
name: "changed", name: "changed",
}, },
wants: wants{ wants: wants{
err: &platform.Error{ err: &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpUpdateUser, Op: influxdb.OpUpdateUser,
Msg: "user not found", Msg: "user not found",
}, },
}, },
@ -958,17 +957,17 @@ func UpdateUser(
defer done() defer done()
ctx := context.Background() ctx := context.Background()
upd := platform.UserUpdate{} upd := influxdb.UserUpdate{}
if tt.args.name != "" { if tt.args.name != "" {
upd.Name = &tt.args.name upd.Name = &tt.args.name
} }
switch tt.args.status { switch tt.args.status {
case "inactive": case "inactive":
status := platform.Inactive status := influxdb.Inactive
upd.Status = &status upd.Status = &status
case "active": case "active":
status := platform.Inactive status := influxdb.Inactive
upd.Status = &status upd.Status = &status
} }
@ -983,13 +982,13 @@ func UpdateUser(
} }
func UpdateUser_IndexHygiene( func UpdateUser_IndexHygiene(
init func(UserFields, *testing.T) (platform.UserService, string, func()), init func(UserFields, *testing.T) (influxdb.UserService, string, func()),
t *testing.T, t *testing.T,
) { ) {
oldUserName := "user1" oldUserName := "user1"
users := UserFields{ users := UserFields{
Users: []*platform.User{ Users: []*influxdb.User{
{ {
ID: MustIDBase16(userOneID), ID: MustIDBase16(userOneID),
Name: oldUserName, Name: oldUserName,
@ -1001,7 +1000,7 @@ func UpdateUser_IndexHygiene(
defer done() defer done()
newUserName := "user1Updated" newUserName := "user1Updated"
upd := platform.UserUpdate{ upd := influxdb.UserUpdate{
Name: &newUserName, Name: &newUserName,
} }
@ -1012,7 +1011,7 @@ func UpdateUser_IndexHygiene(
} }
// Ensure we can find the user with the new name. // Ensure we can find the user with the new name.
_, nerr := s.FindUser(ctx, platform.UserFilter{ _, nerr := s.FindUser(ctx, influxdb.UserFilter{
Name: &newUserName, Name: &newUserName,
}) })
if nerr != nil { if nerr != nil {
@ -1022,12 +1021,12 @@ func UpdateUser_IndexHygiene(
// Ensure we cannot find a user with the old name. The index used when // 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 // searching by name should have been cleared out by the UpdateUser
// operation. // operation.
_, oerr := s.FindUser(ctx, platform.UserFilter{ _, oerr := s.FindUser(ctx, influxdb.UserFilter{
Name: &oldUserName, Name: &oldUserName,
}) })
ErrorsEqual(t, oerr, &platform.Error{ ErrorsEqual(t, oerr, &influxdb.Error{
Code: platform.ENotFound, Code: influxdb.ENotFound,
Op: platform.OpFindUser, Op: influxdb.OpFindUser,
Msg: "user not found", Msg: "user not found",
}) })
} }

View File

@ -266,7 +266,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
lookup := NewSeriesID(300032) lookup := NewSeriesID(300032)
// Add the same value over and over. // 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) { b.Run("same", func(b *testing.B) {
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
set.Add(lookup) set.Add(lookup)
@ -299,7 +299,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
}) })
// Add the same value over and over with no lock // 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) { b.Run("same no lock", func(b *testing.B) {
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
if !set.ContainsNoLock(lookup) { if !set.ContainsNoLock(lookup) {
@ -586,7 +586,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
lookup := uint64(300032) lookup := uint64(300032)
// Remove the same value over and over. // 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++ { for i := 0; i < b.N; i++ {
set.Remove(NewSeriesID(lookup)) 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 // Check if the value exists before adding it. Subsequent repeats of the code
// will result in contains checks. // 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++ { for i := 0; i < b.N; i++ {
set.Lock() set.Lock()
if set.ContainsNoLock(NewSeriesID(lookup)) { 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. // 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++ { for i := 0; i < b.N; i++ {
if set.Contains(NewSeriesID(lookup)) { if set.Contains(NewSeriesID(lookup)) {
set.Remove(NewSeriesID(lookup)) set.Remove(NewSeriesID(lookup))
@ -624,7 +624,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
} }
// Remove one at a time // 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() clone := set.Clone()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
for j := uint64(0); j < size/2; j++ { 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. // 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() clone := set.Clone()
other := NewSeriesIDSet() other := NewSeriesIDSet()
for j := uint64(0); j < size/2; j++ { 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 // 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() clone := set.Clone()
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
other := NewSeriesIDSet() other := NewSeriesIDSet()
@ -670,7 +670,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
}) })
// This is the case where a new result set is created. // 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() clone := set.Clone()
other := NewSeriesIDSet() other := NewSeriesIDSet()
for j := uint64(0); j < size/2; j++ { for j := uint64(0); j < size/2; j++ {

View File

@ -906,7 +906,7 @@ func (c *SeriesPartitionCompactor) insertKeyIDMap(dst []byte, capacity int64, se
binary.BigEndian.PutUint64(elem[SeriesOffsetSize:], id.RawID()) binary.BigEndian.PutUint64(elem[SeriesOffsetSize:], id.RawID())
// Swap with values in that position. // Swap with values in that position.
hash, key, offset, id = elemHash, elemKey, elemOffset, elemID offset, id = elemOffset, elemID
// Update current distance. // Update current distance.
dist = d dist = d
@ -943,7 +943,7 @@ func (c *SeriesPartitionCompactor) insertIDOffsetMap(dst []byte, capacity int64,
binary.BigEndian.PutUint64(elem[SeriesIDSize:], uint64(offset)) binary.BigEndian.PutUint64(elem[SeriesIDSize:], uint64(offset))
// Swap with values in that position. // Swap with values in that position.
hash, id, offset = elemHash, elemID, elemOffset id, offset = elemID, elemOffset
// Update current distance. // Update current distance.
dist = d dist = d

View File

@ -431,6 +431,7 @@ func TestIndex_MeasurementCardinalityStats(t *testing.T) {
}) })
t.Run("LargeWithDelete", func(t *testing.T) { t.Run("LargeWithDelete", func(t *testing.T) {
t.Skip("https://github.com/influxdata/influxdb/issues/15220")
if testing.Short() { if testing.Short() {
t.Skip("short mode, skipping") t.Skip("short mode, skipping")
} }

View File

@ -1054,6 +1054,7 @@ func (f *LogFile) writeMeasurementBlockTo(w io.Writer, names []string, info *log
mm := f.mms[name] mm := f.mms[name]
mmInfo := info.mms[name] mmInfo := info.mms[name]
assert(mmInfo != nil, "measurement info not found") 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()) mw.Add(mm.name, mm.deleted, mmInfo.offset, mmInfo.size, mm.seriesIDs())
} }

View File

@ -4,17 +4,16 @@ import (
"testing" "testing"
"github.com/influxdata/influxdb/v2" "github.com/influxdata/influxdb/v2"
platform "github.com/influxdata/influxdb/v2" influxdbtesting "github.com/influxdata/influxdb/v2/testing"
platformtesting "github.com/influxdata/influxdb/v2/testing"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
func TestOwnerMappingValidate(t *testing.T) { func TestOwnerMappingValidate(t *testing.T) {
type fields struct { type fields struct {
ResourceID platform.ID ResourceID influxdb.ID
ResourceType platform.ResourceType ResourceType influxdb.ResourceType
UserID platform.ID UserID influxdb.ID
UserType platform.UserType UserType influxdb.UserType
} }
tests := []struct { tests := []struct {
name string name string
@ -24,64 +23,64 @@ func TestOwnerMappingValidate(t *testing.T) {
{ {
name: "valid mapping", name: "valid mapping",
fields: fields{ fields: fields{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: platform.DashboardsResourceType, ResourceType: influxdb.DashboardsResourceType,
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
}, },
}, },
{ {
name: "mapping requires a resourceid", name: "mapping requires a resourceid",
fields: fields{ fields: fields{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: platform.DashboardsResourceType, ResourceType: influxdb.DashboardsResourceType,
}, },
wantErr: true, wantErr: true,
}, },
{ {
name: "mapping requires a userid", name: "mapping requires a userid",
fields: fields{ fields: fields{
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: platform.DashboardsResourceType, ResourceType: influxdb.DashboardsResourceType,
}, },
wantErr: true, wantErr: true,
}, },
{ {
name: "mapping requires a usertype", name: "mapping requires a usertype",
fields: fields{ fields: fields{
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
ResourceType: platform.DashboardsResourceType, ResourceType: influxdb.DashboardsResourceType,
}, },
wantErr: true, wantErr: true,
}, },
{ {
name: "mapping requires a resourcetype", name: "mapping requires a resourcetype",
fields: fields{ fields: fields{
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
}, },
wantErr: true, wantErr: true,
}, },
{ {
name: "the usertype provided must be valid", name: "the usertype provided must be valid",
fields: fields{ fields: fields{
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: "foo", UserType: "foo",
ResourceType: platform.DashboardsResourceType, ResourceType: influxdb.DashboardsResourceType,
}, },
wantErr: true, wantErr: true,
}, },
{ {
name: "the resourcetype provided must be valid", name: "the resourcetype provided must be valid",
fields: fields{ fields: fields{
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: "foo", ResourceType: "foo",
}, },
wantErr: true, wantErr: true,
@ -89,7 +88,7 @@ func TestOwnerMappingValidate(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
m := platform.UserResourceMapping{ m := influxdb.UserResourceMapping{
ResourceID: tt.fields.ResourceID, ResourceID: tt.fields.ResourceID,
ResourceType: tt.fields.ResourceType, ResourceType: tt.fields.ResourceType,
UserID: tt.fields.UserID, UserID: tt.fields.UserID,
@ -104,24 +103,24 @@ func TestOwnerMappingValidate(t *testing.T) {
func TestOwnerMappingToPermissions(t *testing.T) { func TestOwnerMappingToPermissions(t *testing.T) {
type wants struct { type wants struct {
perms platform.Permission perms influxdb.Permission
err bool err bool
} }
ResourceID, _ := platform.IDFromString("020f755c3c082000") ResourceID, _ := influxdb.IDFromString("020f755c3c082000")
tests := []struct { tests := []struct {
name string name string
urm platform.UserResourceMapping urm influxdb.UserResourceMapping
wants wants wants wants
}{ }{
{ {
name: "Org Member Has Permission To Read Org", name: "Org Member Has Permission To Read Org",
urm: platform.UserResourceMapping{ urm: influxdb.UserResourceMapping{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Member, UserType: influxdb.Member,
ResourceType: platform.OrgsResourceType, ResourceType: influxdb.OrgsResourceType,
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
}, },
wants: wants{ wants: wants{
err: false, err: false,
@ -129,11 +128,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
}, },
{ {
name: "Org Owner Has Permission To Write Org", name: "Org Owner Has Permission To Write Org",
urm: platform.UserResourceMapping{ urm: influxdb.UserResourceMapping{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: platform.OrgsResourceType, ResourceType: influxdb.OrgsResourceType,
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
}, },
wants: wants{ wants: wants{
err: false, err: false,
@ -141,11 +140,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
}, },
{ {
name: "Org Owner Has Permission To Read Org", name: "Org Owner Has Permission To Read Org",
urm: platform.UserResourceMapping{ urm: influxdb.UserResourceMapping{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Owner, UserType: influxdb.Owner,
ResourceType: platform.OrgsResourceType, ResourceType: influxdb.OrgsResourceType,
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
}, },
wants: wants{ wants: wants{
err: false, err: false,
@ -153,11 +152,11 @@ func TestOwnerMappingToPermissions(t *testing.T) {
}, },
{ {
name: "Bucket Member User Has Permission To Read Bucket", name: "Bucket Member User Has Permission To Read Bucket",
urm: platform.UserResourceMapping{ urm: influxdb.UserResourceMapping{
UserID: platformtesting.MustIDBase16("debac1e0deadbeef"), UserID: influxdbtesting.MustIDBase16("debac1e0deadbeef"),
UserType: platform.Member, UserType: influxdb.Member,
ResourceType: platform.BucketsResourceType, ResourceType: influxdb.BucketsResourceType,
ResourceID: platformtesting.MustIDBase16("020f755c3c082000"), ResourceID: influxdbtesting.MustIDBase16("020f755c3c082000"),
}, },
wants: wants{ wants: wants{
err: false, err: false,