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
ErrTokenAlreadyExistsError = &influxdb.Error{
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 {
pStats := map[string]float64{}
err := json.Unmarshal(v, &pStats)
if err != nil {
if err := json.Unmarshal(v, &pStats); err != nil {
return err
}
for k, v := range pStats {
if _, ok := telegrafPlugins[k]; ok {
telegrafPlugins[k] += v
} else {
telegrafPlugins[k] = v
}
telegrafPlugins[k] += v
}
}

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"`
ReportingDisabled bool `short:"r" long:"reporting-disabled" description:"Disable reporting of usage stats (os,arch,version,cluster_id,uptime) once every 24hr" env:"REPORTING_DISABLED"`
LogLevel string `short:"l" long:"log-level" value-name:"choice" choice:"debug" choice:"info" choice:"error" default:"info" description:"Set the logging level" env:"LOG_LEVEL"` //lint:ignore SA5008 duplicate tag choice is expected with go-flags.
LogLevel string `short:"l" long:"log-level" value-name:"choice" choice:"debug" choice:"info" choice:"error" default:"info" description:"Set the logging level" env:"LOG_LEVEL"`
Basepath string `short:"p" long:"basepath" description:"A URL path prefix under which all chronograf routes will be mounted. (Note: PREFIX_ROUTES has been deprecated. Now, if basepath is set, all routes will be prefixed with it.)" env:"BASE_PATH"`
ShowVersion bool `short:"v" long:"version" description:"Show Chronograf version info"`
BuildInfo chronograf.BuildInfo

View File

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

View File

@ -128,6 +128,7 @@ func getMemoryUnused(t *testing.T, reg *prom.Registry) int64 {
return 0
}
//lint:ignore U1000 erroneously flagged by staticcheck since it is used in skipped tests
func checkMemoryUsed(t *testing.T, l *launcher.TestLauncher, concurrency, initial int) {
t.Helper()

4
go.mod
View File

@ -36,7 +36,7 @@ require (
github.com/golang/protobuf v1.3.3
github.com/golang/snappy v0.0.1
github.com/google/btree v1.0.0
github.com/google/go-cmp v0.4.0
github.com/google/go-cmp v0.5.0
github.com/google/go-github v17.0.0+incompatible
github.com/google/go-jsonnet v0.14.0
github.com/goreleaser/goreleaser v0.135.0
@ -103,7 +103,7 @@ require (
google.golang.org/grpc v1.27.1
gopkg.in/vmihailenco/msgpack.v2 v2.9.1 // indirect
gopkg.in/yaml.v3 v3.0.0-20200121175148-a6ecf24a6d71
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2
honnef.co/go/tools v0.0.1-2020.1.4
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf
labix.org/v2/mgo v0.0.0-20140701140051-000000000287 // indirect
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect

7
go.sum
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.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-github/v28 v28.1.1 h1:kORf5ekX5qwXO2mGzXXOjMe/g6ap8ahVe0sBEulhSxo=
@ -1041,6 +1043,7 @@ golang.org/x/tools v0.0.0-20191113232020-e2727e816f5a/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
@ -1174,8 +1177,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2 h1:TeRFic5UJx5LXC3n8mOt92bqyM5J+so5EuErnxK4PAk=
honnef.co/go/tools v0.0.1-2019.2.3.0.20190904154718-afd67930eec2/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
istio.io/api v0.0.0-20190515205759-982e5c3888c6/go.mod h1:hhLFQmpHia8zgaM37vb2ml9iS5NfNfqZGRt1pS9aVEo=
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf h1:iNpiPvg8fcQxebYPrd9Dhjvqd+SIF7OFH+1qp89/nHQ=
istio.io/pkg v0.0.0-20200606170016-70c5172b9cdf/go.mod h1:EwvmercDF5DLCg5qUQlkM40xHwCxGoY1H/2LhI1p2YU=

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -17,6 +17,7 @@ func TestBoltTenantService(t *testing.T) {
itesting.TenantService(t, initBoltTenantService)
}
//lint:ignore U1000 erroneously flagged by staticcheck since it is used in skipped tests
func initBoltTenantService(t *testing.T, f itesting.TenantFields) (influxdb.TenantService, func()) {
s, closeStore, err := NewTestBoltStore(t)
if err != nil {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -151,7 +151,7 @@ func New(config Config) (*Controller, error) {
if err != nil {
return nil, errors.Wrap(err, "invalid controller config")
}
c.MetricLabelKeys = append(c.MetricLabelKeys, orgLabel) //lint:ignore SA1029 this is a temporary ignore until we have time to create an appropriate type
c.MetricLabelKeys = append(c.MetricLabelKeys, orgLabel)
logger := c.Logger
if logger == nil {
logger = zap.NewNop()

View File

@ -35,6 +35,10 @@ var opts = []cmp.Option{
cmpopts.IgnoreUnexported(query.Request{}),
}
type contextKey string
const loggingCtxKey contextKey = "do-logging"
func TestLoggingProxyQueryService(t *testing.T) {
// Set a Jaeger in-memory tracer to get span information in the query log.
oldTracer := opentracing.GlobalTracer()
@ -118,9 +122,8 @@ func TestLoggingProxyQueryService(t *testing.T) {
logs = nil
}()
loggingKey := "do-logging"
condLog := query.ConditionalLogging(func(ctx context.Context) bool {
return ctx.Value(loggingKey) != nil
return ctx.Value(loggingCtxKey) != nil
})
lpqs := query.NewLoggingProxyQueryService(zap.NewNop(), logger, pqs, condLog)
@ -133,7 +136,7 @@ func TestLoggingProxyQueryService(t *testing.T) {
t.Fatal("expected query service not to log")
}
ctx := context.WithValue(context.Background(), loggingKey, true)
ctx := context.WithValue(context.Background(), loggingCtxKey, true)
_, err = lpqs.Query(ctx, ioutil.Discard, req)
if err != nil {
t.Fatal(err)

10
task.go
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,6 @@ package testing
import (
"bytes"
"context"
"fmt"
"sort"
"testing"
"time"
@ -266,7 +265,7 @@ func CreateBucket(
err: &influxdb.Error{
Code: influxdb.EConflict,
Op: influxdb.OpCreateBucket,
Msg: fmt.Sprintf("bucket with name bucket1 already exists"),
Msg: "bucket with name bucket1 already exists",
},
},
},
@ -434,7 +433,7 @@ func IDUnique(
},
err: &influxdb.Error{
Code: influxdb.EInternal,
Msg: fmt.Sprintf("unable to generate valid id"),
Msg: "unable to generate valid id",
},
},
},
@ -474,7 +473,7 @@ func IDUnique(
},
err: &influxdb.Error{
Code: influxdb.EInternal,
Msg: fmt.Sprintf("unable to generate valid id"),
Msg: "unable to generate valid id",
},
},
},

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -266,7 +266,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
lookup := NewSeriesID(300032)
// Add the same value over and over.
b.Run(fmt.Sprint("cardinality_1000000_add"), func(b *testing.B) {
b.Run("cardinality_1000000_add", func(b *testing.B) {
b.Run("same", func(b *testing.B) {
for i := 0; i < b.N; i++ {
set.Add(lookup)
@ -299,7 +299,7 @@ func BenchmarkSeriesIDSet_Add(b *testing.B) {
})
// Add the same value over and over with no lock
b.Run(fmt.Sprint("cardinality_1000000_check_add"), func(b *testing.B) {
b.Run("cardinality_1000000_check_add", func(b *testing.B) {
b.Run("same no lock", func(b *testing.B) {
for i := 0; i < b.N; i++ {
if !set.ContainsNoLock(lookup) {
@ -586,7 +586,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
lookup := uint64(300032)
// Remove the same value over and over.
b.Run(fmt.Sprint("cardinality_1000000_remove_same"), func(b *testing.B) {
b.Run("cardinality_1000000_remove_same", func(b *testing.B) {
for i := 0; i < b.N; i++ {
set.Remove(NewSeriesID(lookup))
}
@ -594,7 +594,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
// Check if the value exists before adding it. Subsequent repeats of the code
// will result in contains checks.
b.Run(fmt.Sprint("cardinality_1000000_check_remove_global_lock"), func(b *testing.B) {
b.Run("cardinality_1000000_check_remove_global_lock", func(b *testing.B) {
for i := 0; i < b.N; i++ {
set.Lock()
if set.ContainsNoLock(NewSeriesID(lookup)) {
@ -605,7 +605,7 @@ func BenchmarkSeriesIDSet_Remove(b *testing.B) {
})
// Check if the value exists before adding it under two locks.
b.Run(fmt.Sprint("cardinality_1000000_check_remove_multi_lock"), func(b *testing.B) {
b.Run("cardinality_1000000_check_remove_multi_lock", func(b *testing.B) {
for i := 0; i < b.N; i++ {
if set.Contains(NewSeriesID(lookup)) {
set.Remove(NewSeriesID(lookup))
@ -624,7 +624,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
}
// Remove one at a time
b.Run(fmt.Sprint("cardinality_1000000_remove_each"), func(b *testing.B) {
b.Run("cardinality_1000000_remove_each", func(b *testing.B) {
clone := set.Clone()
for i := 0; i < b.N; i++ {
for j := uint64(0); j < size/2; j++ {
@ -638,7 +638,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
})
// This is the case where a target series id set exists.
b.Run(fmt.Sprint("cardinality_1000000_remove_set_exists"), func(b *testing.B) {
b.Run("cardinality_1000000_remove_set_exists", func(b *testing.B) {
clone := set.Clone()
other := NewSeriesIDSet()
for j := uint64(0); j < size/2; j++ {
@ -654,7 +654,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
})
// Make a target series id set and negate it
b.Run(fmt.Sprint("cardinality_1000000_remove_set"), func(b *testing.B) {
b.Run("cardinality_1000000_remove_set", func(b *testing.B) {
clone := set.Clone()
for i := 0; i < b.N; i++ {
other := NewSeriesIDSet()
@ -670,7 +670,7 @@ func BenchmarkSeriesIDSet_MassRemove(b *testing.B) {
})
// This is the case where a new result set is created.
b.Run(fmt.Sprint("cardinality_1000000_remove_set_new"), func(b *testing.B) {
b.Run("cardinality_1000000_remove_set_new", func(b *testing.B) {
clone := set.Clone()
other := NewSeriesIDSet()
for j := uint64(0); j < size/2; j++ {

View File

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

View File

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

View File

@ -1054,6 +1054,7 @@ func (f *LogFile) writeMeasurementBlockTo(w io.Writer, names []string, info *log
mm := f.mms[name]
mmInfo := info.mms[name]
assert(mmInfo != nil, "measurement info not found")
//lint:ignore SA5011 mmInfo is flagged as being possibly nil because of the assertion
mw.Add(mm.name, mm.deleted, mmInfo.offset, mmInfo.size, mm.seriesIDs())
}

View File

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