2
2
# See LICENSE file for licensing details.
3
3
4
4
import unittest
5
- from unittest .mock import MagicMock , PropertyMock , patch
5
+ from unittest .mock import MagicMock , patch
6
6
7
7
from charms .mysql .v0 .mysql import (
8
8
MySQLConfigureInstanceError ,
@@ -285,7 +285,7 @@ def test_on_create_backup_failure(
285
285
# test failure with _can_cluster_perform_backup
286
286
_can_cluster_perform_backup .return_value = False , "can cluster perform backup failure"
287
287
event = MagicMock ()
288
- type( event ) .params = PropertyMock ( return_value = {"force" : False })
288
+ event .params = {"force" : False }
289
289
self .charm .unit .status = ActiveStatus ()
290
290
291
291
self .mysql_backups ._on_create_backup (event )
@@ -598,10 +598,7 @@ def test_pre_restore_checks(
598
598
):
599
599
"""Test _pre_restore_checks()."""
600
600
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" }
605
602
self .assertTrue (self .mysql_backups ._pre_restore_checks (event_mock ))
606
603
607
604
@patch ("mysql_vm_helpers.MySQL.is_server_connectable" , return_value = True )
@@ -619,51 +616,32 @@ def test_pre_restore_checks_failure(
619
616
# test more than one planned units
620
617
self .harness .add_relation_unit (self .peer_relation_id , "mysql/1" )
621
618
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" }
626
620
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
627
621
628
622
self .harness .remove_relation_unit (self .peer_relation_id , "mysql/1" )
629
623
630
624
# test unit in blocked state
631
625
_is_unit_busy .return_value = True
632
626
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" }
637
628
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
638
629
639
630
# test mysqld not running
640
631
_is_server_connectable .return_value = False
641
632
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" }
646
634
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
647
635
648
636
# test missing backup-id
649
637
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 ))
659
640
660
641
# test missing s3-integrator relation
661
642
self .harness .remove_relation (self .s3_integrator_id )
662
643
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" }
667
645
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
668
646
669
647
@patch ("charm.MySQLOperatorCharm._on_update_status" )
@@ -690,12 +668,8 @@ def test_on_restore(
690
668
):
691
669
"""Test _on_restore()."""
692
670
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 )
699
673
700
674
expected_s3_parameters = {"path" : "/path" }
701
675
@@ -738,11 +712,8 @@ def test_on_restore_failure(
738
712
_post_restore .return_value = (False , "post restore error" )
739
713
740
714
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 )
746
717
747
718
event .set_results .assert_not_called ()
748
719
event .fail .assert_called_once_with ("post restore error" )
@@ -751,11 +722,8 @@ def test_on_restore_failure(
751
722
_restore .return_value = (False , True , "restore error" )
752
723
753
724
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 )
759
727
760
728
event .set_results .assert_not_called ()
761
729
event .fail .assert_called_once_with ("restore error" )
@@ -767,11 +735,8 @@ def test_on_restore_failure(
767
735
_restore .return_value = (False , False , "restore error" )
768
736
769
737
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 )
775
740
776
741
event .set_results .assert_not_called ()
777
742
event .fail .assert_called_once_with ("restore error" )
@@ -781,11 +746,8 @@ def test_on_restore_failure(
781
746
# test failure of _pre_restore()
782
747
_pre_restore .return_value = (False , "pre restore error" )
783
748
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 )
789
751
790
752
event .set_results .assert_not_called ()
791
753
event .fail .assert_called_once_with ("pre restore error" )
@@ -794,11 +756,8 @@ def test_on_restore_failure(
794
756
_fetch_and_check_existence_of_s3_path .return_value = False
795
757
796
758
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 )
802
761
803
762
event .set_results .assert_not_called ()
804
763
event .fail .assert_called_once_with ("Invalid backup-id: test-backup-id" )
@@ -807,11 +766,8 @@ def test_on_restore_failure(
807
766
_retrieve_s3_parameters .return_value = ({}, ["bucket" ])
808
767
809
768
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 )
815
771
816
772
event .set_results .assert_not_called ()
817
773
event .fail .assert_called_once_with ("Missing S3 parameters: ['bucket']" )
0 commit comments