@@ -134,17 +134,38 @@ public async Task PutKey_Succeeds()
134134 _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Once ) ;
135135 }
136136
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 )
139144 {
140145 _testController . Request = new HttpRequestMessage ( HttpMethod . Get , "https://local/admin/functions/keys/key2" ) ;
141146
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 ) ;
146148
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+ }
148169 }
149170
150171 [ Fact ]
@@ -167,15 +188,6 @@ public async Task DeleteKey_NotAKey_ReturnsNotFound()
167188 _functionsSyncManagerMock . Verify ( p => p . TrySyncTriggersAsync ( false ) , Times . Never ) ;
168189 }
169190
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-
179191 protected virtual void Dispose ( bool disposing )
180192 {
181193 if ( disposing )
0 commit comments