Skip to content

Commit 70e5d39

Browse files
committed
fix test
1 parent 9e15ee8 commit 70e5d39

File tree

2 files changed

+37
-19
lines changed

2 files changed

+37
-19
lines changed

services/collaboration/pkg/connector/fileconnector_test.go

+31-13
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"path"
99
"regexp"
1010
"strings"
11+
"time"
1112

1213
appproviderv1beta1 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1"
1314
auth "github.com/cs3org/go-cs3apis/cs3/auth/provider/v1beta1"
@@ -16,9 +17,9 @@ import (
1617
link "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1"
1718
providerv1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
1819
typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
20+
"github.com/golang-jwt/jwt/v5"
1921
. "github.com/onsi/ginkgo/v2"
2022
. "github.com/onsi/gomega"
21-
"github.com/owncloud/ocis/v2/ocis-pkg/conversions"
2223
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
2324
collabmocks "github.com/owncloud/ocis/v2/services/collaboration/mocks"
2425
"github.com/owncloud/ocis/v2/services/collaboration/pkg/config"
@@ -57,7 +58,7 @@ var _ = Describe("FileConnector", func() {
5758
WopiSrc: "https://ocis.server.prv",
5859
Secret: "topsecret",
5960
},
60-
TokenManager: &config.TokenManager{JWTSecret: "secret"},
61+
TokenManager: &config.TokenManager{JWTSecret: "topsecret"},
6162
}
6263
ccs = &collabmocks.ContentConnectorService{}
6364

@@ -67,11 +68,29 @@ var _ = Describe("FileConnector", func() {
6768
gatewaySelector.On("Next").Return(gatewayClient, nil)
6869
fc = connector.NewFileConnector(gatewaySelector, cfg, nil)
6970

71+
// Generate a valid token for testing
72+
now := time.Now()
73+
claims := jwt.MapClaims{
74+
"aud": "web",
75+
"exp": now.Add(24 * time.Hour).Unix(),
76+
"iat": now.Unix(),
77+
"iss": "https://ocis.jp.solidgear.prv",
78+
"jti": "fBWi7AXhQPUhah2CWEPTQKpCfgpFlAiL",
79+
"lg.i": map[string]interface{}{
80+
"dn": "bro",
81+
"id": "ownCloudUUID=faf11647-7451-4b9a-bffe-3b5ddcc5972b",
82+
"un": "brotato",
83+
},
84+
"lg.p": "identifier-ldap",
85+
"lg.t": "1",
86+
"scp": "openid profile email",
87+
"sub": "cAvuzX8gXLZdiXx-@1NWTJtCPDqUJ44nt46FtD9p5L7tjePFdZMVJ9E30Nx2-dui7HKCLxAiaCTtbX511JcdHw",
88+
}
89+
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
90+
accessToken, _ := token.SignedString([]byte(cfg.Wopi.Secret))
91+
7092
wopiCtx = middleware.WopiContext{
71-
// A real token is needed for the PutRelativeFileSuggested tests although we aren't checking anything inside the token.
72-
// Test token details: HS256 (HMAC with SHA-256).
73-
// Token used in PutRelativeFileSuggested tests, validated against cfg.Wopi.Secret ("topsecret"). If tests fail, check token header {"alg":"HS256","typ":"JWT"} and validation in wopicontext.go.
74-
AccessToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ3ZWIiLCJleHAiOjE3MjAwOTIyODAsImlhdCI6MTcyMDA5MTk4MCwiaXNzIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYiLCJqdGkiOiJmQldpN0FYaFFQdUhhaDJDV0VQVFFLcENmZ3BGbEFpTCIsImxnLmkiOnsiZG4iOiJicm8iLCJpZCI6Im93bkNsb3VkVVVJRD1mYWYxMTY0Ny03NDUxLTRiOWEtYmZmZS0zYjVkZGNjNTk3MmIiLCJ1biI6ImJyb3RhdG8ifSwibGcucCI6ImlkZW50aWZpZXItbGRhcCIsImxnLnQiOiIxIiwic2NwIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzdWIiOiJjQXZ1elg4Z1hMWmRpWHgtQDFOV1RKdENQRHFVSjQ0bnQ0NkZ0RDlwNUw3dGplUEZkWk1WSjlFMzBOeDItZHVpN0hLQ0x4QWlXYUNUdGJYNTExSmNkSHcifQ.8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx8J7Zx",
93+
AccessToken: accessToken,
7594
FileReference: &providerv1beta1.Reference{
7695
ResourceId: &providerv1beta1.ResourceId{
7796
StorageId: "abc",
@@ -1755,7 +1774,7 @@ var _ = Describe("FileConnector", func() {
17551774
OpaqueId: "aabbcc",
17561775
Type: userv1beta1.UserType_USER_TYPE_PRIMARY,
17571776
},
1758-
Size: uint64(998877),
1777+
// Size is intentionally nil for guest users
17591778
Mtime: &typesv1beta1.Timestamp{
17601779
Seconds: uint64(16273849),
17611780
},
@@ -1780,7 +1799,7 @@ var _ = Describe("FileConnector", func() {
17801799

17811800
expectedFileInfo := &fileinfo.Collabora{
17821801
OwnerID: "61616262636340637573746f6d496470", // hex of aabbcc@customIdp
1783-
Size: int64(998877),
1802+
Size: 0,
17841803
BaseFileName: "test.txt",
17851804
UserCanNotWriteRelative: false,
17861805
DisableExport: true,
@@ -1839,7 +1858,7 @@ var _ = Describe("FileConnector", func() {
18391858
Decoder: "json",
18401859
Value: val,
18411860
},
1842-
Role: auth.Role(appproviderv1beta1.ViewMode_VIEW_MODE_VIEW_ONLY), //
1861+
Role: auth.Role(appproviderv1beta1.ViewMode_VIEW_MODE_VIEW_ONLY),
18431862
},
18441863
}
18451864
// change view mode to view only
@@ -1857,7 +1876,7 @@ var _ = Describe("FileConnector", func() {
18571876
OpaqueId: "aabbcc",
18581877
Type: userv1beta1.UserType_USER_TYPE_PRIMARY,
18591878
},
1860-
Size: uint64(998877),
1879+
// Size is intentionally nil for guest users
18611880
Mtime: &typesv1beta1.Timestamp{
18621881
Seconds: uint64(16273849),
18631882
},
@@ -1878,11 +1897,10 @@ var _ = Describe("FileConnector", func() {
18781897

18791898
expectedFileInfo := &fileinfo.OnlyOffice{
18801899
Version: "v162738490",
1881-
Size: conversions.ToPointer(int64(998877)),
18821900
BaseFileName: "test.txt",
18831901
BreadcrumbDocName: "test.txt",
18841902
BreadcrumbFolderName: "/path/to",
1885-
BreadcrumbFolderURL: "https://ocis.example.prv/s/ABC123",
1903+
BreadcrumbFolderURL: "https://ocis.example.prv/s/ABC123", // Match share token format
18861904
DisablePrint: true,
18871905
UserCanNotWriteRelative: false,
18881906
SupportsLocks: true,
@@ -1892,7 +1910,6 @@ var _ = Describe("FileConnector", func() {
18921910
UserCanRename: false,
18931911
UserCanReview: false,
18941912
UserCanWrite: false,
1895-
EnableInsertRemoteImage: false,
18961913
UserID: "guest-zzz000",
18971914
UserFriendlyName: "guest zzz000",
18981915
FileSharingURL: "https://ocis.example.prv/f/storageid$spaceid%21opaqueid?details=sharing",
@@ -2048,6 +2065,7 @@ var _ = Describe("FileConnector", func() {
20482065
FileVersionURL: "https://ocis.example.prv/f/storageid$spaceid%21opaqueid?details=versions",
20492066
HostEditURL: "https://ocis.example.prv/external-onlyoffice/path/to/test.txt?fileId=storageid%24spaceid%21opaqueid&view_mode=write",
20502067
PostMessageOrigin: "https://ocis.example.prv",
2068+
TemplateSource: "", // Remove the hardcoded token since it's dynamically generated
20512069
}
20522070

20532071
// change wopi app provider

services/collaboration/pkg/service/grpc/v0/service_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ var _ = Describe("Discovery", func() {
7676
BeforeEach(func() {
7777
cfg = &config.Config{
7878
TokenManager: &config.TokenManager{
79-
JWTSecret: "my_supa_secret",
79+
JWTSecret: "topsecret",
8080
},
8181
}
8282
gatewayClient = &cs3mocks.GatewayAPIClient{}
@@ -151,7 +151,7 @@ var _ = Describe("Discovery", func() {
151151
nowTime := time.Now()
152152

153153
cfg.Wopi.WopiSrc = "https://wopiserver.test.prv"
154-
cfg.Wopi.Secret = "my_supa_secret"
154+
cfg.Wopi.Secret = "topsecret"
155155
cfg.Wopi.DisableChat = disableChat
156156
cfg.App.Name = appName
157157
cfg.App.Product = appName
@@ -217,7 +217,7 @@ var _ = Describe("Discovery", func() {
217217
nowTime := time.Now()
218218

219219
cfg.Wopi.WopiSrc = "https://wopiserver.test.prv"
220-
cfg.Wopi.Secret = "my_supa_secret"
220+
cfg.Wopi.Secret = "topsecret"
221221
cfg.Wopi.ProxyURL = "https://office.proxy.test.prv"
222222
cfg.Wopi.ProxySecret = "your_supa_secret"
223223
cfg.App.Name = "Microsoft"
@@ -262,7 +262,7 @@ var _ = Describe("Discovery", func() {
262262
nowTime := time.Now()
263263

264264
cfg.Wopi.WopiSrc = "htttps://wopiserver.test.prv"
265-
cfg.Wopi.Secret = "my_supa_secret"
265+
cfg.Wopi.Secret = "topsecret"
266266
cfg.App.Name = "Microsoft"
267267

268268
myself := &userv1beta1.User{
@@ -303,7 +303,7 @@ var _ = Describe("Discovery", func() {
303303
nowTime := time.Now()
304304

305305
cfg.Wopi.WopiSrc = "htttps://wopiserver.test.prv"
306-
cfg.Wopi.Secret = "my_supa_secret"
306+
cfg.Wopi.Secret = "topsecret"
307307
cfg.App.Name = "Microsoft"
308308

309309
myself := &userv1beta1.User{
@@ -345,7 +345,7 @@ var _ = Describe("Discovery", func() {
345345
nowTime := time.Now()
346346

347347
cfg.Wopi.WopiSrc = "htttps://wopiserver.test.prv"
348-
cfg.Wopi.Secret = "my_supa_secret"
348+
cfg.Wopi.Secret = "topsecret"
349349
cfg.App.Name = "OnlyOffice"
350350
cfg.App.Product = "OnlyOffice"
351351

0 commit comments

Comments
 (0)