From ee3b7b2fc868d385ee4ad80ff1ace4633de35e26 Mon Sep 17 00:00:00 2001
From: Pascal Bleser
Date: Thu, 17 Sep 2026 16:45:18 +0200
Subject: [PATCH] userlog: consumer tests: use shared TestBus implementation
from internal/eventstest
* instead of defining our own testBus struct in services/userlog, use
the one that was recently put into internal/eventstest with
e8cf677353c for exactly such purposes, just to reduce code
duplication
---
internal/eventstest/events_test_helpers.go | 8 +++-
.../pkg/service/consumer/service_test.go | 44 ++-----------------
2 files changed, 11 insertions(+), 41 deletions(-)
diff --git a/internal/eventstest/events_test_helpers.go b/internal/eventstest/events_test_helpers.go
index ce8ef22ad6..5f67eb7df4 100644
--- a/internal/eventstest/events_test_helpers.go
+++ b/internal/eventstest/events_test_helpers.go
@@ -16,6 +16,8 @@ func NewTestBus() TestBus {
type TestBus chan rev.Event
+var _ rev.Stream = NewTestBus()
+
func (tb TestBus) Consume(_ string, _ ...microevents.ConsumeOption) (<-chan microevents.Event, error) {
ch := make(chan microevents.Event)
go func() {
@@ -33,7 +35,11 @@ func (tb TestBus) Consume(_ string, _ ...microevents.ConsumeOption) (<-chan micr
return ch, nil
}
-func (tb TestBus) Publish(e any) string {
+func (tb TestBus) Publish(_ string, _ any, _ ...microevents.PublishOption) error {
+ return nil
+}
+
+func (tb TestBus) Push(e any) string {
ev := rev.Event{
ID: uuid.New().String(),
Type: reflect.TypeOf(e).String(),
diff --git a/services/userlog/pkg/service/consumer/service_test.go b/services/userlog/pkg/service/consumer/service_test.go
index 72929d128c..51fc02ba73 100644
--- a/services/userlog/pkg/service/consumer/service_test.go
+++ b/services/userlog/pkg/service/consumer/service_test.go
@@ -3,14 +3,12 @@ package consumer_test
import (
"context"
"encoding/json"
- "reflect"
"time"
gateway "github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1"
user "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
rpc "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
- "github.com/google/uuid"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/opencloud-eu/reva/v2/pkg/events"
@@ -19,11 +17,11 @@ import (
"github.com/opencloud-eu/reva/v2/pkg/utils"
cs3mocks "github.com/opencloud-eu/reva/v2/tests/cs3mocks/mocks"
"github.com/stretchr/testify/mock"
- microevents "go-micro.dev/v4/events"
microstore "go-micro.dev/v4/store"
"go.opentelemetry.io/otel/trace"
"google.golang.org/grpc"
+ "github.com/opencloud-eu/opencloud/internal/eventstest"
"github.com/opencloud-eu/opencloud/pkg/log"
settingsmsg "github.com/opencloud-eu/opencloud/protogen/gen/opencloud/messages/settings/v0"
settingssvc "github.com/opencloud-eu/opencloud/protogen/gen/opencloud/services/settings/v0"
@@ -44,7 +42,7 @@ var _ = Describe("Userlog consumer", func() {
}
cs *consumersvc.Service
- bus testBus
+ bus eventstest.TestBus
sto microstore.Store
gatewayClient *cs3mocks.GatewayAPIClient
@@ -56,7 +54,7 @@ var _ = Describe("Userlog consumer", func() {
BeforeEach(func() {
var err error
sto = store.Create()
- bus = testBus(make(chan events.Event))
+ bus = eventstest.NewTestBus()
pool.RemoveSelector("GatewaySelector" + "eu.opencloud.api.gateway")
gatewayClient = &cs3mocks.GatewayAPIClient{}
@@ -122,7 +120,7 @@ var _ = Describe("Userlog consumer", func() {
}()
ids := make(map[string]struct{})
- ids[bus.publish(events.SpaceDisabled{Executant: &user.UserId{OpaqueId: "executinguserid"}, ID: &provider.StorageSpaceId{OpaqueId: "spaceid"}})] = struct{}{}
+ ids[bus.Push(events.SpaceDisabled{Executant: &user.UserId{OpaqueId: "executinguserid"}, ID: &provider.StorageSpaceId{OpaqueId: "spaceid"}})] = struct{}{}
time.Sleep(500 * time.Millisecond)
@@ -144,37 +142,3 @@ var _ = Describe("Userlog consumer", func() {
close(bus)
})
})
-
-type testBus chan events.Event
-
-func (tb testBus) Consume(_ string, _ ...microevents.ConsumeOption) (<-chan microevents.Event, error) {
- ch := make(chan microevents.Event)
- go func() {
- for ev := range tb {
- b, _ := json.Marshal(ev.Event)
- ch <- microevents.Event{
- Payload: b,
- Metadata: map[string]string{
- events.MetadatakeyEventID: ev.ID,
- events.MetadatakeyEventType: ev.Type,
- },
- }
- }
- }()
- return ch, nil
-}
-
-func (tb testBus) Publish(_ string, _ any, _ ...microevents.PublishOption) error {
- return nil
-}
-
-func (tb testBus) publish(e any) string {
- ev := events.Event{
- ID: uuid.New().String(),
- Type: reflect.TypeOf(e).String(),
- Event: e,
- }
-
- tb <- ev
- return ev.ID
-}