@@ -33,6 +33,13 @@ func TestCreateAndDeleteWorkspaceFromWorkspace(t *testing.T) {
33
33
t .Fatalf ("Error creating workspace: %v" , err )
34
34
}
35
35
36
+ t .Cleanup (func () {
37
+ err = g .DeleteWorkspace (context .Background (), id )
38
+ if err != nil {
39
+ t .Errorf ("Error deleting workspace: %v" , err )
40
+ }
41
+ })
42
+
36
43
err = g .WriteFileInWorkspace (context .Background (), "file.txt" , []byte ("hello world" ), WriteFileInWorkspaceOptions {
37
44
WorkspaceID : id ,
38
45
})
@@ -45,26 +52,21 @@ func TestCreateAndDeleteWorkspaceFromWorkspace(t *testing.T) {
45
52
t .Errorf ("Error creating workspace from workspace: %v" , err )
46
53
}
47
54
48
- data , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
55
+ content , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
49
56
WorkspaceID : newID ,
50
57
})
51
58
if err != nil {
52
- t .Errorf ("Error reading file: %v" , err )
59
+ t .Fatalf ("Error reading file: %v" , err )
53
60
}
54
61
55
- if ! bytes .Equal (data , []byte ("hello world" )) {
56
- t .Errorf ("Unexpected content: %s" , data )
62
+ if ! bytes .Equal (content . Content , []byte ("hello world" )) {
63
+ t .Errorf ("Unexpected content: %s" , content . Content )
57
64
}
58
65
59
66
err = g .DeleteWorkspace (context .Background (), id )
60
67
if err != nil {
61
68
t .Errorf ("Error deleting workspace: %v" , err )
62
69
}
63
-
64
- err = g .DeleteWorkspace (context .Background (), newID )
65
- if err != nil {
66
- t .Errorf ("Error deleting new workspace: %v" , err )
67
- }
68
70
}
69
71
70
72
func TestWriteReadAndDeleteFileFromWorkspace (t * testing.T ) {
@@ -90,8 +92,26 @@ func TestWriteReadAndDeleteFileFromWorkspace(t *testing.T) {
90
92
t .Errorf ("Error reading file: %v" , err )
91
93
}
92
94
93
- if ! bytes .Equal (content , []byte ("test" )) {
94
- t .Errorf ("Unexpected content: %s" , content )
95
+ if ! bytes .Equal (content .Content , []byte ("test" )) {
96
+ t .Errorf ("Unexpected content: %s" , content .Content )
97
+ }
98
+
99
+ if content .RevisionID != "" {
100
+ t .Errorf ("Unexpected file revision ID when not requesting it: %s" , content .RevisionID )
101
+ }
102
+
103
+ // Read the file and request the revision ID
104
+ content , err = g .ReadFileInWorkspace (context .Background (), "test.txt" , ReadFileInWorkspaceOptions {WorkspaceID : id , WithLatestRevisionID : true })
105
+ if err != nil {
106
+ t .Errorf ("Error reading file: %v" , err )
107
+ }
108
+
109
+ if ! bytes .Equal (content .Content , []byte ("test" )) {
110
+ t .Errorf ("Unexpected content: %s" , content .Content )
111
+ }
112
+
113
+ if content .RevisionID == "" {
114
+ t .Errorf ("Expected file revision ID when requesting it: %s" , content .RevisionID )
95
115
}
96
116
97
117
// Stat the file to ensure it exists
@@ -120,6 +140,24 @@ func TestWriteReadAndDeleteFileFromWorkspace(t *testing.T) {
120
140
t .Errorf ("Unexpected file mime type: %s" , fileInfo .MimeType )
121
141
}
122
142
143
+ if fileInfo .RevisionID != "" {
144
+ t .Errorf ("Unexpected file revision ID when not requesting it: %s" , fileInfo .RevisionID )
145
+ }
146
+
147
+ // Stat file and request the revision ID
148
+ fileInfo , err = g .StatFileInWorkspace (context .Background (), "test.txt" , StatFileInWorkspaceOptions {WorkspaceID : id , WithLatestRevisionID : true })
149
+ if err != nil {
150
+ t .Errorf ("Error statting file: %v" , err )
151
+ }
152
+
153
+ if fileInfo .WorkspaceID != id {
154
+ t .Errorf ("Unexpected file workspace ID: %v" , fileInfo .WorkspaceID )
155
+ }
156
+
157
+ if fileInfo .RevisionID == "" {
158
+ t .Errorf ("Expected file revision ID when requesting it: %s" , fileInfo .RevisionID )
159
+ }
160
+
123
161
// Ensure we get the error we expect when trying to read a non-existent file
124
162
_ , err = g .ReadFileInWorkspace (context .Background (), "test1.txt" , ReadFileInWorkspaceOptions {WorkspaceID : id })
125
163
if nf := (* NotFoundInWorkspaceError )(nil ); ! errors .As (err , & nf ) {
@@ -322,7 +360,7 @@ func TestConflictsForFileInWorkspace(t *testing.T) {
322
360
323
361
ce := (* ConflictInWorkspaceError )(nil )
324
362
// Writing a new file with a non-zero latest revision should fail
325
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : "1" })
363
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : "1" })
326
364
if err == nil || ! errors .As (err , & ce ) {
327
365
t .Errorf ("Expected error writing file with non-zero latest revision: %v" , err )
328
366
}
@@ -347,7 +385,7 @@ func TestConflictsForFileInWorkspace(t *testing.T) {
347
385
}
348
386
349
387
// Writing to the file with the latest revision should succeed
350
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
388
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
351
389
if err != nil {
352
390
t .Fatalf ("Error creating file: %v" , err )
353
391
}
@@ -362,7 +400,7 @@ func TestConflictsForFileInWorkspace(t *testing.T) {
362
400
}
363
401
364
402
// Writing to the file with the same revision should fail
365
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test3" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
403
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test3" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
366
404
if err == nil || ! errors .As (err , & ce ) {
367
405
t .Errorf ("Expected error writing file with same revision: %v" , err )
368
406
}
@@ -382,7 +420,7 @@ func TestConflictsForFileInWorkspace(t *testing.T) {
382
420
}
383
421
384
422
// Ensure we can write a new file after deleting the latest revision
385
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test4" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
423
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test4" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
386
424
if err != nil {
387
425
t .Fatalf ("Error creating file: %v" , err )
388
426
}
@@ -501,15 +539,15 @@ func TestCreateAndDeleteWorkspaceFromWorkspaceS3(t *testing.T) {
501
539
t .Errorf ("Error creating workspace from workspace: %v" , err )
502
540
}
503
541
504
- data , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
542
+ content , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
505
543
WorkspaceID : newID ,
506
544
})
507
545
if err != nil {
508
546
t .Errorf ("Error reading file: %v" , err )
509
547
}
510
548
511
- if ! bytes .Equal (data , []byte ("hello world" )) {
512
- t .Errorf ("Unexpected content: %s" , data )
549
+ if ! bytes .Equal (content . Content , []byte ("hello world" )) {
550
+ t .Errorf ("Unexpected content: %s" , content . Content )
513
551
}
514
552
515
553
err = g .DeleteWorkspace (context .Background (), id )
@@ -545,15 +583,15 @@ func TestCreateAndDeleteDirectoryWorkspaceFromWorkspaceS3(t *testing.T) {
545
583
t .Errorf ("Error creating workspace from workspace: %v" , err )
546
584
}
547
585
548
- data , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
586
+ content , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
549
587
WorkspaceID : newID ,
550
588
})
551
589
if err != nil {
552
590
t .Errorf ("Error reading file: %v" , err )
553
591
}
554
592
555
- if ! bytes .Equal (data , []byte ("hello world" )) {
556
- t .Errorf ("Unexpected content: %s" , data )
593
+ if ! bytes .Equal (content . Content , []byte ("hello world" )) {
594
+ t .Errorf ("Unexpected content: %s" , content . Content )
557
595
}
558
596
559
597
err = g .DeleteWorkspace (context .Background (), id )
@@ -577,6 +615,13 @@ func TestCreateAndDeleteS3WorkspaceFromWorkspaceDirectory(t *testing.T) {
577
615
t .Fatalf ("Error creating workspace: %v" , err )
578
616
}
579
617
618
+ t .Cleanup (func () {
619
+ err = g .DeleteWorkspace (context .Background (), id )
620
+ if err != nil {
621
+ t .Errorf ("Error deleting workspace: %v" , err )
622
+ }
623
+ })
624
+
580
625
err = g .WriteFileInWorkspace (context .Background (), "file.txt" , []byte ("hello world" ), WriteFileInWorkspaceOptions {
581
626
WorkspaceID : id ,
582
627
})
@@ -589,26 +634,21 @@ func TestCreateAndDeleteS3WorkspaceFromWorkspaceDirectory(t *testing.T) {
589
634
t .Errorf ("Error creating workspace from workspace: %v" , err )
590
635
}
591
636
592
- data , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
637
+ content , err := g .ReadFileInWorkspace (context .Background (), "file.txt" , ReadFileInWorkspaceOptions {
593
638
WorkspaceID : newID ,
594
639
})
595
640
if err != nil {
596
- t .Errorf ("Error reading file: %v" , err )
641
+ t .Fatalf ("Error reading file: %v" , err )
597
642
}
598
643
599
- if ! bytes .Equal (data , []byte ("hello world" )) {
600
- t .Errorf ("Unexpected content: %s" , data )
644
+ if ! bytes .Equal (content . Content , []byte ("hello world" )) {
645
+ t .Errorf ("Unexpected content: %s" , content . Content )
601
646
}
602
647
603
648
err = g .DeleteWorkspace (context .Background (), id )
604
649
if err != nil {
605
650
t .Errorf ("Error deleting workspace: %v" , err )
606
651
}
607
-
608
- err = g .DeleteWorkspace (context .Background (), newID )
609
- if err != nil {
610
- t .Errorf ("Error deleting new workspace: %v" , err )
611
- }
612
652
}
613
653
614
654
func TestWriteReadAndDeleteFileFromWorkspaceS3 (t * testing.T ) {
@@ -638,8 +678,26 @@ func TestWriteReadAndDeleteFileFromWorkspaceS3(t *testing.T) {
638
678
t .Errorf ("Error reading file: %v" , err )
639
679
}
640
680
641
- if ! bytes .Equal (content , []byte ("test" )) {
642
- t .Errorf ("Unexpected content: %s" , content )
681
+ if ! bytes .Equal (content .Content , []byte ("test" )) {
682
+ t .Errorf ("Unexpected content: %s" , content .Content )
683
+ }
684
+
685
+ if content .RevisionID != "" {
686
+ t .Errorf ("Unexpected file revision ID when not requesting it: %s" , content .RevisionID )
687
+ }
688
+
689
+ // Read the file and request the revision ID
690
+ content , err = g .ReadFileInWorkspace (context .Background (), "test.txt" , ReadFileInWorkspaceOptions {WorkspaceID : id , WithLatestRevisionID : true })
691
+ if err != nil {
692
+ t .Errorf ("Error reading file: %v" , err )
693
+ }
694
+
695
+ if ! bytes .Equal (content .Content , []byte ("test" )) {
696
+ t .Errorf ("Unexpected content: %s" , content .Content )
697
+ }
698
+
699
+ if content .RevisionID == "" {
700
+ t .Errorf ("Expected file revision ID when requesting it: %s" , content .RevisionID )
643
701
}
644
702
645
703
// Stat the file to ensure it exists
@@ -668,6 +726,24 @@ func TestWriteReadAndDeleteFileFromWorkspaceS3(t *testing.T) {
668
726
t .Errorf ("Unexpected file mime type: %s" , fileInfo .MimeType )
669
727
}
670
728
729
+ if fileInfo .RevisionID != "" {
730
+ t .Errorf ("Unexpected file revision ID when not requesting it: %s" , fileInfo .RevisionID )
731
+ }
732
+
733
+ // Stat file and request the revision ID
734
+ fileInfo , err = g .StatFileInWorkspace (context .Background (), "test.txt" , StatFileInWorkspaceOptions {WorkspaceID : id , WithLatestRevisionID : true })
735
+ if err != nil {
736
+ t .Errorf ("Error statting file: %v" , err )
737
+ }
738
+
739
+ if fileInfo .WorkspaceID != id {
740
+ t .Errorf ("Unexpected file workspace ID: %v" , fileInfo .WorkspaceID )
741
+ }
742
+
743
+ if fileInfo .RevisionID == "" {
744
+ t .Errorf ("Expected file revision ID when requesting it: %s" , fileInfo .RevisionID )
745
+ }
746
+
671
747
// Ensure we get the error we expect when trying to read a non-existent file
672
748
_ , err = g .ReadFileInWorkspace (context .Background (), "test1.txt" , ReadFileInWorkspaceOptions {WorkspaceID : id })
673
749
if nf := (* NotFoundInWorkspaceError )(nil ); ! errors .As (err , & nf ) {
@@ -795,7 +871,7 @@ func TestConflictsForFileInWorkspaceS3(t *testing.T) {
795
871
796
872
ce := (* ConflictInWorkspaceError )(nil )
797
873
// Writing a new file with a non-zero latest revision should fail
798
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : "1" })
874
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test0" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : "1" })
799
875
if err == nil || ! errors .As (err , & ce ) {
800
876
t .Errorf ("Expected error writing file with non-zero latest revision: %v" , err )
801
877
}
@@ -820,7 +896,7 @@ func TestConflictsForFileInWorkspaceS3(t *testing.T) {
820
896
}
821
897
822
898
// Writing to the file with the latest revision should succeed
823
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
899
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test2" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
824
900
if err != nil {
825
901
t .Fatalf ("Error creating file: %v" , err )
826
902
}
@@ -835,7 +911,7 @@ func TestConflictsForFileInWorkspaceS3(t *testing.T) {
835
911
}
836
912
837
913
// Writing to the file with the same revision should fail
838
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test3" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
914
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test3" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
839
915
if err == nil || ! errors .As (err , & ce ) {
840
916
t .Errorf ("Expected error writing file with same revision: %v" , err )
841
917
}
@@ -855,7 +931,7 @@ func TestConflictsForFileInWorkspaceS3(t *testing.T) {
855
931
}
856
932
857
933
// Ensure we can write a new file after deleting the latest revision
858
- err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test4" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevision : revisions [0 ].RevisionID })
934
+ err = g .WriteFileInWorkspace (context .Background (), "test.txt" , []byte ("test4" ), WriteFileInWorkspaceOptions {WorkspaceID : id , LatestRevisionID : revisions [0 ].RevisionID })
859
935
if err != nil {
860
936
t .Fatalf ("Error creating file: %v" , err )
861
937
}
0 commit comments