예제 #1
0
 def test_action_is_repeatet_after_wait_on_action_rate_limit_error(
         self, client, hostFinder, sleep):
     server, hostFinder, agent = self.makeBase(client, hostFinder)
     agent.client = client
     self.serverAction(server).side_effect = [hetznercloud.HetznerRateLimitExceeded('502'), \
             MagicMock()]
     self.takeAction(agent)
     assert sleep.call_count == 1
     assert self.serverAction(server).call_count == 2
예제 #2
0
    def test_monitor_retries_on_server_rate_error(self, client, makeHostFinder,
                                                  sleep):

        server, hostFinder, ip, floatingIp = self.makeBase(
            client, makeHostFinder)
        ip.server = server.id
        hostFinder.find = mock.Mock(
            side_effect=[hetznercloud.HetznerRateLimitExceeded(''), server])

        assert floatingIp.monitor() is ocf.ReturnCodes.success
예제 #3
0
    def test_start_retries_on_ip_ratemlimit_error(self, client, makeHostFinder,
                                                  sleep):

        server, hostFinder, ip, floatingIp = self.makeBase(
            client, makeHostFinder)
        floatingIp.ipFinder.find = mock.Mock(
            side_effect=[hetznercloud.HetznerRateLimitExceeded(''), ip])

        assert floatingIp.start() is ocf.ReturnCodes.success
        ip.assign_to_server.assert_called_once_with(server.id)
        sleep.assert_called_once()
예제 #4
0
파일: Base.py 프로젝트: svensp/hcloud_ocf
 def test_action_is_repeatet_after_wait_on_host_find_rate_limit_error(
         self, client, hostFinder, sleep):
     server, hostFinder, agent = self.makeBase(client, hostFinder)
     agent.client = client
     hostFinder.find.side_effect = [
         hetznercloud.HetznerRateLimitExceeded('502'), server
     ]
     self.takeAction(agent)
     assert sleep.call_count == 1
     assert hostFinder.find.call_count == 2
     try:
         self.serverAction(server).assert_called_once()
     except AttributeError:
         pass