@@ -137,15 +137,29 @@ public async Task PutKey_Succeeds()
137137 _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
138138 }
139139
140- [ Fact ]
141- public async Task DeleteKey_Succeeds ( )
140+ [ Theory ]
141+ [ InlineData ( "key1" , false ) ]
142+ [ InlineData ( "_key1" , false ) ]
143+ [ InlineData ( "_master" , true ) ]
144+ [ InlineData ( "_MASter" , true ) ]
145+ public async Task DeleteKey_Tests ( string keyName , bool invalidKey )
142146 {
143- _secretsManagerMock . Setup ( p => p . DeleteSecretAsync ( "key2" , "TestFunction1" , ScriptSecretsType . Function ) ) . ReturnsAsync ( true ) ;
147+ _secretsManagerMock . Setup ( p => p . DeleteSecretAsync ( keyName , "TestFunction1" , ScriptSecretsType . Function ) ) . ReturnsAsync ( true ) ;
144148
145- var result = ( StatusCodeResult ) ( await _testController . Delete ( "TestFunction1" , "key2" ) ) ;
146- Assert . Equal ( StatusCodes . Status204NoContent , result . StatusCode ) ;
149+ if ( invalidKey )
150+ {
151+ var result = ( BadRequestObjectResult ) ( await _testController . Delete ( "TestFunction1" , keyName ) ) ;
152+ Assert . Equal ( "Cannot delete System Key." , result . Value ) ;
147153
148- _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
154+ _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
155+ }
156+ else
157+ {
158+ var result = ( StatusCodeResult ) ( await _testController . Delete ( "TestFunction1" , keyName ) ) ;
159+ Assert . Equal ( StatusCodes . Status204NoContent , result . StatusCode ) ;
160+
161+ _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
162+ }
149163 }
150164
151165 [ Fact ]
@@ -168,15 +182,6 @@ public async Task DeleteKey_NotAKey_ReturnsNotFound()
168182 _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
169183 }
170184
171- [ Fact ]
172- public async Task DeleteKey_InvalidKeyName_ReturnsBadRequest ( )
173- {
174- var result = ( BadRequestObjectResult ) ( await _testController . Delete ( "TestFunction1" , "_test" ) ) ;
175- Assert . Equal ( "Invalid key name." , result . Value ) ;
176-
177- _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
178- }
179-
180185 protected virtual void Dispose ( bool disposing )
181186 {
182187 if ( disposing )
0 commit comments