From 60c3af7929a82a526f6206281a4d323650d828ea Mon Sep 17 00:00:00 2001
From: Lyon Hill <lyondhill@gmail.com>
Date: Wed, 22 Apr 2020 14:31:56 -0600
Subject: [PATCH] fix(tenant): include pagination options in middlewares
 (#17835)

---
 tenant/middleware_bucket_logging.go      |  2 +-
 tenant/middleware_bucket_logging_test.go | 19 +++++++++++++++++++
 tenant/middleware_org_logging.go         |  2 +-
 tenant/middleware_org_logging_test.go    | 19 +++++++++++++++++++
 tenant/middleware_urm_logging.go         |  2 +-
 tenant/middleware_urm_logging_test.go    | 19 +++++++++++++++++++
 tenant/middleware_user_logging.go        |  2 +-
 tenant/middleware_user_logging_test.go   | 19 +++++++++++++++++++
 8 files changed, 80 insertions(+), 4 deletions(-)
 create mode 100644 tenant/middleware_bucket_logging_test.go
 create mode 100644 tenant/middleware_org_logging_test.go
 create mode 100644 tenant/middleware_urm_logging_test.go
 create mode 100644 tenant/middleware_user_logging_test.go

diff --git a/tenant/middleware_bucket_logging.go b/tenant/middleware_bucket_logging.go
index 6bcb601652..15967affe7 100644
--- a/tenant/middleware_bucket_logging.go
+++ b/tenant/middleware_bucket_logging.go
@@ -83,7 +83,7 @@ func (l *BucketLogger) FindBuckets(ctx context.Context, filter influxdb.BucketFi
 		}
 		l.logger.Debug("buckets find", dur)
 	}(time.Now())
-	return l.bucketService.FindBuckets(ctx, filter)
+	return l.bucketService.FindBuckets(ctx, filter, opt...)
 }
 
 func (l *BucketLogger) UpdateBucket(ctx context.Context, id influxdb.ID, upd influxdb.BucketUpdate) (u *influxdb.Bucket, err error) {
diff --git a/tenant/middleware_bucket_logging_test.go b/tenant/middleware_bucket_logging_test.go
new file mode 100644
index 0000000000..ba70dfbce1
--- /dev/null
+++ b/tenant/middleware_bucket_logging_test.go
@@ -0,0 +1,19 @@
+package tenant_test
+
+import (
+	"testing"
+
+	"github.com/influxdata/influxdb/v2"
+	"github.com/influxdata/influxdb/v2/tenant"
+	influxdbtesting "github.com/influxdata/influxdb/v2/testing"
+	"go.uber.org/zap/zaptest"
+)
+
+func TestBucketLoggingService(t *testing.T) {
+	influxdbtesting.BucketService(initBoltBucketLoggingService, t, influxdbtesting.WithoutHooks())
+}
+
+func initBoltBucketLoggingService(f influxdbtesting.BucketFields, t *testing.T) (influxdb.BucketService, string, func()) {
+	svc, s, closer := initBoltBucketService(f, t)
+	return tenant.NewBucketLogger(zaptest.NewLogger(t), svc), s, closer
+}
diff --git a/tenant/middleware_org_logging.go b/tenant/middleware_org_logging.go
index d4efd34a3e..a20d359482 100644
--- a/tenant/middleware_org_logging.go
+++ b/tenant/middleware_org_logging.go
@@ -71,7 +71,7 @@ func (l *OrgLogger) FindOrganizations(ctx context.Context, filter influxdb.Organ
 		}
 		l.logger.Debug("orgs find", dur)
 	}(time.Now())
-	return l.orgService.FindOrganizations(ctx, filter)
+	return l.orgService.FindOrganizations(ctx, filter, opt...)
 }
 
 func (l *OrgLogger) UpdateOrganization(ctx context.Context, id influxdb.ID, upd influxdb.OrganizationUpdate) (u *influxdb.Organization, err error) {
diff --git a/tenant/middleware_org_logging_test.go b/tenant/middleware_org_logging_test.go
new file mode 100644
index 0000000000..ede755bf0f
--- /dev/null
+++ b/tenant/middleware_org_logging_test.go
@@ -0,0 +1,19 @@
+package tenant_test
+
+import (
+	"testing"
+
+	"github.com/influxdata/influxdb/v2"
+	"github.com/influxdata/influxdb/v2/tenant"
+	influxdbtesting "github.com/influxdata/influxdb/v2/testing"
+	"go.uber.org/zap/zaptest"
+)
+
+func TestOrganizationLoggingService(t *testing.T) {
+	influxdbtesting.OrganizationService(initBoltOrganizationLoggingService, t)
+}
+
+func initBoltOrganizationLoggingService(f influxdbtesting.OrganizationFields, t *testing.T) (influxdb.OrganizationService, string, func()) {
+	orgSvc, s, closer := initBoltOrganizationService(f, t)
+	return tenant.NewOrgLogger(zaptest.NewLogger(t), orgSvc), s, closer
+}
diff --git a/tenant/middleware_urm_logging.go b/tenant/middleware_urm_logging.go
index bac8bc98ac..c2c2f7ef86 100644
--- a/tenant/middleware_urm_logging.go
+++ b/tenant/middleware_urm_logging.go
@@ -45,7 +45,7 @@ func (l *URMLogger) FindUserResourceMappings(ctx context.Context, filter influxd
 		}
 		l.logger.Debug("urm find", dur)
 	}(time.Now())
-	return l.urmService.FindUserResourceMappings(ctx, filter)
+	return l.urmService.FindUserResourceMappings(ctx, filter, opt...)
 }
 
 func (l *URMLogger) DeleteUserResourceMapping(ctx context.Context, resourceID, userID influxdb.ID) (err error) {
diff --git a/tenant/middleware_urm_logging_test.go b/tenant/middleware_urm_logging_test.go
new file mode 100644
index 0000000000..9d9790067e
--- /dev/null
+++ b/tenant/middleware_urm_logging_test.go
@@ -0,0 +1,19 @@
+package tenant_test
+
+import (
+	"testing"
+
+	"github.com/influxdata/influxdb/v2"
+	"github.com/influxdata/influxdb/v2/tenant"
+	influxdbtesting "github.com/influxdata/influxdb/v2/testing"
+	"go.uber.org/zap/zaptest"
+)
+
+func TestUserResourceMappingLoggingService(t *testing.T) {
+	influxdbtesting.UserResourceMappingService(initBoltUserResourceMappingLoggingService, t)
+}
+
+func initBoltUserResourceMappingLoggingService(f influxdbtesting.UserResourceFields, t *testing.T) (influxdb.UserResourceMappingService, func()) {
+	svc, closer := initBoltUserResourceMappingService(f, t)
+	return tenant.NewURMLogger(zaptest.NewLogger(t), svc), closer
+}
diff --git a/tenant/middleware_user_logging.go b/tenant/middleware_user_logging.go
index be47296ff2..cd5c274c14 100644
--- a/tenant/middleware_user_logging.go
+++ b/tenant/middleware_user_logging.go
@@ -71,7 +71,7 @@ func (l *UserLogger) FindUsers(ctx context.Context, filter influxdb.UserFilter,
 		}
 		l.logger.Debug("users find", dur)
 	}(time.Now())
-	return l.userService.FindUsers(ctx, filter)
+	return l.userService.FindUsers(ctx, filter, opt...)
 }
 
 func (l *UserLogger) UpdateUser(ctx context.Context, id influxdb.ID, upd influxdb.UserUpdate) (u *influxdb.User, err error) {
diff --git a/tenant/middleware_user_logging_test.go b/tenant/middleware_user_logging_test.go
new file mode 100644
index 0000000000..6ea0e24091
--- /dev/null
+++ b/tenant/middleware_user_logging_test.go
@@ -0,0 +1,19 @@
+package tenant_test
+
+import (
+	"testing"
+
+	"github.com/influxdata/influxdb/v2"
+	"github.com/influxdata/influxdb/v2/tenant"
+	influxdbtesting "github.com/influxdata/influxdb/v2/testing"
+	"go.uber.org/zap/zaptest"
+)
+
+func TestUserLoggingService(t *testing.T) {
+	influxdbtesting.UserService(initBoltUserLoggingService, t)
+}
+
+func initBoltUserLoggingService(f influxdbtesting.UserFields, t *testing.T) (influxdb.UserService, string, func()) {
+	svc, s, closer := initBoltUserService(f, t)
+	return tenant.NewUserLogger(zaptest.NewLogger(t), svc), s, closer
+}