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