From fe1712ebcae9df5444df12061a2bf5e0c3929d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Pablo=20Villaf=C3=A1=C3=B1ez?= Date: Fri, 16 Aug 2024 14:08:09 +0200 Subject: [PATCH] fix: adjust unit tests --- .../pkg/connector/contentconnector_test.go | 12 +- .../pkg/connector/fileconnector_test.go | 6 +- .../pkg/service/grpc/v0/service_test.go | 175 ++++++------------ 3 files changed, 59 insertions(+), 134 deletions(-) diff --git a/services/collaboration/pkg/connector/contentconnector_test.go b/services/collaboration/pkg/connector/contentconnector_test.go index 38f308afcf..82ba9e9c42 100644 --- a/services/collaboration/pkg/connector/contentconnector_test.go +++ b/services/collaboration/pkg/connector/contentconnector_test.go @@ -52,10 +52,8 @@ var _ = Describe("ContentConnector", func() { }, Path: ".", }, - User: &userv1beta1.User{}, // Not used for now - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, - EditAppUrl: "http://test.ex.prv/edit", - ViewAppUrl: "http://test.ex.prv/view", + User: &userv1beta1.User{}, // Not used for now + ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, } randomContent = "This is the content of the test.txt file" @@ -186,10 +184,8 @@ var _ = Describe("ContentConnector", func() { }, Path: ".", }, - User: &userv1beta1.User{}, // Not used for now - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_VIEW_ONLY, - EditAppUrl: "http://test.ex.prv/edit", - ViewAppUrl: "http://test.ex.prv/view", + User: &userv1beta1.User{}, // Not used for now + ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_VIEW_ONLY, } ctx := middleware.WopiContextToCtx(context.Background(), wopiCtx) diff --git a/services/collaboration/pkg/connector/fileconnector_test.go b/services/collaboration/pkg/connector/fileconnector_test.go index 2f74ebb141..eb1ec5462c 100644 --- a/services/collaboration/pkg/connector/fileconnector_test.go +++ b/services/collaboration/pkg/connector/fileconnector_test.go @@ -82,9 +82,7 @@ var _ = Describe("FileConnector", func() { // }, //}, }, - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, - EditAppUrl: "http://test.ex.prv/edit", - ViewAppUrl: "http://test.ex.prv/view", + ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, } }) @@ -1546,8 +1544,6 @@ var _ = Describe("FileConnector", func() { BaseFileName: "test.txt", BreadcrumbDocName: "test.txt", UserCanNotWriteRelative: false, - HostViewURL: "http://test.ex.prv/view", - HostEditURL: "http://test.ex.prv/edit", SupportsExtendedLockLength: true, SupportsGetLock: true, SupportsLocks: true, diff --git a/services/collaboration/pkg/service/grpc/v0/service_test.go b/services/collaboration/pkg/service/grpc/v0/service_test.go index e2361c090c..68f5aa1416 100644 --- a/services/collaboration/pkg/service/grpc/v0/service_test.go +++ b/services/collaboration/pkg/service/grpc/v0/service_test.go @@ -136,133 +136,66 @@ var _ = Describe("Discovery", func() { Expect(resp).To(BeNil()) }) - It("Success", func() { - ctx := context.Background() - nowTime := time.Now() + DescribeTable( + "Success", + func(appName, lang string, disableChat bool, expectedAppUrl string) { + ctx := context.Background() + nowTime := time.Now() - cfg.Wopi.WopiSrc = "https://wopiserver.test.prv" - cfg.Wopi.Secret = "my_supa_secret" + cfg.Wopi.WopiSrc = "https://wopiserver.test.prv" + cfg.Wopi.Secret = "my_supa_secret" + cfg.Wopi.DisableChat = disableChat + cfg.App.Name = appName - myself := &userv1beta1.User{ - Id: &userv1beta1.UserId{ - Idp: "myIdp", - OpaqueId: "opaque001", - Type: userv1beta1.UserType_USER_TYPE_PRIMARY, - }, - Username: "username", - } - - req := &appproviderv1beta1.OpenInAppRequest{ - ResourceInfo: &providerv1beta1.ResourceInfo{ - Id: &providerv1beta1.ResourceId{ - StorageId: "myStorage", - OpaqueId: "storageOpaque001", - SpaceId: "SpaceA", + myself := &userv1beta1.User{ + Id: &userv1beta1.UserId{ + Idp: "myIdp", + OpaqueId: "opaque001", + Type: userv1beta1.UserType_USER_TYPE_PRIMARY, }, - Path: "/path/to/file.docx", - }, - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, - AccessToken: MintToken(myself, cfg.Wopi.Secret, nowTime), - } - req.Opaque = utils.AppendPlainToOpaque(req.Opaque, "lang", "de") + Username: "username", + } - gatewayClient.On("WhoAmI", mock.Anything, mock.Anything).Times(1).Return(&gatewayv1beta1.WhoAmIResponse{ - Status: status.NewOK(ctx), - User: myself, - }, nil) - - resp, err := srv.OpenInApp(ctx, req) - Expect(err).To(Succeed()) - Expect(resp.GetStatus().GetCode()).To(Equal(rpcv1beta1.Code_CODE_OK)) - Expect(resp.GetAppUrl().GetMethod()).To(Equal("POST")) - Expect(resp.GetAppUrl().GetAppUrl()).To(Equal("https://test.server.prv/hosting/wopi/word/edit?UI_LLCC=de&WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&lang=de&ui=de")) - Expect(resp.GetAppUrl().GetFormParameters()["access_token_ttl"]).To(Equal(strconv.FormatInt(nowTime.Add(5*time.Hour).Unix()*1000, 10))) - }) - - It("Success", func() { - ctx := context.Background() - nowTime := time.Now() - - cfg.Wopi.WopiSrc = "https://wopiserver.test.prv" - cfg.Wopi.Secret = "my_supa_secret" - cfg.Wopi.DisableChat = true - - myself := &userv1beta1.User{ - Id: &userv1beta1.UserId{ - Idp: "myIdp", - OpaqueId: "opaque001", - Type: userv1beta1.UserType_USER_TYPE_PRIMARY, - }, - Username: "username", - } - - req := &appproviderv1beta1.OpenInAppRequest{ - ResourceInfo: &providerv1beta1.ResourceInfo{ - Id: &providerv1beta1.ResourceId{ - StorageId: "myStorage", - OpaqueId: "storageOpaque001", - SpaceId: "SpaceA", + req := &appproviderv1beta1.OpenInAppRequest{ + ResourceInfo: &providerv1beta1.ResourceInfo{ + Id: &providerv1beta1.ResourceId{ + StorageId: "myStorage", + OpaqueId: "storageOpaque001", + SpaceId: "SpaceA", + }, + Path: "/path/to/file.docx", }, - Path: "/path/to/file.docx", - }, - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, - AccessToken: MintToken(myself, cfg.Wopi.Secret, nowTime), - } + ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, + AccessToken: MintToken(myself, cfg.Wopi.Secret, nowTime), + } + if lang != "" { + req.Opaque = utils.AppendPlainToOpaque(req.Opaque, "lang", lang) + } - gatewayClient.On("WhoAmI", mock.Anything, mock.Anything).Times(1).Return(&gatewayv1beta1.WhoAmIResponse{ - Status: status.NewOK(ctx), - User: myself, - }, nil) + gatewayClient.On("WhoAmI", mock.Anything, mock.Anything).Times(1).Return(&gatewayv1beta1.WhoAmIResponse{ + Status: status.NewOK(ctx), + User: myself, + }, nil) - resp, err := srv.OpenInApp(ctx, req) - Expect(err).To(Succeed()) - Expect(resp.GetStatus().GetCode()).To(Equal(rpcv1beta1.Code_CODE_OK)) - Expect(resp.GetAppUrl().GetMethod()).To(Equal("POST")) - Expect(resp.GetAppUrl().GetAppUrl()).To(Equal("https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1")) - Expect(resp.GetAppUrl().GetFormParameters()["access_token_ttl"]).To(Equal(strconv.FormatInt(nowTime.Add(5*time.Hour).Unix()*1000, 10))) - }) - - It("Success", func() { - ctx := context.Background() - nowTime := time.Now() - - cfg.Wopi.WopiSrc = "https://wopiserver.test.prv" - cfg.Wopi.Secret = "my_supa_secret" - cfg.Wopi.DisableChat = true - - myself := &userv1beta1.User{ - Id: &userv1beta1.UserId{ - Idp: "myIdp", - OpaqueId: "opaque001", - Type: userv1beta1.UserType_USER_TYPE_PRIMARY, - }, - Username: "username", - } - - req := &appproviderv1beta1.OpenInAppRequest{ - ResourceInfo: &providerv1beta1.ResourceInfo{ - Id: &providerv1beta1.ResourceId{ - StorageId: "myStorage", - OpaqueId: "storageOpaque001", - SpaceId: "SpaceA", - }, - Path: "/path/to/file.docx", - }, - ViewMode: appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE, - AccessToken: MintToken(myself, cfg.Wopi.Secret, nowTime), - } - - gatewayClient.On("WhoAmI", mock.Anything, mock.Anything).Times(1).Return(&gatewayv1beta1.WhoAmIResponse{ - Status: status.NewOK(ctx), - User: myself, - }, nil) - - resp, err := srv.OpenInApp(ctx, req) - Expect(err).To(Succeed()) - Expect(resp.GetStatus().GetCode()).To(Equal(rpcv1beta1.Code_CODE_OK)) - Expect(resp.GetAppUrl().GetMethod()).To(Equal("POST")) - Expect(resp.GetAppUrl().GetAppUrl()).To(Equal("https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1")) - Expect(resp.GetAppUrl().GetFormParameters()["access_token_ttl"]).To(Equal(strconv.FormatInt(nowTime.Add(5*time.Hour).Unix()*1000, 10))) - }) + resp, err := srv.OpenInApp(ctx, req) + Expect(err).To(Succeed()) + Expect(resp.GetStatus().GetCode()).To(Equal(rpcv1beta1.Code_CODE_OK)) + Expect(resp.GetAppUrl().GetMethod()).To(Equal("POST")) + Expect(resp.GetAppUrl().GetAppUrl()).To(Equal(expectedAppUrl)) + Expect(resp.GetAppUrl().GetFormParameters()["access_token_ttl"]).To(Equal(strconv.FormatInt(nowTime.Add(5*time.Hour).Unix()*1000, 10))) + }, + Entry("Microsoft chat no lang", "Microsoft", "", false, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e"), + Entry("Collabora chat no lang", "Collabora", "", false, "https://test.server.prv/hosting/wopi/word/view?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e"), + Entry("OnlyOffice chat no lang", "OnlyOffice", "", false, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e"), + Entry("Microsoft chat lang", "Microsoft", "de", false, "https://test.server.prv/hosting/wopi/word/edit?UI_LLCC=de&WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e"), + Entry("Collabora chat lang", "Collabora", "de", false, "https://test.server.prv/hosting/wopi/word/view?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&lang=de"), + Entry("OnlyOffice chat lang", "OnlyOffice", "de", false, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&ui=de"), + Entry("Microsoft no chat no lang", "Microsoft", "", true, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1"), + Entry("Collabora no chat no lang", "Collabora", "", true, "https://test.server.prv/hosting/wopi/word/view?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1"), + Entry("OnlyOffice no chat no lang", "OnlyOffice", "", true, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1"), + Entry("Microsoft no chat lang", "Microsoft", "de", true, "https://test.server.prv/hosting/wopi/word/edit?UI_LLCC=de&WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1"), + Entry("Collabora no chat lang", "Collabora", "de", true, "https://test.server.prv/hosting/wopi/word/view?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1&lang=de"), + Entry("OnlyOffice no chat lang", "OnlyOffice", "de", true, "https://test.server.prv/hosting/wopi/word/edit?WOPISrc=https%3A%2F%2Fwopiserver.test.prv%2Fwopi%2Ffiles%2F2f6ec18696dd1008106749bd94106e5cfad5c09e15de7b77088d03843e71b43e&dchat=1&ui=de"), + ) }) })