Skip to content

Commit

Permalink
Fix unit tests after bumping go-cs3apis
Browse files Browse the repository at this point in the history
The tooling to generate	the go bindings has been updated. This cleans up
the fallout of that change (e.g. that protobuf messages can no longer be
compared reliably with reflect.DeepEqual).
  • Loading branch information
rhafer committed Jul 9, 2024
1 parent db9fe95 commit 6c4068b
Show file tree
Hide file tree
Showing 16 changed files with 180 additions and 269 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
},
)
Expand All @@ -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
},
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
},
)
Expand Down
37 changes: 20 additions & 17 deletions pkg/appauth/manager/json/json_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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)
})
}

Expand Down Expand Up @@ -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

Expand All @@ -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)
})
}

Expand Down Expand Up @@ -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())
})
}

Expand Down Expand Up @@ -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)
})
}

Expand Down Expand Up @@ -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)
}

})
Expand Down Expand Up @@ -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)
}
}
96 changes: 24 additions & 72 deletions pkg/ocm/share/repository/nextcloud/nextcloud_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"}}}`)
Expand Down Expand Up @@ -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"}}}`)
Expand Down Expand Up @@ -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}}}`)
Expand Down Expand Up @@ -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}}}]`)
Expand Down Expand Up @@ -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,
}))
Expand Down Expand Up @@ -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,
}))
Expand Down Expand Up @@ -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,
},
Expand Down Expand Up @@ -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,
}))
Expand Down
23 changes: 12 additions & 11 deletions pkg/share/manager/cs3/cs3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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()))
})
})

Expand Down Expand Up @@ -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()))
})
})
})
Expand All @@ -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))
})
})
Expand Down Expand Up @@ -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"))
Expand Down
Loading

0 comments on commit 6c4068b

Please sign in to comment.