tree 6273cd6734a1a019fe09b575875446cb363ff5ac
parent cfafdd9c7d5ffc78a8cef66f835e54625b48aec1
author Rawlin Peters <rawlin@apache.org> 1590684264 -0600
committer GitHub <noreply@github.com> 1590684264 -0600
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJez+poCRBK7hj4Ov3rIwAAdHIIAHqcN32NPvekOCxWP3UkJtq0
 aHIlJhukdHICEuIhYNAR70PSRmQXdIP/P00sYj8dZ54TzA1LR6QInA62T5I6gCOL
 s8o3aZK7uI3OyqsSLitkotPjWex4hpakvS0qMH8KHBJr1WyzJw4010rPzGz2/sll
 pTaVjSLZ+3OcjZby6zhoyrtet8Zh6PiTgwhWaPjog88ZiXMmmaR37pn/R/LecQHn
 BnnsBcL0IRtigZpkkAajGFTX+HecbOVvOlnGB1wb4rihg+6wK1iojin5hoFkj7ka
 CeeN/wLIeP8deh2OgLDm6hXdCyt19GshNQs5dxYxqNlXc9F2f/nY+FrFoa1DSSk=
 =b6NY
 -----END PGP SIGNATURE-----
 

Add and satisfy OptionsDelete API test for DELETE /regions?name={{name}} (#4707) (#4732)

* Add an API test for DELETE /regions?name={{name}}

* No changelog entry

* Combine OptionsDeleter and HasDeleteKeyOptions interfaces
Rename variables:
  - hasDeleteKeyOption() -> checkIfOptionsDeleter()
  - deleteKeyOptionsExists isOptionsDeleter

* Do not bail if the type is an options deleter

* Add new DeleteHandler() logic to DeprecatedDeleteHandler()

* Remove unnecessary "else" clause

* Add "name" param to GetKeys() and SetKeys()

* Set object keys from DeleteKeyOptions() or GetKeyFieldsInfo() depending
on whether the object is an options deleter

* Add audit log assertions to the API test for deleting a region by name

* No need to return "name" param from GetKeys()

* DeprecatedDeleteHandler: Set object keys from DeleteKeyOptions() or
GetKeyFieldsInfo() depending on whether the object is an options deleter

* kf.Field -> key

(cherry picked from commit 56d09e6d08912dbbb90a6fa26c3095b69750fb28)

Co-authored-by: Zach Hoffman <zach@zrhoffman.net>