diff --git a/internal/grpc/services/sharesstorageprovider/sharesstorageprovider_test.go b/internal/grpc/services/sharesstorageprovider/sharesstorageprovider_test.go index d2921a53e6e..6c303bf1553 100644 --- a/internal/grpc/services/sharesstorageprovider/sharesstorageprovider_test.go +++ b/internal/grpc/services/sharesstorageprovider/sharesstorageprovider_test.go @@ -168,7 +168,7 @@ var _ = Describe("Sharesstorageprovider", func() { gatewaySelector = pool.GetSelector[gateway.GatewayAPIClient]( "GatewaySelector", "any", - func(cc *grpc.ClientConn) gateway.GatewayAPIClient { + func(cc grpc.ClientConnInterface) gateway.GatewayAPIClient { return gatewayClient }, ) @@ -178,7 +178,7 @@ var _ = Describe("Sharesstorageprovider", func() { sharingCollaborationSelector = pool.GetSelector[collaboration.CollaborationAPIClient]( "SharingCollaborationSelector", "any", - func(cc *grpc.ClientConn) collaboration.CollaborationAPIClient { + func(cc grpc.ClientConnInterface) collaboration.CollaborationAPIClient { return sharingCollaborationClient }, ) diff --git a/internal/grpc/services/usershareprovider/usershareprovider_test.go b/internal/grpc/services/usershareprovider/usershareprovider_test.go index afaf689559d..d577a80521f 100644 --- a/internal/grpc/services/usershareprovider/usershareprovider_test.go +++ b/internal/grpc/services/usershareprovider/usershareprovider_test.go @@ -77,7 +77,7 @@ var _ = Describe("user share provider service", func() { gatewaySelector = pool.GetSelector[gateway.GatewayAPIClient]( "GatewaySelector", "any", - func(cc *grpc.ClientConn) gateway.GatewayAPIClient { + func(cc grpc.ClientConnInterface) gateway.GatewayAPIClient { return gatewayClient }, ) diff --git a/pkg/appauth/manager/json/json_test.go b/pkg/appauth/manager/json/json_test.go index 74e6156a138..a06a964e1b5 100644 --- a/pkg/appauth/manager/json/json_test.go +++ b/pkg/appauth/manager/json/json_test.go @@ -34,8 +34,10 @@ import ( typespb "github.com/cs3org/go-cs3apis/cs3/types/v1beta1" ctxpkg "github.com/cs3org/reva/v2/pkg/ctx" "github.com/gdexlab/go-render/render" + "github.com/google/go-cmp/cmp" "github.com/sethvargo/go-password/password" "golang.org/x/crypto/bcrypt" + "google.golang.org/protobuf/testing/protocmp" ) func TestNewManager(t *testing.T) { @@ -131,9 +133,11 @@ func TestNewManager(t *testing.T) { t.Skip() } } - if !reflect.DeepEqual(test.expected, manager) { + if !reflect.DeepEqual(test.expected.config, manager.(*jsonManager).config) { t.Fatalf("appauth differ: expected=%v got=%v", render.AsCode(test.expected), render.AsCode(manager)) } + + comparePasswords(t, test.expected.passwords, manager.(*jsonManager).passwords) }) } @@ -256,13 +260,11 @@ func TestGenerateAppPassword(t *testing.T) { // test state in memory - if !reflect.DeepEqual(pw, test.expected) { - t.Fatalf("apppassword differ: expected=%v got=%v", render.AsCode(test.expected), render.AsCode(pw)) + if !cmp.Equal(pw, test.expected, protocmp.Transform()) { + t.Fatalf("apppassword differ: expected=%v got=%v", test.expected, pw) } - if !reflect.DeepEqual(manager.(*jsonManager).passwords, test.expectedState) { - t.Fatalf("manager state differ: expected=%v got=%v", render.AsCode(test.expectedState), render.AsCode(manager.(*jsonManager).passwords)) - } + comparePasswords(t, manager.(*jsonManager).passwords, test.expectedState) // test saved json @@ -281,10 +283,7 @@ func TestGenerateAppPassword(t *testing.T) { t.Fatalf("error decoding json: %v", err) } - if !reflect.DeepEqual(jsonState, test.expectedState) { - t.Fatalf("json state differ: expected=%v got=%v", render.AsCode(jsonState), render.AsCode(test.expectedState)) - } - + comparePasswords(t, jsonState, test.expectedState) }) } @@ -409,10 +408,11 @@ func TestListAppPasswords(t *testing.T) { t.Fatal("error listing passwords:", err) } - if !reflect.DeepEqual(pws, test.expectedState) { + if len(pws) != len(test.expectedState) { t.Fatalf("list passwords differ: expected=%v got=%v", test.expectedState, pws) } + cmp.Equal(pws, test.expectedState, protocmp.Transform()) }) } @@ -535,10 +535,7 @@ func TestInvalidateAppPassword(t *testing.T) { t.Skip() } } - if !reflect.DeepEqual(test.expectedState, manager.(*jsonManager).passwords) { - t.Fatalf("apppauth state differ: expected=%v got=%v", render.AsCode(test.expectedState), render.AsCode(manager.(*jsonManager).passwords)) - } - + comparePasswords(t, test.expectedState, manager.(*jsonManager).passwords) }) } @@ -692,8 +689,8 @@ func TestGetAppPassword(t *testing.T) { t.Skip() } } - if !reflect.DeepEqual(test.expectedState, pw) { - t.Fatalf("apppauth state differ: expected=%v got=%v", render.AsCode(test.expectedState), render.AsCode(pw)) + if !cmp.Equal(test.expectedState, pw, protocmp.Transform()) { + t.Fatalf("apppauth state differ: expected=%v got=%v", test.expectedState, pw) } }) @@ -732,3 +729,9 @@ func concatMaps(maps ...map[string]map[string]*apppb.AppPassword) map[string]map } return res } + +func comparePasswords(t *testing.T, expected, got map[string]map[string]*apppb.AppPassword) { + if !cmp.Equal(expected, got, protocmp.Transform()) { + t.Fatalf("passwords differ: expected=%v got=%v", expected, got) + } +} diff --git a/pkg/ocm/share/repository/nextcloud/nextcloud_test.go b/pkg/ocm/share/repository/nextcloud/nextcloud_test.go index 486c772e325..47bee65c12a 100644 --- a/pkg/ocm/share/repository/nextcloud/nextcloud_test.go +++ b/pkg/ocm/share/repository/nextcloud/nextcloud_test.go @@ -226,16 +226,10 @@ var _ = Describe("Nextcloud", func() { // Ctime: &types.Timestamp{ // Seconds: 1234567890, // Nanos: 0, - // XXX_NoUnkeyedLiteral: struct{}{}, - // XXX_unrecognized: nil, - // XXX_sizecache: 0, // }, // Mtime: &types.Timestamp{ // Seconds: 1234567890, // Nanos: 0, - // XXX_NoUnkeyedLiteral: struct{}{}, - // XXX_unrecognized: nil, - // XXX_sizecache: 0, // }, // })) // checkCalled(called, `POST /apps/sciencemesh/~tester/api/ocm/addReceivedShare {"md":{"opaque_id":"fileid-/some/path"},"g":{"grantee":{"Id":{"UserId":{"idp":"0.0.0.0:19000","opaque_id":"f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c","type":1}}},"permissions":{"permissions":{"get_path":true}}},"provider_domain":"cern.ch","resource_type":"file","provider_id":2,"owner_opaque_id":"einstein","owner_display_name":"Albert Einstein","protocol":{"name":"webdav","options":{"sharedSecret":"secret","permissions":"webdav-property"}}}`) @@ -278,18 +272,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, })) checkCalled(called, `POST /apps/sciencemesh/~tester/api/ocm/GetShare {"Spec":{"Id":{"opaque_id":"some-share-id"}}}`) @@ -352,16 +340,10 @@ var _ = Describe("Nextcloud", func() { // Ctime: &types.Timestamp{ // Seconds: 1234567890, // Nanos: 0, - // XXX_NoUnkeyedLiteral: struct{}{}, - // XXX_unrecognized: nil, - // XXX_sizecache: 0, // }, // Mtime: &types.Timestamp{ // Seconds: 1234567890, // Nanos: 0, - // XXX_NoUnkeyedLiteral: struct{}{}, - // XXX_unrecognized: nil, - // XXX_sizecache: 0, // }, // })) // checkCalled(called, `POST /apps/sciencemesh/~tester/api/ocm/UpdateShare {"ref":{"Spec":{"Id":{"opaque_id":"some-share-id"}}},"p":{"permissions":{"add_grant":true,"create_container":true,"delete":true,"get_path":true,"get_quota":true,"initiate_file_download":true,"initiate_file_upload":true,"list_grants":true,"list_container":true,"list_file_versions":true,"list_recycle":true,"move":true,"remove_grant":true,"purge_recycle":true,"restore_file_version":true,"restore_recycle_item":true,"stat":true,"update_grant":true,"deny_grant":true}}}`) @@ -410,18 +392,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, })) checkCalled(called, `POST /apps/sciencemesh/~tester/api/ocm/ListShares [{"type":4,"Term":{"Creator":{"idp":"0.0.0.0:19000","opaque_id":"f7fbf8c8-139b-4376-b307-cf0a8c2d0d9c","type":1}}}]`) @@ -460,18 +436,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, State: ocm.ShareState_SHARE_STATE_ACCEPTED, })) @@ -516,18 +486,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, State: ocm.ShareState_SHARE_STATE_ACCEPTED, })) @@ -565,18 +529,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, State: ocm.ShareState_SHARE_STATE_ACCEPTED, }, @@ -607,18 +565,12 @@ var _ = Describe("Nextcloud", func() { Type: userpb.UserType_USER_TYPE_PRIMARY, }, Ctime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, State: ocm.ShareState_SHARE_STATE_ACCEPTED, })) diff --git a/pkg/share/manager/cs3/cs3_test.go b/pkg/share/manager/cs3/cs3_test.go index 098890ee8f6..e5a1f2e86fb 100644 --- a/pkg/share/manager/cs3/cs3_test.go +++ b/pkg/share/manager/cs3/cs3_test.go @@ -37,6 +37,7 @@ import ( indexermocks "github.com/cs3org/reva/v2/pkg/storage/utils/indexer/mocks" storagemocks "github.com/cs3org/reva/v2/pkg/storage/utils/metadata/mocks" "github.com/stretchr/testify/mock" + "google.golang.org/protobuf/testing/protocmp" "google.golang.org/protobuf/types/known/fieldmaskpb" . "github.com/onsi/ginkgo/v2" @@ -326,9 +327,9 @@ var _ = Describe("Manager", func() { Expect(err).ToNot(HaveOccurred()) Expect(returnedShare).ToNot(BeNil()) Expect(returnedShare.Id.OpaqueId).To(Equal(share.Id.OpaqueId)) - Expect(returnedShare.Owner).To(Equal(share.Owner)) - Expect(returnedShare.Grantee).To(Equal(share.Grantee)) - Expect(returnedShare.Permissions).To(Equal(share.Permissions)) + Expect(returnedShare.Owner).To(BeComparableTo(share.Owner, protocmp.Transform())) + Expect(returnedShare.Grantee).To(BeComparableTo(share.Grantee, protocmp.Transform())) + Expect(returnedShare.Permissions).To(BeComparableTo(share.Permissions, protocmp.Transform())) }) }) @@ -375,9 +376,9 @@ var _ = Describe("Manager", func() { Expect(err).ToNot(HaveOccurred()) Expect(returnedShare).ToNot(BeNil()) Expect(returnedShare.Id.OpaqueId).To(Equal(share2.Id.OpaqueId)) - Expect(returnedShare.Owner).To(Equal(share2.Owner)) - Expect(returnedShare.Grantee).To(Equal(share2.Grantee)) - Expect(returnedShare.Permissions).To(Equal(share2.Permissions)) + Expect(returnedShare.Owner).To(BeComparableTo(share2.Owner, protocmp.Transform())) + Expect(returnedShare.Grantee).To(BeComparableTo(share2.Grantee, protocmp.Transform())) + Expect(returnedShare.Permissions).To(BeComparableTo(share2.Permissions, protocmp.Transform())) }) }) }) @@ -399,8 +400,8 @@ var _ = Describe("Manager", func() { Expect(err).ToNot(HaveOccurred()) Expect(returnedShare).ToNot(BeNil()) Expect(returnedShare.Id.OpaqueId).To(Equal(share.Id.OpaqueId)) - Expect(returnedShare.Owner).To(Equal(share.Owner)) - Expect(returnedShare.Grantee).To(Equal(share.Grantee)) + Expect(returnedShare.Owner).To(BeComparableTo(share.Owner, protocmp.Transform())) + Expect(returnedShare.Grantee).To(BeComparableTo(share.Grantee, protocmp.Transform())) Expect(returnedShare.Permissions).To(Equal(share.Permissions)) }) }) @@ -587,9 +588,9 @@ var _ = Describe("Manager", func() { Expect(err).ToNot(HaveOccurred()) Expect(rshare).ToNot(BeNil()) Expect(rshare.Share.Id.OpaqueId).To(Equal(share2.Id.OpaqueId)) - Expect(rshare.Share.Owner).To(Equal(share2.Owner)) - Expect(rshare.Share.Grantee).To(Equal(share2.Grantee)) - Expect(rshare.Share.Permissions).To(Equal(share2.Permissions)) + Expect(rshare.Share.Owner).To(BeComparableTo(share2.Owner, protocmp.Transform())) + Expect(rshare.Share.Grantee).To(BeComparableTo(share2.Grantee, protocmp.Transform())) + Expect(rshare.Share.Permissions).To(BeComparableTo(share2.Permissions, protocmp.Transform())) Expect(rshare.State).To(Equal(collaboration.ShareState_SHARE_STATE_PENDING)) Expect(rshare.MountPoint.ResourceId.StorageId).To(Equal("storageid")) Expect(rshare.MountPoint.ResourceId.OpaqueId).To(Equal("opaqueid")) diff --git a/pkg/share/manager/jsoncs3/jsoncs3_test.go b/pkg/share/manager/jsoncs3/jsoncs3_test.go index 7f8624640e8..6c786f89f32 100644 --- a/pkg/share/manager/jsoncs3/jsoncs3_test.go +++ b/pkg/share/manager/jsoncs3/jsoncs3_test.go @@ -44,6 +44,7 @@ import ( "github.com/cs3org/reva/v2/tests/cs3mocks/mocks" "github.com/stretchr/testify/mock" "google.golang.org/grpc" + "google.golang.org/protobuf/testing/protocmp" "google.golang.org/protobuf/types/known/fieldmaskpb" . "github.com/onsi/ginkgo/v2" @@ -161,7 +162,7 @@ var _ = Describe("Jsoncs3", func() { gatewaySelector := pool.GetSelector[gatewayv1beta1.GatewayAPIClient]( "GatewaySelector", "com.owncloud.api.gateway", - func(cc *grpc.ClientConn) gatewayv1beta1.GatewayAPIClient { + func(cc grpc.ClientConnInterface) gatewayv1beta1.GatewayAPIClient { return client }, ) @@ -417,7 +418,7 @@ var _ = Describe("Jsoncs3", func() { ResourceId: sharedResource.Id, Grantee: grant.Grantee, }) - Expect(s.ResourceId).To(Equal(sharedResource.Id)) + Expect(s.ResourceId).To(BeComparableTo(sharedResource.Id, protocmp.Transform())) Expect(s.Id.OpaqueId).To(Equal(share.Id.OpaqueId)) }) @@ -730,7 +731,7 @@ var _ = Describe("Jsoncs3", func() { received, err := m.ListReceivedShares(granteeCtx, []*collaboration.Filter{}, nil) Expect(err).ToNot(HaveOccurred()) Expect(len(received)).To(Equal(1)) - Expect(received[0].Share.ResourceId).To(Equal(sharedResource.Id)) + Expect(received[0].Share.ResourceId).To(BeComparableTo(sharedResource.Id, protocmp.Transform())) Expect(received[0].State).To(Equal(collaboration.ShareState_SHARE_STATE_PENDING)) }) @@ -788,7 +789,7 @@ var _ = Describe("Jsoncs3", func() { }, nil) Expect(err).ToNot(HaveOccurred()) Expect(len(received)).To(Equal(1)) - Expect(received[0].Share.ResourceId).To(Equal(sharedResource.Id)) + Expect(received[0].Share.ResourceId).To(BeComparableTo(sharedResource.Id, protocmp.Transform())) Expect(received[0].State).To(Equal(collaboration.ShareState_SHARE_STATE_PENDING)) Expect(received[0].Share.Id).To(Equal(share.Id)) @@ -802,7 +803,7 @@ var _ = Describe("Jsoncs3", func() { }, nil) Expect(err).ToNot(HaveOccurred()) Expect(len(received)).To(Equal(1)) - Expect(received[0].Share.ResourceId).To(Equal(sharedResource2.Id)) + Expect(received[0].Share.ResourceId).To(BeComparableTo(sharedResource2.Id, protocmp.Transform())) Expect(received[0].State).To(Equal(collaboration.ShareState_SHARE_STATE_PENDING)) Expect(received[0].Share.Id).To(Equal(share2.Id)) }) diff --git a/pkg/storage/fs/nextcloud/nextcloud_test.go b/pkg/storage/fs/nextcloud/nextcloud_test.go index 740f22c565d..b91abefc637 100644 --- a/pkg/storage/fs/nextcloud/nextcloud_test.go +++ b/pkg/storage/fs/nextcloud/nextcloud_test.go @@ -229,34 +229,22 @@ var _ = Describe("Nextcloud", func() { Expect(err).ToNot(HaveOccurred()) Expect(*result).To(Equal(provider.ResourceInfo{ Opaque: &types.Opaque{ - Map: nil, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Map: nil, }, Type: provider.ResourceType_RESOURCE_TYPE_FILE, Id: &provider.ResourceId{ - StorageId: "", - OpaqueId: "fileid-/some/path", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + StorageId: "", + OpaqueId: "fileid-/some/path", }, Checksum: &provider.ResourceChecksum{ - Type: 0, - Sum: "", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Type: 0, + Sum: "", }, Etag: "deadbeef", MimeType: "text/plain", Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Path: "/some/path", PermissionSet: &provider.ResourcePermissions{ @@ -279,28 +267,16 @@ var _ = Describe("Nextcloud", func() { Stat: false, UpdateGrant: false, DenyGrant: false, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, }, Size: 12345, Owner: nil, Target: "", CanonicalMetadata: &provider.CanonicalMetadata{ - Target: nil, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Target: nil, }, ArbitraryMetadata: &provider.ArbitraryMetadata{ - Metadata: map[string]string{"some": "arbi", "trary": "meta", "da": "ta"}, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Metadata: map[string]string{"some": "arbi", "trary": "meta", "da": "ta"}, }, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, })) checkCalled(called, `POST /apps/sciencemesh/~tester/api/storage/GetMD {"ref":{"resource_id":{"storage_id":"storage-id","opaque_id":"opaque-id"},"path":"/some/path"},"mdKeys":["val1","val2","val3"]}`) }) @@ -325,34 +301,22 @@ var _ = Describe("Nextcloud", func() { Expect(len(results)).To(Equal(1)) Expect(*results[0]).To(Equal(provider.ResourceInfo{ Opaque: &types.Opaque{ - Map: nil, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Map: nil, }, Type: provider.ResourceType_RESOURCE_TYPE_FILE, Id: &provider.ResourceId{ - StorageId: "", - OpaqueId: "fileid-/some/path", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + StorageId: "", + OpaqueId: "fileid-/some/path", }, Checksum: &provider.ResourceChecksum{ - Type: 0, - Sum: "", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Type: 0, + Sum: "", }, Etag: "deadbeef", MimeType: "text/plain", Mtime: &types.Timestamp{ - Seconds: 1234567890, - Nanos: 0, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Seconds: 1234567890, + Nanos: 0, }, Path: "/some/path", PermissionSet: &provider.ResourcePermissions{ @@ -375,28 +339,16 @@ var _ = Describe("Nextcloud", func() { Stat: false, UpdateGrant: false, DenyGrant: false, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, }, Size: 12345, Owner: nil, Target: "", CanonicalMetadata: &provider.CanonicalMetadata{ - Target: nil, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Target: nil, }, ArbitraryMetadata: &provider.ArbitraryMetadata{ - Metadata: map[string]string{"some": "arbi", "trary": "meta", "da": "ta"}, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Metadata: map[string]string{"some": "arbi", "trary": "meta", "da": "ta"}, }, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, })) Expect(err).ToNot(HaveOccurred()) checkCalled(called, `POST /apps/sciencemesh/~tester/api/storage/ListFolder {"ref":{"resource_id":{"storage_id":"storage-id","opaque_id":"opaque-id"},"path":"/some"},"mdKeys":["val1","val2","val3"]}`) @@ -503,13 +455,10 @@ var _ = Describe("Nextcloud", func() { }, }, }, - Key: "version-12", - Size: uint64(12345), - Mtime: uint64(1234567890), - Etag: "deadb00f", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Key: "version-12", + Size: uint64(12345), + Mtime: uint64(1234567890), + Etag: "deadb00f", })) Expect(*results[1]).To(Equal(provider.FileVersion{ Opaque: &types.Opaque{ @@ -519,13 +468,10 @@ var _ = Describe("Nextcloud", func() { }, }, }, - Key: "asdf", - Size: uint64(12345), - Mtime: uint64(1234567890), - Etag: "deadbeef", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Key: "asdf", + Size: uint64(12345), + Mtime: uint64(1234567890), + Etag: "deadbeef", })) checkCalled(called, `POST /apps/sciencemesh/~tester/api/storage/ListRevisions {"resource_id":{"storage_id":"storage-id","opaque_id":"opaque-id"},"path":"/some/path"}`) }) @@ -589,17 +535,11 @@ var _ = Describe("Nextcloud", func() { Opaque: &types.Opaque{}, Key: "some-deleted-version", Ref: &provider.Reference{ - ResourceId: &provider.ResourceId{}, - Path: "/some/file.txt", - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + ResourceId: &provider.ResourceId{}, + Path: "/some/file.txt", }, - Size: uint64(12345), - DeletionTime: &types.Timestamp{Seconds: uint64(1234567890)}, - XXX_NoUnkeyedLiteral: struct{}{}, - XXX_unrecognized: nil, - XXX_sizecache: 0, + Size: uint64(12345), + DeletionTime: &types.Timestamp{Seconds: uint64(1234567890)}, })) checkCalled(called, `POST /apps/sciencemesh/~tester/api/storage/ListRecycle {"key":"asdf","path":"/some/file.txt"}`) }) diff --git a/pkg/storage/fs/posix/testhelpers/helpers.go b/pkg/storage/fs/posix/testhelpers/helpers.go index 9fcb048428d..d18e34e44ce 100644 --- a/pkg/storage/fs/posix/testhelpers/helpers.go +++ b/pkg/storage/fs/posix/testhelpers/helpers.go @@ -169,7 +169,7 @@ func NewTestEnv(config map[string]interface{}) (*TestEnv, error) { permissionsSelector := pool.GetSelector[cs3permissions.PermissionsAPIClient]( "PermissionsSelector", "any", - func(cc *grpc.ClientConn) cs3permissions.PermissionsAPIClient { + func(cc grpc.ClientConnInterface) cs3permissions.PermissionsAPIClient { return cs3permissionsclient }, ) diff --git a/pkg/storage/utils/ace/ace_test.go b/pkg/storage/utils/ace/ace_test.go index 6424ac48254..01e6d1c2634 100644 --- a/pkg/storage/utils/ace/ace_test.go +++ b/pkg/storage/utils/ace/ace_test.go @@ -25,6 +25,7 @@ import ( userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" "github.com/cs3org/reva/v2/pkg/storage/utils/ace" + "google.golang.org/protobuf/testing/protocmp" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -83,7 +84,7 @@ var _ = Describe("ACE", func() { grant := ace.Grant() // do not check opaque values grant.Grantee.Opaque = nil - Expect(grant).To(Equal(userGrant)) + Expect(grant).To(BeComparableTo(userGrant, protocmp.Transform())) }) }) diff --git a/pkg/storage/utils/decomposedfs/node/locks_test.go b/pkg/storage/utils/decomposedfs/node/locks_test.go index b03ee49271b..ca6beb599fb 100644 --- a/pkg/storage/utils/decomposedfs/node/locks_test.go +++ b/pkg/storage/utils/decomposedfs/node/locks_test.go @@ -25,6 +25,7 @@ import ( "github.com/google/uuid" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" + "google.golang.org/protobuf/testing/protocmp" userpb "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1" provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1" @@ -152,7 +153,7 @@ var _ = Describe("Node locks", func() { It("returns the lock", func() { l, err := n.ReadLock(env.Ctx, false) Expect(err).ToNot(HaveOccurred()) - Expect(l).To(Equal(lockByUser)) + Expect(l).To(BeComparableTo(lockByUser, protocmp.Transform())) }) It("reports an error when the node wasn't locked", func() { diff --git a/pkg/storage/utils/decomposedfs/node/node_test.go b/pkg/storage/utils/decomposedfs/node/node_test.go index 136ced1ac66..d7dc2288bad 100644 --- a/pkg/storage/utils/decomposedfs/node/node_test.go +++ b/pkg/storage/utils/decomposedfs/node/node_test.go @@ -31,6 +31,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "github.com/stretchr/testify/mock" + "google.golang.org/protobuf/testing/protocmp" ) var _ = Describe("Node", func() { @@ -225,7 +226,7 @@ var _ = Describe("Node", func() { storedLock := &provider.Lock{} err = json.Unmarshal(ri.Opaque.Map["lock"].Value, storedLock) Expect(err).ToNot(HaveOccurred()) - Expect(storedLock).To(Equal(lock)) + Expect(storedLock).To(BeComparableTo(lock, protocmp.Transform())) }) }) }) @@ -346,7 +347,7 @@ var _ = Describe("Node", func() { o := n.SpaceOwnerOrManager(env.Ctx) Expect(err).ToNot(HaveOccurred()) - Expect(o).To(Equal(env.Owner.Id)) + Expect(o).To(BeComparableTo(env.Owner.Id, protocmp.Transform())) }) }) diff --git a/pkg/storage/utils/decomposedfs/testhelpers/helpers.go b/pkg/storage/utils/decomposedfs/testhelpers/helpers.go index f6d221ee9dc..3110a525af7 100644 --- a/pkg/storage/utils/decomposedfs/testhelpers/helpers.go +++ b/pkg/storage/utils/decomposedfs/testhelpers/helpers.go @@ -164,7 +164,7 @@ func NewTestEnv(config map[string]interface{}) (*TestEnv, error) { permissionsSelector := pool.GetSelector[cs3permissions.PermissionsAPIClient]( "PermissionsSelector", "any", - func(cc *grpc.ClientConn) cs3permissions.PermissionsAPIClient { + func(cc grpc.ClientConnInterface) cs3permissions.PermissionsAPIClient { return cs3permissionsclient }, ) diff --git a/pkg/storage/utils/decomposedfs/upload_async_test.go b/pkg/storage/utils/decomposedfs/upload_async_test.go index c4d9a4060a8..0de7ccede90 100644 --- a/pkg/storage/utils/decomposedfs/upload_async_test.go +++ b/pkg/storage/utils/decomposedfs/upload_async_test.go @@ -147,7 +147,7 @@ var _ = Describe("Async file uploads", Ordered, func() { permissionsSelector = pool.GetSelector[cs3permissions.PermissionsAPIClient]( "PermissionsSelector", "any", - func(cc *grpc.ClientConn) cs3permissions.PermissionsAPIClient { + func(cc grpc.ClientConnInterface) cs3permissions.PermissionsAPIClient { return cs3permissionsclient }, ) diff --git a/pkg/storage/utils/decomposedfs/upload_test.go b/pkg/storage/utils/decomposedfs/upload_test.go index 37852c0845b..a3a7f8e5334 100644 --- a/pkg/storage/utils/decomposedfs/upload_test.go +++ b/pkg/storage/utils/decomposedfs/upload_test.go @@ -111,7 +111,7 @@ var _ = Describe("File uploads", func() { permissionsSelector = pool.GetSelector[cs3permissions.PermissionsAPIClient]( "PermissionsSelector", "any", - func(cc *grpc.ClientConn) cs3permissions.PermissionsAPIClient { + func(cc grpc.ClientConnInterface) cs3permissions.PermissionsAPIClient { return cs3permissionsclient }, ) diff --git a/pkg/storage/utils/decomposedfs/usermapper/mocks/Mapper.go b/pkg/storage/utils/decomposedfs/usermapper/mocks/Mapper.go index e08a86edbd5..1615ba7e38b 100644 --- a/pkg/storage/utils/decomposedfs/usermapper/mocks/Mapper.go +++ b/pkg/storage/utils/decomposedfs/usermapper/mocks/Mapper.go @@ -39,69 +39,6 @@ func (_m *Mapper) EXPECT() *Mapper_Expecter { return &Mapper_Expecter{mock: &_m.Mock} } -// MapUser provides a mock function with given fields: username -func (_m *Mapper) MapUser(username string) (int, int, error) { - ret := _m.Called(username) - - if len(ret) == 0 { - panic("no return value specified for MapUser") - } - - var r0 int - var r1 int - var r2 error - if rf, ok := ret.Get(0).(func(string) (int, int, error)); ok { - return rf(username) - } - if rf, ok := ret.Get(0).(func(string) int); ok { - r0 = rf(username) - } else { - r0 = ret.Get(0).(int) - } - - if rf, ok := ret.Get(1).(func(string) int); ok { - r1 = rf(username) - } else { - r1 = ret.Get(1).(int) - } - - if rf, ok := ret.Get(2).(func(string) error); ok { - r2 = rf(username) - } else { - r2 = ret.Error(2) - } - - return r0, r1, r2 -} - -// Mapper_MapUser_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MapUser' -type Mapper_MapUser_Call struct { - *mock.Call -} - -// MapUser is a helper method to define mock.On call -// - username string -func (_e *Mapper_Expecter) MapUser(username interface{}) *Mapper_MapUser_Call { - return &Mapper_MapUser_Call{Call: _e.mock.On("MapUser", username)} -} - -func (_c *Mapper_MapUser_Call) Run(run func(username string)) *Mapper_MapUser_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(string)) - }) - return _c -} - -func (_c *Mapper_MapUser_Call) Return(_a0 int, _a1 int, _a2 error) *Mapper_MapUser_Call { - _c.Call.Return(_a0, _a1, _a2) - return _c -} - -func (_c *Mapper_MapUser_Call) RunAndReturn(run func(string) (int, int, error)) *Mapper_MapUser_Call { - _c.Call.Return(run) - return _c -} - // RunInBaseScope provides a mock function with given fields: f func (_m *Mapper) RunInBaseScope(f func() error) error { ret := _m.Called(f) diff --git a/tests/cs3mocks/mocks/GatewayAPIClient.go b/tests/cs3mocks/mocks/GatewayAPIClient.go index b2fa6783f4c..92e03b6238d 100644 --- a/tests/cs3mocks/mocks/GatewayAPIClient.go +++ b/tests/cs3mocks/mocks/GatewayAPIClient.go @@ -4440,6 +4440,80 @@ func (_c *GatewayAPIClient_ListContainerStream_Call) RunAndReturn(run func(conte return _c } +// ListExistingReceivedShares provides a mock function with given fields: ctx, in, opts +func (_m *GatewayAPIClient) ListExistingReceivedShares(ctx context.Context, in *collaborationv1beta1.ListReceivedSharesRequest, opts ...grpc.CallOption) (*gatewayv1beta1.ListExistingReceivedSharesResponse, error) { + _va := make([]interface{}, len(opts)) + for _i := range opts { + _va[_i] = opts[_i] + } + var _ca []interface{} + _ca = append(_ca, ctx, in) + _ca = append(_ca, _va...) + ret := _m.Called(_ca...) + + if len(ret) == 0 { + panic("no return value specified for ListExistingReceivedShares") + } + + var r0 *gatewayv1beta1.ListExistingReceivedSharesResponse + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, *collaborationv1beta1.ListReceivedSharesRequest, ...grpc.CallOption) (*gatewayv1beta1.ListExistingReceivedSharesResponse, error)); ok { + return rf(ctx, in, opts...) + } + if rf, ok := ret.Get(0).(func(context.Context, *collaborationv1beta1.ListReceivedSharesRequest, ...grpc.CallOption) *gatewayv1beta1.ListExistingReceivedSharesResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*gatewayv1beta1.ListExistingReceivedSharesResponse) + } + } + + if rf, ok := ret.Get(1).(func(context.Context, *collaborationv1beta1.ListReceivedSharesRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + +// GatewayAPIClient_ListExistingReceivedShares_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListExistingReceivedShares' +type GatewayAPIClient_ListExistingReceivedShares_Call struct { + *mock.Call +} + +// ListExistingReceivedShares is a helper method to define mock.On call +// - ctx context.Context +// - in *collaborationv1beta1.ListReceivedSharesRequest +// - opts ...grpc.CallOption +func (_e *GatewayAPIClient_Expecter) ListExistingReceivedShares(ctx interface{}, in interface{}, opts ...interface{}) *GatewayAPIClient_ListExistingReceivedShares_Call { + return &GatewayAPIClient_ListExistingReceivedShares_Call{Call: _e.mock.On("ListExistingReceivedShares", + append([]interface{}{ctx, in}, opts...)...)} +} + +func (_c *GatewayAPIClient_ListExistingReceivedShares_Call) Run(run func(ctx context.Context, in *collaborationv1beta1.ListReceivedSharesRequest, opts ...grpc.CallOption)) *GatewayAPIClient_ListExistingReceivedShares_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]grpc.CallOption, len(args)-2) + for i, a := range args[2:] { + if a != nil { + variadicArgs[i] = a.(grpc.CallOption) + } + } + run(args[0].(context.Context), args[1].(*collaborationv1beta1.ListReceivedSharesRequest), variadicArgs...) + }) + return _c +} + +func (_c *GatewayAPIClient_ListExistingReceivedShares_Call) Return(_a0 *gatewayv1beta1.ListExistingReceivedSharesResponse, _a1 error) *GatewayAPIClient_ListExistingReceivedShares_Call { + _c.Call.Return(_a0, _a1) + return _c +} + +func (_c *GatewayAPIClient_ListExistingReceivedShares_Call) RunAndReturn(run func(context.Context, *collaborationv1beta1.ListReceivedSharesRequest, ...grpc.CallOption) (*gatewayv1beta1.ListExistingReceivedSharesResponse, error)) *GatewayAPIClient_ListExistingReceivedShares_Call { + _c.Call.Return(run) + return _c +} + // ListFileVersions provides a mock function with given fields: ctx, in, opts func (_m *GatewayAPIClient) ListFileVersions(ctx context.Context, in *providerv1beta1.ListFileVersionsRequest, opts ...grpc.CallOption) (*providerv1beta1.ListFileVersionsResponse, error) { _va := make([]interface{}, len(opts))