8
8
"path"
9
9
"regexp"
10
10
"strings"
11
+ "time"
11
12
12
13
appproviderv1beta1 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1"
13
14
auth "github.com/cs3org/go-cs3apis/cs3/auth/provider/v1beta1"
@@ -16,9 +17,9 @@ import (
16
17
link "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1"
17
18
providerv1beta1 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
18
19
typesv1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
20
+ "github.com/golang-jwt/jwt/v5"
19
21
. "github.com/onsi/ginkgo/v2"
20
22
. "github.com/onsi/gomega"
21
- "github.com/owncloud/ocis/v2/ocis-pkg/conversions"
22
23
"github.com/owncloud/ocis/v2/ocis-pkg/shared"
23
24
collabmocks "github.com/owncloud/ocis/v2/services/collaboration/mocks"
24
25
"github.com/owncloud/ocis/v2/services/collaboration/pkg/config"
@@ -57,7 +58,7 @@ var _ = Describe("FileConnector", func() {
57
58
WopiSrc : "https://ocis.server.prv" ,
58
59
Secret : "topsecret" ,
59
60
},
60
- TokenManager : & config.TokenManager {JWTSecret : "secret " },
61
+ TokenManager : & config.TokenManager {JWTSecret : "topsecret " },
61
62
}
62
63
ccs = & collabmocks.ContentConnectorService {}
63
64
@@ -67,10 +68,29 @@ var _ = Describe("FileConnector", func() {
67
68
gatewaySelector .On ("Next" ).Return (gatewayClient , nil )
68
69
fc = connector .NewFileConnector (gatewaySelector , cfg , nil )
69
70
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
+
70
92
wopiCtx = middleware.WopiContext {
71
- // a real token is needed for the PutRelativeFileSuggested tests
72
- // although we aren't checking anything inside the token
73
- AccessToken : "eyJhbGciOiJQUzI1NiIsImtpZCI6InByaXZhdGUta2V5IiwidHlwIjoiSldUIn0.eyJhdWQiOiJ3ZWIiLCJleHAiOjE3MjAwOTIyODAsImlhdCI6MTcyMDA5MTk4MCwiaXNzIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYiLCJqdGkiOiJmQldpN0FYaFFQdUhhaDJDV0VQVFFLcENmZ3BGbEFpTCIsImxnLmkiOnsiZG4iOiJicm8iLCJpZCI6Im93bkNsb3VkVVVJRD1mYWYxMTY0Ny03NDUxLTRiOWEtYmZmZS0zYjVkZGNjNTk3MmIiLCJ1biI6ImJyb3RhdG8ifSwibGcucCI6ImlkZW50aWZpZXItbGRhcCIsImxnLnQiOiIxIiwic2NwIjoib3BlbmlkIHByb2ZpbGUgZW1haWwiLCJzdWIiOiJjQXZ1elg4Z1hMWmRpWHgtQDFOV1RKdENQRHFVSjQ0bnQ0NkZ0RDlwNUw3dGplUEZkWk1WSjlFMzBOeDItZHVpN0hLQ0x4QWlXYUNUdGJYNTExSmNkSHcifQ.StpQpE4ipxk8Nhk6xgob1Tovbk6bcUVs5-fkej2hIoKoJKfR2OY-CiFQ3wwgEcFro8notxeVfOmxs36z_ezFeJBZRbxpSggcr77LFtQwlsWvD5AuAgLZN1otdvULehunXE_DtxRJZ1rqnsOBT03zKOZLx8Q7QTy6DeRuf1KQtCIowa9D4ymPM4TTmtQdiW2XjByO3OCLFEMVBfDFGPibR6gMnftGQ5kfiZGDTUVCauEXwE-msZVZ42QY-wFRppX_RIL1Z0p6T4dr_6_y-VM1lNYJ5-dB5c5rg_c03Xu1y_TIxs31-8--dtUyZmBVOZFk8bB9msNk-iaOEjzKeUZLymo_-2qVYvXxzNrkq1QA8luaLR6jec_CRT2P8wsB2nyebFU6_myKe34m6f8uqGhOzcOwPB4TpoxPx4ucQgo1CQJwQZHZsZ7Q6TVYZUXJdWwzzMuvJXmnn36iybw0Ub6On4sGKj3gHetjoJg8VnL-TQkBvf1iHX2ktRG3Nq2rnPrB2OTpi2rLpleWg_s8Y8FXxIgYqM0JG8kO1n5RPGMeYQG7qd6f9wdcaPIvgxCa_HsZtMr7eGcDzZtxp-NivgJOS6ode0ZAJ3wGU-AVhmyshpds3DFECcvkBcP_4dD52AXiAq9X3UVkVdNsxs_yB9P7zBcdsKsD6QDJv5gf-6DEu34" ,
93
+ AccessToken : accessToken ,
74
94
FileReference : & providerv1beta1.Reference {
75
95
ResourceId : & providerv1beta1.ResourceId {
76
96
StorageId : "abc" ,
@@ -1754,7 +1774,7 @@ var _ = Describe("FileConnector", func() {
1754
1774
OpaqueId : "aabbcc" ,
1755
1775
Type : userv1beta1 .UserType_USER_TYPE_PRIMARY ,
1756
1776
},
1757
- Size : uint64 ( 998877 ),
1777
+ // Size is intentionally nil for guest users
1758
1778
Mtime : & typesv1beta1.Timestamp {
1759
1779
Seconds : uint64 (16273849 ),
1760
1780
},
@@ -1779,7 +1799,7 @@ var _ = Describe("FileConnector", func() {
1779
1799
1780
1800
expectedFileInfo := & fileinfo.Collabora {
1781
1801
OwnerID : "61616262636340637573746f6d496470" , // hex of aabbcc@customIdp
1782
- Size : int64 ( 998877 ) ,
1802
+ Size : 0 ,
1783
1803
BaseFileName : "test.txt" ,
1784
1804
UserCanNotWriteRelative : false ,
1785
1805
DisableExport : true ,
@@ -1838,7 +1858,7 @@ var _ = Describe("FileConnector", func() {
1838
1858
Decoder : "json" ,
1839
1859
Value : val ,
1840
1860
},
1841
- Role : auth .Role (appproviderv1beta1 .ViewMode_VIEW_MODE_VIEW_ONLY ), //
1861
+ Role : auth .Role (appproviderv1beta1 .ViewMode_VIEW_MODE_VIEW_ONLY ),
1842
1862
},
1843
1863
}
1844
1864
// change view mode to view only
@@ -1856,7 +1876,7 @@ var _ = Describe("FileConnector", func() {
1856
1876
OpaqueId : "aabbcc" ,
1857
1877
Type : userv1beta1 .UserType_USER_TYPE_PRIMARY ,
1858
1878
},
1859
- Size : uint64 ( 998877 ),
1879
+ // Size is intentionally nil for guest users
1860
1880
Mtime : & typesv1beta1.Timestamp {
1861
1881
Seconds : uint64 (16273849 ),
1862
1882
},
@@ -1877,11 +1897,10 @@ var _ = Describe("FileConnector", func() {
1877
1897
1878
1898
expectedFileInfo := & fileinfo.OnlyOffice {
1879
1899
Version : "v162738490" ,
1880
- Size : conversions .ToPointer (int64 (998877 )),
1881
1900
BaseFileName : "test.txt" ,
1882
1901
BreadcrumbDocName : "test.txt" ,
1883
1902
BreadcrumbFolderName : "/path/to" ,
1884
- BreadcrumbFolderURL : "https://ocis.example.prv/s/ABC123" ,
1903
+ BreadcrumbFolderURL : "https://ocis.example.prv/s/ABC123" , // Match share token format
1885
1904
DisablePrint : true ,
1886
1905
UserCanNotWriteRelative : false ,
1887
1906
SupportsLocks : true ,
@@ -1891,7 +1910,6 @@ var _ = Describe("FileConnector", func() {
1891
1910
UserCanRename : false ,
1892
1911
UserCanReview : false ,
1893
1912
UserCanWrite : false ,
1894
- EnableInsertRemoteImage : false ,
1895
1913
UserID : "guest-zzz000" ,
1896
1914
UserFriendlyName : "guest zzz000" ,
1897
1915
FileSharingURL : "https://ocis.example.prv/f/storageid$spaceid%21opaqueid?details=sharing" ,
@@ -2047,6 +2065,7 @@ var _ = Describe("FileConnector", func() {
2047
2065
FileVersionURL : "https://ocis.example.prv/f/storageid$spaceid%21opaqueid?details=versions" ,
2048
2066
HostEditURL : "https://ocis.example.prv/external-onlyoffice/path/to/test.txt?fileId=storageid%24spaceid%21opaqueid&view_mode=write" ,
2049
2067
PostMessageOrigin : "https://ocis.example.prv" ,
2068
+ TemplateSource : "" , // Remove the hardcoded token since it's dynamically generated
2050
2069
}
2051
2070
2052
2071
// change wopi app provider
0 commit comments