@@ -224,6 +224,89 @@ func TestRevisionsForFileInWorkspace(t *testing.T) {
224
224
}
225
225
}
226
226
227
+ func TestDisableCreateRevisionsForFileInWorkspace (t * testing.T ) {
228
+ id , err := g .CreateWorkspace (context .Background (), "directory" )
229
+ if err != nil {
230
+ t .Fatalf ("Error creating workspace: %v" , err )
231
+ }
232
+
233
+ t .Cleanup (func () {
234
+ err := g .DeleteWorkspace (context .Background (), id )
235
+ if err != nil {
236
+ t .Errorf ("Error deleting workspace: %v" , err )
237
+ }
238
+ })
239
+
240
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id })
241
+ if err != nil {
242
+ t .Fatalf ("Error creating file: %v" , err )
243
+ }
244
+
245
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test1" ), WriteFileInWorkspaceOptions {WorkspaceID : id , CreateRevision : new (bool )})
246
+ if err != nil {
247
+ t .Fatalf ("Error creating file: %v" , err )
248
+ }
249
+
250
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id })
251
+ if err != nil {
252
+ t .Fatalf ("Error creating file: %v" , err )
253
+ }
254
+
255
+ revisions , err := g .ListRevisionsForFileInWorkspace (context .Background (), "test.txt" , ListRevisionsForFileInWorkspaceOptions {WorkspaceID : id })
256
+ if err != nil {
257
+ t .Errorf ("Error reading file: %v" , err )
258
+ }
259
+
260
+ if len (revisions ) != 1 {
261
+ t .Errorf ("Unexpected number of revisions: %d" , len (revisions ))
262
+ }
263
+
264
+ for i , rev := range revisions {
265
+ if rev .WorkspaceID != id {
266
+ t .Errorf ("Unexpected file workspace ID: %v" , rev .WorkspaceID )
267
+ }
268
+
269
+ if rev .Name != "test.txt" {
270
+ t .Errorf ("Unexpected file name: %s" , rev .Name )
271
+ }
272
+
273
+ if rev .Size != 5 {
274
+ t .Errorf ("Unexpected file size: %d" , rev .Size )
275
+ }
276
+
277
+ if rev .ModTime .IsZero () {
278
+ t .Errorf ("Unexpected file mod time: %v" , rev .ModTime )
279
+ }
280
+
281
+ if rev .MimeType != "text/plain" {
282
+ t .Errorf ("Unexpected file mime type: %s" , rev .MimeType )
283
+ }
284
+
285
+ if rev .RevisionID != fmt .Sprintf ("%d" , i + 1 ) {
286
+ t .Errorf ("Unexpected revision ID: %s" , rev .RevisionID )
287
+ }
288
+ }
289
+
290
+ err = g .DeleteRevisionForFileInWorkspace (context .Background (), "test.txt" , "1" , DeleteRevisionForFileInWorkspaceOptions {WorkspaceID : id })
291
+ if err != nil {
292
+ t .Errorf ("Error deleting revision for file: %v" , err )
293
+ }
294
+
295
+ revisions , err = g .ListRevisionsForFileInWorkspace (context .Background (), "test.txt" , ListRevisionsForFileInWorkspaceOptions {WorkspaceID : id })
296
+ if err != nil {
297
+ t .Errorf ("Error reading file: %v" , err )
298
+ }
299
+
300
+ if len (revisions ) != 0 {
301
+ t .Errorf ("Unexpected number of revisions: %d" , len (revisions ))
302
+ }
303
+
304
+ err = g .DeleteFileInWorkspace (context .Background (), "test.txt" , DeleteFileInWorkspaceOptions {WorkspaceID : id })
305
+ if err != nil {
306
+ t .Errorf ("Error deleting file: %v" , err )
307
+ }
308
+ }
309
+
227
310
func TestLsComplexWorkspace (t * testing.T ) {
228
311
id , err := g .CreateWorkspace (context .Background (), "directory" )
229
312
if err != nil {
@@ -607,6 +690,93 @@ func TestRevisionsForFileInWorkspaceS3(t *testing.T) {
607
690
}
608
691
}
609
692
693
+ func TestDisableCreatingRevisionsForFileInWorkspaceS3 (t * testing.T ) {
694
+ if os .Getenv ("AWS_ACCESS_KEY_ID" ) == "" || os .Getenv ("AWS_SECRET_ACCESS_KEY" ) == "" || os .Getenv ("WORKSPACE_PROVIDER_S3_BUCKET" ) == "" {
695
+ t .Skip ("Skipping test because AWS credentials are not set" )
696
+ }
697
+
698
+ id , err := g .CreateWorkspace (context .Background (), "s3" )
699
+ if err != nil {
700
+ t .Fatalf ("Error creating workspace: %v" , err )
701
+ }
702
+
703
+ t .Cleanup (func () {
704
+ err := g .DeleteWorkspace (context .Background (), id )
705
+ if err != nil {
706
+ t .Errorf ("Error deleting workspace: %v" , err )
707
+ }
708
+ })
709
+
710
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id })
711
+ if err != nil {
712
+ t .Fatalf ("Error creating file: %v" , err )
713
+ }
714
+
715
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test1" ), WriteFileInWorkspaceOptions {WorkspaceID : id , CreateRevision : new (bool )})
716
+ if err != nil {
717
+ t .Fatalf ("Error creating file: %v" , err )
718
+ }
719
+
720
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id })
721
+ if err != nil {
722
+ t .Fatalf ("Error creating file: %v" , err )
723
+ }
724
+
725
+ revisions , err := g .ListRevisionsForFileInWorkspace (context .Background (), "test.txt" , ListRevisionsForFileInWorkspaceOptions {WorkspaceID : id })
726
+ if err != nil {
727
+ t .Errorf ("Error reading file: %v" , err )
728
+ }
729
+
730
+ if len (revisions ) != 1 {
731
+ t .Errorf ("Unexpected number of revisions: %d" , len (revisions ))
732
+ }
733
+
734
+ for i , rev := range revisions {
735
+ if rev .WorkspaceID != id {
736
+ t .Errorf ("Unexpected file workspace ID: %v" , rev .WorkspaceID )
737
+ }
738
+
739
+ if rev .Name != "test.txt" {
740
+ t .Errorf ("Unexpected file name: %s" , rev .Name )
741
+ }
742
+
743
+ if rev .Size != 5 {
744
+ t .Errorf ("Unexpected file size: %d" , rev .Size )
745
+ }
746
+
747
+ if rev .ModTime .IsZero () {
748
+ t .Errorf ("Unexpected file mod time: %v" , rev .ModTime )
749
+ }
750
+
751
+ if rev .MimeType != "text/plain" {
752
+ t .Errorf ("Unexpected file mime type: %s" , rev .MimeType )
753
+ }
754
+
755
+ if rev .RevisionID != fmt .Sprintf ("%d" , i + 1 ) {
756
+ t .Errorf ("Unexpected revision ID: %s" , rev .RevisionID )
757
+ }
758
+ }
759
+
760
+ err = g .DeleteRevisionForFileInWorkspace (context .Background (), "test.txt" , "1" , DeleteRevisionForFileInWorkspaceOptions {WorkspaceID : id })
761
+ if err != nil {
762
+ t .Errorf ("Error deleting revision for file: %v" , err )
763
+ }
764
+
765
+ revisions , err = g .ListRevisionsForFileInWorkspace (context .Background (), "test.txt" , ListRevisionsForFileInWorkspaceOptions {WorkspaceID : id })
766
+ if err != nil {
767
+ t .Errorf ("Error reading file: %v" , err )
768
+ }
769
+
770
+ if len (revisions ) != 0 {
771
+ t .Errorf ("Unexpected number of revisions: %d" , len (revisions ))
772
+ }
773
+
774
+ err = g .DeleteFileInWorkspace (context .Background (), "test.txt" , DeleteFileInWorkspaceOptions {WorkspaceID : id })
775
+ if err != nil {
776
+ t .Errorf ("Error deleting file: %v" , err )
777
+ }
778
+ }
779
+
610
780
func TestLsComplexWorkspaceS3 (t * testing.T ) {
611
781
if os .Getenv ("AWS_ACCESS_KEY_ID" ) == "" || os .Getenv ("AWS_SECRET_ACCESS_KEY" ) == "" || os .Getenv ("WORKSPACE_PROVIDER_S3_BUCKET" ) == "" {
612
782
t .Skip ("Skipping test because AWS credentials are not set" )
0 commit comments