Exemplo n.º 1
0
    def test_automaton_phase_0_actions(self):
        view_est_mod = ViewEstablishmentModule(0, self.resolver, 2, 0)
        pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 2, 0)

        # Case 0 should call adopt and next_view in view Establishment module
        view_est_mod.next_phs = Mock()
        pred_module.adopt = Mock()
        pred_module.reset_v_change = Mock()
        pred_module.view_pair_to_adopt = pred_module.RST_PAIR
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 0, 0),
            ViewEstablishmentEnums.NO_RETURN_VALUE)
        view_est_mod.next_phs.assert_any_call()
        #pred_module.reset_v_change.assert_any_call()
        pred_module.adopt.assert_called_once_with(pred_module.RST_PAIR)

        # Case 1a should call next_view and next_phs in view Establishment module
        pred_module.next_view = Mock()
        view_est_mod.next_phs = Mock()
        pred_module.vChange = [True for i in range(2)]
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 0, 1),
            ViewEstablishmentEnums.NO_RETURN_VALUE)
        pred_module.next_view.assert_any_call()
        view_est_mod.next_phs.assert_any_call()

        # Case 1b should call next_phs in View Establishment module
        pred_module.vChange = [False for i in range(2)]
        view_est_mod.next_phs = Mock()
        pred_module.views[pred_module.id] = pred_module.RST_PAIR
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 0, 1),
            ViewEstablishmentEnums.NO_RETURN_VALUE)
        view_est_mod.next_phs.assert_any_call()

        # Case 2 should return "No action" and call reset_v_change
        pred_module.reset_v_change = Mock()
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 0, 2),
            ViewEstablishmentEnums.NO_ACTION)
        # pred_module.reset_v_change.assert_any_call()

        # Case 3 should return "Reset"
        pred_module.reset_all = MagicMock(
            return_value=ViewEstablishmentEnums.RESET)
        #pred_module.reset_v_change = Mock()
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 0, 3),
            ViewEstablishmentEnums.RESET)
Exemplo n.º 2
0
    def test_automaton_phase_1_actions(self):
        view_est_mod = ViewEstablishmentModule(0, self.resolver, 2, 0)
        pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 2, 0)

        # Case 0 should call adopt and next_view in view Establishment module
        pred_module.adopt = Mock()
        pred_module.reset_v_change = Mock()
        pred_module.view_pair_to_adopt = pred_module.RST_PAIR

        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 1, 0),
            ViewEstablishmentEnums.NO_RETURN_VALUE)
        pred_module.adopt.assert_called_once_with(pred_module.RST_PAIR)
        pred_module.reset_v_change.assert_any_call()

        # Case 1 should call next_view and next_phs in view Establishment module
        view_est_mod.next_phs = Mock()
        pred_module.reset_v_change = Mock()
        pred_module.establish = Mock()
        self.resolver.execute = Mock()
        pred_module.views[pred_module.id] = pred_module.RST_PAIR

        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 1, 1),
            ViewEstablishmentEnums.NO_RETURN_VALUE)
        view_est_mod.next_phs.assert_any_call()
        pred_module.reset_v_change.assert_any_call()
        pred_module.establish.assert_any_call()
        # self.resolver.execute.assert_called_once_with(module=Module.REPLICATION_MODULE,
        #                 func=Function.REPLICA_FLUSH)

        # Case 2 should return "No action" and call reset_v_change
        pred_module.reset_v_change = Mock()
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 1, 2),
            ViewEstablishmentEnums.NO_ACTION)
        pred_module.reset_v_change.assert_any_call()

        # Case 3 should return "Reset"
        pred_module.reset_all = MagicMock(
            return_value=ViewEstablishmentEnums.RESET)
        self.assertEqual(
            pred_module.automation(ViewEstablishmentEnums.ACTION, 1, 3),
            ViewEstablishmentEnums.RESET)
Exemplo n.º 3
0
 def test_reset_v_change(self):
     view_est_mod = ViewEstablishmentModule(0, self.resolver, 2, 0)
     pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 2, 0)
     pred_module.vChange = [True, False]
     pred_module.reset_v_change()
     self.assertFalse(pred_module.vChange[view_est_mod.id])