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_unit_perform_backup
286
286
_can_unit_perform_backup .return_value = False , "can unit 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 )
@@ -296,7 +296,7 @@ def test_on_create_backup_failure(
296
296
# test failure with _can_cluster_perform_backup
297
297
_can_cluster_perform_backup .return_value = False , "can cluster perform backup failure"
298
298
event = MagicMock ()
299
- type( event ) .params = PropertyMock ( return_value = {"force" : False })
299
+ event .params = {"force" : False }
300
300
self .charm .unit .status = ActiveStatus ()
301
301
302
302
self .mysql_backups ._on_create_backup (event )
@@ -589,10 +589,7 @@ def test_pre_restore_checks(
589
589
):
590
590
"""Test _pre_restore_checks()."""
591
591
event_mock = MagicMock ()
592
- type(event_mock ).params = PropertyMock (
593
- return_value = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
594
- )
595
-
592
+ event_mock .params = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
596
593
self .assertTrue (self .mysql_backups ._pre_restore_checks (event_mock ))
597
594
598
595
@patch ("mysql_vm_helpers.MySQL.is_server_connectable" , return_value = True )
@@ -610,51 +607,32 @@ def test_pre_restore_checks_failure(
610
607
# test more than one planned units
611
608
self .harness .add_relation_unit (self .peer_relation_id , "mysql/1" )
612
609
event = MagicMock ()
613
- type(event ).params = PropertyMock (
614
- return_value = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
615
- )
616
-
610
+ event .params = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
617
611
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
618
612
619
613
self .harness .remove_relation_unit (self .peer_relation_id , "mysql/1" )
620
614
621
615
# test unit in blocked state
622
616
_is_unit_busy .return_value = True
623
617
event = MagicMock ()
624
- type(event ).params = PropertyMock (
625
- return_value = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
626
- )
627
-
618
+ event .params = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
628
619
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
629
620
630
621
# test mysqld not running
631
622
_is_server_connectable .return_value = False
632
623
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
-
624
+ event .params = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
637
625
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
638
626
639
627
# test missing backup-id
640
628
event = MagicMock ()
641
- type(event ).params = PropertyMock (
642
- return_value = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
643
- )
644
-
645
- params_mock = {}
646
- with patch .dict (params_mock , {}):
647
- type(event ).params = PropertyMock (return_value = params_mock )
648
-
649
- self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
629
+ event .params = {}
630
+ self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
650
631
651
632
# test missing s3-integrator relation
652
633
self .harness .remove_relation (self .s3_integrator_id )
653
634
event = MagicMock ()
654
- type(event ).params = PropertyMock (
655
- return_value = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
656
- )
657
-
635
+ event .params = {"restore-to-time" : "2025-02-10 12:30:30" , "backup-id" : "test-id" }
658
636
self .assertFalse (self .mysql_backups ._pre_restore_checks (event ))
659
637
660
638
@patch ("charm.MySQLOperatorCharm._on_update_status" )
@@ -681,12 +659,8 @@ def test_on_restore(
681
659
):
682
660
"""Test _on_restore()."""
683
661
event = MagicMock ()
684
- params_mock = {}
685
-
686
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
687
- type(event ).params = PropertyMock (return_value = params_mock )
688
-
689
- self .mysql_backups ._on_restore (event )
662
+ event .params = {"backup-id" : "test-backup-id" }
663
+ self .mysql_backups ._on_restore (event )
690
664
691
665
expected_s3_parameters = {"path" : "/path" }
692
666
@@ -729,11 +703,8 @@ def test_on_restore_failure(
729
703
_post_restore .return_value = (False , "post restore error" )
730
704
731
705
event = MagicMock ()
732
- params_mock = {}
733
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
734
- type(event ).params = PropertyMock (return_value = params_mock )
735
-
736
- self .mysql_backups ._on_restore (event )
706
+ event .params = {"backup-id" : "test-backup-id" }
707
+ self .mysql_backups ._on_restore (event )
737
708
738
709
event .set_results .assert_not_called ()
739
710
event .fail .assert_called_once_with ("post restore error" )
@@ -742,11 +713,8 @@ def test_on_restore_failure(
742
713
_restore .return_value = (False , True , "restore error" )
743
714
744
715
event = MagicMock ()
745
- params_mock = {}
746
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
747
- type(event ).params = PropertyMock (return_value = params_mock )
748
-
749
- self .mysql_backups ._on_restore (event )
716
+ event .params = {"backup-id" : "test-backup-id" }
717
+ self .mysql_backups ._on_restore (event )
750
718
751
719
event .set_results .assert_not_called ()
752
720
event .fail .assert_called_once_with ("restore error" )
@@ -758,11 +726,8 @@ def test_on_restore_failure(
758
726
_restore .return_value = (False , False , "restore error" )
759
727
760
728
event = MagicMock ()
761
- params_mock = {}
762
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
763
- type(event ).params = PropertyMock (return_value = params_mock )
764
-
765
- self .mysql_backups ._on_restore (event )
729
+ event .params = {"backup-id" : "test-backup-id" }
730
+ self .mysql_backups ._on_restore (event )
766
731
767
732
event .set_results .assert_not_called ()
768
733
event .fail .assert_called_once_with ("restore error" )
@@ -772,11 +737,8 @@ def test_on_restore_failure(
772
737
# test failure of _pre_restore()
773
738
_pre_restore .return_value = (False , "pre restore error" )
774
739
event = MagicMock ()
775
- params_mock = {}
776
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
777
- type(event ).params = PropertyMock (return_value = params_mock )
778
-
779
- self .mysql_backups ._on_restore (event )
740
+ event .params = {"backup-id" : "test-backup-id" }
741
+ self .mysql_backups ._on_restore (event )
780
742
781
743
event .set_results .assert_not_called ()
782
744
event .fail .assert_called_once_with ("pre restore error" )
@@ -785,11 +747,8 @@ def test_on_restore_failure(
785
747
_fetch_and_check_existence_of_s3_path .return_value = False
786
748
787
749
event = MagicMock ()
788
- params_mock = {}
789
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
790
- type(event ).params = PropertyMock (return_value = params_mock )
791
-
792
- self .mysql_backups ._on_restore (event )
750
+ event .params = {"backup-id" : "test-backup-id" }
751
+ self .mysql_backups ._on_restore (event )
793
752
794
753
event .set_results .assert_not_called ()
795
754
event .fail .assert_called_once_with ("Invalid backup-id: test-backup-id" )
@@ -798,11 +757,8 @@ def test_on_restore_failure(
798
757
_retrieve_s3_parameters .return_value = ({}, ["bucket" ])
799
758
800
759
event = MagicMock ()
801
- params_mock = {}
802
- with patch .dict (params_mock , {"backup-id" : "test-backup-id" }):
803
- type(event ).params = PropertyMock (return_value = params_mock )
804
-
805
- self .mysql_backups ._on_restore (event )
760
+ event .params = {"backup-id" : "test-backup-id" }
761
+ self .mysql_backups ._on_restore (event )
806
762
807
763
event .set_results .assert_not_called ()
808
764
event .fail .assert_called_once_with ("Missing S3 parameters: ['bucket']" )
0 commit comments