Skip to content

Commit a653ea0

Browse files
Simplify test-backup module syntax
1 parent 3ff3970 commit a653ea0

File tree

1 file changed

+23
-67
lines changed

1 file changed

+23
-67
lines changed

tests/unit/test_backups.py

Lines changed: 23 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# See LICENSE file for licensing details.
33

44
import unittest
5-
from unittest.mock import MagicMock, PropertyMock, patch
5+
from unittest.mock import MagicMock, patch
66

77
from charms.mysql.v0.mysql import (
88
MySQLConfigureInstanceError,
@@ -285,7 +285,7 @@ def test_on_create_backup_failure(
285285
# test failure with _can_cluster_perform_backup
286286
_can_cluster_perform_backup.return_value = False, "can cluster perform backup failure"
287287
event = MagicMock()
288-
type(event).params = PropertyMock(return_value={"force": False})
288+
event.params = {"force": False}
289289
self.charm.unit.status = ActiveStatus()
290290

291291
self.mysql_backups._on_create_backup(event)
@@ -598,10 +598,7 @@ def test_pre_restore_checks(
598598
):
599599
"""Test _pre_restore_checks()."""
600600
event_mock = MagicMock()
601-
type(event_mock).params = PropertyMock(
602-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
603-
)
604-
601+
event_mock.params = {"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
605602
self.assertTrue(self.mysql_backups._pre_restore_checks(event_mock))
606603

607604
@patch("mysql_vm_helpers.MySQL.is_server_connectable", return_value=True)
@@ -619,51 +616,32 @@ def test_pre_restore_checks_failure(
619616
# test more than one planned units
620617
self.harness.add_relation_unit(self.peer_relation_id, "mysql/1")
621618
event = MagicMock()
622-
type(event).params = PropertyMock(
623-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
624-
)
625-
619+
event.params = {"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
626620
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
627621

628622
self.harness.remove_relation_unit(self.peer_relation_id, "mysql/1")
629623

630624
# test unit in blocked state
631625
_is_unit_busy.return_value = True
632626
event = MagicMock()
633-
type(event).params = PropertyMock(
634-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
635-
)
636-
627+
event.params = {"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
637628
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
638629

639630
# test mysqld not running
640631
_is_server_connectable.return_value = False
641632
event = MagicMock()
642-
type(event).params = PropertyMock(
643-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
644-
)
645-
633+
event.params = {"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
646634
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
647635

648636
# test missing backup-id
649637
event = MagicMock()
650-
type(event).params = PropertyMock(
651-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
652-
)
653-
654-
params_mock = {}
655-
with patch.dict(params_mock, {}):
656-
type(event).params = PropertyMock(return_value=params_mock)
657-
658-
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
638+
event.params = {}
639+
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
659640

660641
# test missing s3-integrator relation
661642
self.harness.remove_relation(self.s3_integrator_id)
662643
event = MagicMock()
663-
type(event).params = PropertyMock(
664-
return_value={"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
665-
)
666-
644+
event.params = {"restore-to-time": "2025-02-10 12:30:30", "backup-id": "test-id"}
667645
self.assertFalse(self.mysql_backups._pre_restore_checks(event))
668646

669647
@patch("charm.MySQLOperatorCharm._on_update_status")
@@ -690,12 +668,8 @@ def test_on_restore(
690668
):
691669
"""Test _on_restore()."""
692670
event = MagicMock()
693-
params_mock = {}
694-
695-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
696-
type(event).params = PropertyMock(return_value=params_mock)
697-
698-
self.mysql_backups._on_restore(event)
671+
event.params = {"backup-id": "test-backup-id"}
672+
self.mysql_backups._on_restore(event)
699673

700674
expected_s3_parameters = {"path": "/path"}
701675

@@ -738,11 +712,8 @@ def test_on_restore_failure(
738712
_post_restore.return_value = (False, "post restore error")
739713

740714
event = MagicMock()
741-
params_mock = {}
742-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
743-
type(event).params = PropertyMock(return_value=params_mock)
744-
745-
self.mysql_backups._on_restore(event)
715+
event.params = {"backup-id": "test-backup-id"}
716+
self.mysql_backups._on_restore(event)
746717

747718
event.set_results.assert_not_called()
748719
event.fail.assert_called_once_with("post restore error")
@@ -751,11 +722,8 @@ def test_on_restore_failure(
751722
_restore.return_value = (False, True, "restore error")
752723

753724
event = MagicMock()
754-
params_mock = {}
755-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
756-
type(event).params = PropertyMock(return_value=params_mock)
757-
758-
self.mysql_backups._on_restore(event)
725+
event.params = {"backup-id": "test-backup-id"}
726+
self.mysql_backups._on_restore(event)
759727

760728
event.set_results.assert_not_called()
761729
event.fail.assert_called_once_with("restore error")
@@ -767,11 +735,8 @@ def test_on_restore_failure(
767735
_restore.return_value = (False, False, "restore error")
768736

769737
event = MagicMock()
770-
params_mock = {}
771-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
772-
type(event).params = PropertyMock(return_value=params_mock)
773-
774-
self.mysql_backups._on_restore(event)
738+
event.params = {"backup-id": "test-backup-id"}
739+
self.mysql_backups._on_restore(event)
775740

776741
event.set_results.assert_not_called()
777742
event.fail.assert_called_once_with("restore error")
@@ -781,11 +746,8 @@ def test_on_restore_failure(
781746
# test failure of _pre_restore()
782747
_pre_restore.return_value = (False, "pre restore error")
783748
event = MagicMock()
784-
params_mock = {}
785-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
786-
type(event).params = PropertyMock(return_value=params_mock)
787-
788-
self.mysql_backups._on_restore(event)
749+
event.params = {"backup-id": "test-backup-id"}
750+
self.mysql_backups._on_restore(event)
789751

790752
event.set_results.assert_not_called()
791753
event.fail.assert_called_once_with("pre restore error")
@@ -794,11 +756,8 @@ def test_on_restore_failure(
794756
_fetch_and_check_existence_of_s3_path.return_value = False
795757

796758
event = MagicMock()
797-
params_mock = {}
798-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
799-
type(event).params = PropertyMock(return_value=params_mock)
800-
801-
self.mysql_backups._on_restore(event)
759+
event.params = {"backup-id": "test-backup-id"}
760+
self.mysql_backups._on_restore(event)
802761

803762
event.set_results.assert_not_called()
804763
event.fail.assert_called_once_with("Invalid backup-id: test-backup-id")
@@ -807,11 +766,8 @@ def test_on_restore_failure(
807766
_retrieve_s3_parameters.return_value = ({}, ["bucket"])
808767

809768
event = MagicMock()
810-
params_mock = {}
811-
with patch.dict(params_mock, {"backup-id": "test-backup-id"}):
812-
type(event).params = PropertyMock(return_value=params_mock)
813-
814-
self.mysql_backups._on_restore(event)
769+
event.params = {"backup-id": "test-backup-id"}
770+
self.mysql_backups._on_restore(event)
815771

816772
event.set_results.assert_not_called()
817773
event.fail.assert_called_once_with("Missing S3 parameters: ['bucket']")

0 commit comments

Comments
 (0)