From e5ee8c78bd5d44beaf8d1726de505011d7400767 Mon Sep 17 00:00:00 2001 From: ShawnX Date: Tue, 1 Sep 2026 22:13:52 +0800 Subject: [PATCH] {MySQL} Update advanced threat protection payload structure to use properties object --- .../azure/cli/command_modules/mysql/custom.py | 4 ++- .../mysql/tests/latest/test_mysql_custom.py | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/azure-cli/azure/cli/command_modules/mysql/custom.py b/src/azure-cli/azure/cli/command_modules/mysql/custom.py index 4b00fa295fd..a245fd1e311 100644 --- a/src/azure-cli/azure/cli/command_modules/mysql/custom.py +++ b/src/azure-cli/azure/cli/command_modules/mysql/custom.py @@ -47,7 +47,9 @@ def flexible_server_advanced_threat_protection_update(cmd, client, resource_grou Updates an advanced threat protection setting. Custom update function to apply parameters to instance. ''' parameters = { - 'state': state + 'properties': { + 'state': state + } } return client.begin_update(resource_group_name, server_name, models.AdvancedThreatProtectionName.DEFAULT.value, parameters) diff --git a/src/azure-cli/azure/cli/command_modules/mysql/tests/latest/test_mysql_custom.py b/src/azure-cli/azure/cli/command_modules/mysql/tests/latest/test_mysql_custom.py index fee7b2f69c4..06e70e68370 100644 --- a/src/azure-cli/azure/cli/command_modules/mysql/tests/latest/test_mysql_custom.py +++ b/src/azure-cli/azure/cli/command_modules/mysql/tests/latest/test_mysql_custom.py @@ -34,6 +34,28 @@ def test_firewall_rule_create_uses_properties_payload(self): }, client.parameters.as_dict()) +class MysqlFlexibleServerAdvancedThreatProtectionCustomTest(unittest.TestCase): + + def test_update_uses_properties_payload(self): + client = _FakeAdvancedThreatProtectionClient() + + custom.flexible_server_advanced_threat_protection_update( + cmd=None, + client=client, + resource_group_name='rg', + server_name='server', + state='Enabled') + + self.assertEqual('rg', client.resource_group_name) + self.assertEqual('server', client.server_name) + self.assertEqual('Default', client.advanced_threat_protection_name) + self.assertEqual({ + 'properties': { + 'state': 'Enabled' + } + }, client.parameters) + + class _FakeFirewallRulesClient: def begin_create_or_update(self, resource_group_name, server_name, firewall_rule_name, parameters): @@ -44,5 +66,15 @@ def begin_create_or_update(self, resource_group_name, server_name, firewall_rule return parameters +class _FakeAdvancedThreatProtectionClient: + + def begin_update(self, resource_group_name, server_name, advanced_threat_protection_name, parameters): + self.resource_group_name = resource_group_name + self.server_name = server_name + self.advanced_threat_protection_name = advanced_threat_protection_name + self.parameters = parameters + return parameters + + if __name__ == '__main__': unittest.main()