@@ -98,3 +98,66 @@ func (s *BasicFunctionalitySuite) Scenario_SingleFileUploadDownload_EmptySAS(svm
98
98
// Validate that the stdout contains the missing sas message
99
99
ValidateErrorOutput (svm , stdout , "Please authenticate using Microsoft Entra ID (https://aka.ms/AzCopy/AuthZ), use AzCopy login, or append a SAS token to your Azure URL." )
100
100
}
101
+
102
+ func (s * BasicFunctionalitySuite ) Scenario_Sync_EmptySASErrorCodes (svm * ScenarioVariationManager ) {
103
+ dstObj := CreateResource [ContainerResourceManager ](svm , GetRootResource (svm , ResolveVariation (svm , []common.Location {common .ELocation .Blob (), common .ELocation .File (), common .ELocation .BlobFS ()})), ResourceDefinitionContainer {}).GetObject (svm , "test" , common .EEntityType .File ())
104
+
105
+ // Scale up from service to object
106
+ srcObj := CreateResource [ObjectResourceManager ](svm , GetRootResource (svm , ResolveVariation (svm , []common.Location {common .ELocation .Local (), common .ELocation .Blob (), common .ELocation .File (), common .ELocation .BlobFS ()})), ResourceDefinitionObject {})
107
+
108
+ // no local <-> local
109
+ if srcObj .Location ().IsLocal () == dstObj .Location ().IsLocal () {
110
+ svm .InvalidateScenario ()
111
+ return
112
+ }
113
+
114
+ stdout , _ := RunAzCopy (
115
+ svm ,
116
+ AzCopyCommand {
117
+ Verb : AzCopyVerbSync ,
118
+ Targets : []ResourceManager {
119
+ AzCopyTarget {srcObj , EExplicitCredentialType .PublicAuth (), CreateAzCopyTargetOptions {}},
120
+ AzCopyTarget {dstObj , EExplicitCredentialType .PublicAuth (), CreateAzCopyTargetOptions {}},
121
+ },
122
+ Flags : CopyFlags {
123
+ CopySyncCommonFlags : CopySyncCommonFlags {
124
+ Recursive : pointerTo (true ),
125
+ },
126
+ },
127
+ ShouldFail : true ,
128
+ })
129
+
130
+ // Validate that the stdout contains these error URLs
131
+ ValidateContainsError (svm , stdout , []string {"https://aka.ms/AzCopyError/NoAuthenticationInformation" , "https://aka.ms/AzCopyError/ResourceNotFound" })
132
+ }
133
+
134
+ func (s * BasicFunctionalitySuite ) Scenario_Copy_EmptySASErrorCodes (svm * ScenarioVariationManager ) {
135
+ dstObj := CreateResource [ContainerResourceManager ](svm , GetRootResource (svm , ResolveVariation (svm , []common.Location {common .ELocation .Local (), common .ELocation .Blob (), common .ELocation .File ()})), ResourceDefinitionContainer {}).GetObject (svm , "test" , common .EEntityType .File ())
136
+
137
+ // Scale up from service to object
138
+ srcObj := CreateResource [ObjectResourceManager ](svm , GetRootResource (svm , ResolveVariation (svm , []common.Location {common .ELocation .Blob (), common .ELocation .File ()})), ResourceDefinitionObject {})
139
+
140
+ if srcObj .Location ().IsLocal () == dstObj .Location ().IsLocal () {
141
+ svm .InvalidateScenario ()
142
+ return
143
+ }
144
+
145
+ stdout , _ := RunAzCopy (
146
+ svm ,
147
+ AzCopyCommand {
148
+ Verb : AzCopyVerbCopy ,
149
+ Targets : []ResourceManager {
150
+ AzCopyTarget {srcObj , EExplicitCredentialType .PublicAuth (), CreateAzCopyTargetOptions {}},
151
+ AzCopyTarget {dstObj , EExplicitCredentialType .PublicAuth (), CreateAzCopyTargetOptions {}},
152
+ },
153
+ Flags : CopyFlags {
154
+ CopySyncCommonFlags : CopySyncCommonFlags {
155
+ Recursive : pointerTo (true ),
156
+ },
157
+ },
158
+ ShouldFail : true ,
159
+ })
160
+
161
+ // Validate that the stdout contains these error URLs
162
+ ValidateContainsError (svm , stdout , []string {"https://aka.ms/AzCopyError/NoAuthenticationInformation" , "https://aka.ms/AzCopyError/ResourceNotFound" })
163
+ }
0 commit comments