From 153502189d993ce48a2a11b19e08fc2e31dc0ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Pablo=20Villaf=C3=A1=C3=B1ez?= Date: Thu, 19 Sep 2024 10:51:28 +0200 Subject: [PATCH] fix: return 404 code if file isn't found on CheckFileInfo request --- .../collaboration/pkg/connector/fileconnector.go | 4 ++++ .../pkg/connector/fileconnector_test.go | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/services/collaboration/pkg/connector/fileconnector.go b/services/collaboration/pkg/connector/fileconnector.go index a934fb5f2e..ab4121956e 100644 --- a/services/collaboration/pkg/connector/fileconnector.go +++ b/services/collaboration/pkg/connector/fileconnector.go @@ -1058,6 +1058,10 @@ func (f *FileConnector) CheckFileInfo(ctx context.Context) (*ConnectorResponse, Str("StatusCode", statRes.GetStatus().GetCode().String()). Str("StatusMsg", statRes.GetStatus().GetMessage()). Msg("CheckFileInfo: stat failed with unexpected status") + + if statRes.GetStatus().GetCode() == rpcv1beta1.Code_CODE_NOT_FOUND { + return NewResponse(404), nil + } return NewResponse(500), nil } diff --git a/services/collaboration/pkg/connector/fileconnector_test.go b/services/collaboration/pkg/connector/fileconnector_test.go index 8dfa4961f5..e676ea1742 100644 --- a/services/collaboration/pkg/connector/fileconnector_test.go +++ b/services/collaboration/pkg/connector/fileconnector_test.go @@ -1634,6 +1634,19 @@ var _ = Describe("FileConnector", func() { Expect(response.Body).To(BeNil()) }) + It("Stat fails status not found", func() { + ctx := middleware.WopiContextToCtx(context.Background(), wopiCtx) + + gatewayClient.On("Stat", mock.Anything, mock.Anything).Times(1).Return(&providerv1beta1.StatResponse{ + Status: status.NewNotFound(ctx, "something not found"), + }, nil) + + response, err := fc.CheckFileInfo(ctx) + Expect(err).ToNot(HaveOccurred()) + Expect(response.Status).To(Equal(404)) + Expect(response.Body).To(BeNil()) + }) + It("Stat success", func() { ctx := middleware.WopiContextToCtx(context.Background(), wopiCtx) u := &userv1beta1.User{