@@ -134,17 +134,38 @@ public async Task PutKey_Succeeds()
134
134
_functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
135
135
}
136
136
137
- [ Fact ]
138
- public async Task DeleteKey_Succeeds ( )
137
+ [ Theory ]
138
+ [ InlineData ( "key1" , false ) ]
139
+ [ InlineData ( "_key1" , false ) ]
140
+ [ InlineData ( "_master" , true ) ]
141
+ [ InlineData ( "_MASter" , true ) ]
142
+ [ InlineData ( null , true ) ]
143
+ public async Task DeleteKey_Tests ( string keyName , bool invalidKey )
139
144
{
140
145
_testController . Request = new HttpRequestMessage ( HttpMethod . Get , "https://local/admin/functions/keys/key2" ) ;
141
146
142
- _secretsManagerMock . Setup ( p => p . DeleteSecretAsync ( "key2" , "TestFunction1" , ScriptSecretsType . Function ) ) . ReturnsAsync ( true ) ;
143
-
144
- var result = ( StatusCodeResult ) ( await _testController . Delete ( "TestFunction1" , "key2" ) ) ;
145
- Assert . Equal ( HttpStatusCode . NoContent , result . StatusCode ) ;
147
+ _secretsManagerMock . Setup ( p => p . DeleteSecretAsync ( keyName , "TestFunction1" , ScriptSecretsType . Function ) ) . ReturnsAsync ( true ) ;
146
148
147
- _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
149
+ if ( invalidKey )
150
+ {
151
+ if ( string . IsNullOrEmpty ( keyName ) )
152
+ {
153
+ var result = ( BadRequestErrorMessageResult ) ( await _testController . Delete ( "TestFunction1" , keyName ) ) ;
154
+ Assert . Equal ( "Invalid key name." , result . Message ) ;
155
+ }
156
+ else
157
+ {
158
+ var result = ( BadRequestErrorMessageResult ) ( await _testController . Delete ( "TestFunction1" , keyName ) ) ;
159
+ Assert . Equal ( "Cannot delete System Key." , result . Message ) ;
160
+ }
161
+ _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
162
+ }
163
+ else
164
+ {
165
+ var result = ( StatusCodeResult ) ( await _testController . Delete ( "TestFunction1" , keyName ) ) ;
166
+ Assert . Equal ( HttpStatusCode . NoContent , result . StatusCode ) ;
167
+ _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
168
+ }
148
169
}
149
170
150
171
[ Fact ]
@@ -167,15 +188,6 @@ public async Task DeleteKey_NotAKey_ReturnsNotFound()
167
188
_functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
168
189
}
169
190
170
- [ Fact ]
171
- public async Task DeleteKey_InvalidKeyName_ReturnsBadRequest ( )
172
- {
173
- var result = ( BadRequestErrorMessageResult ) ( await _testController . Delete ( "TestFunction1" , "_test" ) ) ;
174
- Assert . Equal ( "Invalid key name." , result . Message ) ;
175
-
176
- _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
177
- }
178
-
179
191
protected virtual void Dispose ( bool disposing )
180
192
{
181
193
if ( disposing )
0 commit comments