def test_domain_backend_changed_complete_follower(self,
                                                      service_restart,
                                                      run_in_apache,
                                                      is_db_initialised,
                                                      is_unit_paused_set):
        run_in_apache.return_value = True
        self.get_api_version.return_value = 3
        self.relation_get.side_effect = ['mydomain', 'nonce2']
        self.is_leader.return_value = False
        self.is_db_ready.return_value = True
        is_db_initialised.return_value = True
        mock_kv = MagicMock()
        mock_kv.get.return_value = None
        self.unitdata.kv.return_value = mock_kv
        is_unit_paused_set.return_value = False

        hooks.domain_backend_changed()

        self.assertTrue(self.get_api_version.called)
        self.relation_get.assert_has_calls([
            call(attribute='domain-name',
                 unit=None,
                 rid=None),
            call(attribute='restart-nonce',
                 unit=None,
                 rid=None),
        ])
        # Only lead unit will create the domain
        self.assertFalse(self.create_or_show_domain.called)
        service_restart.assert_called_with('apache2')
        mock_kv.set.assert_called_with('domain-restart-nonce-mydomain',
                                       'nonce2')
        self.assertTrue(mock_kv.flush.called)
    def test_domain_backend_changed_complete_follower(self,
                                                      restart_pid_check,
                                                      run_in_apache,
                                                      is_db_initialised,
                                                      is_unit_paused_set):
        run_in_apache.return_value = True
        self.get_api_version.return_value = 3
        self.relation_get.side_effect = ['mydomain', 'nonce2']
        self.is_leader.return_value = False
        self.is_db_ready.return_value = True
        is_db_initialised.return_value = True
        mock_kv = MagicMock()
        mock_kv.get.return_value = None
        self.unitdata.kv.return_value = mock_kv
        is_unit_paused_set.return_value = False

        hooks.domain_backend_changed()

        self.assertTrue(self.get_api_version.called)
        self.relation_get.assert_has_calls([
            call(attribute='domain-name',
                 unit=None,
                 rid=None),
            call(attribute='restart-nonce',
                 unit=None,
                 rid=None),
        ])
        # Only lead unit will create the domain
        self.assertFalse(self.create_or_show_domain.called)
        restart_pid_check.assert_called_with('apache2')
        mock_kv.set.assert_called_with('domain-restart-nonce-mydomain',
                                       'nonce2')
        self.assertTrue(mock_kv.flush.called)
Ejemplo n.º 3
0
 def test_domain_backend_changed_incomplete(self):
     self.get_api_version.return_value = 3
     self.relation_get.return_value = None
     hooks.domain_backend_changed()
     self.assertTrue(self.get_api_version.called)
     self.relation_get.assert_called_with(attribute='domain-name',
                                          unit=None,
                                          rid=None)
     self.assertFalse(self.is_leader.called)
 def test_domain_backend_changed_incomplete(self):
     self.get_api_version.return_value = 3
     self.relation_get.return_value = None
     hooks.domain_backend_changed()
     self.assertTrue(self.get_api_version.called)
     self.relation_get.assert_called_with(
         attribute='domain-name',
         unit=None,
         rid=None
     )
     self.assertFalse(self.is_leader.called)
 def test_domain_backend_changed_v2(self):
     self.get_api_version.return_value = 2
     hooks.domain_backend_changed()
     self.assertTrue(self.get_api_version.called)
     self.assertFalse(self.relation_get.called)
 def test_domain_backend_changed_v2(self):
     self.get_api_version.return_value = 2
     hooks.domain_backend_changed()
     self.assertTrue(self.get_api_version.called)
     self.assertFalse(self.relation_get.called)