def test_sleep_until_status_list(self, mock_sleep, mock_update_status): """ Sleep until the server gets to one of the status in a list """ server = OpenStackServerFactory() status_queue = [server.STARTED, server.BOOTED] status_queue.reverse() # To be able to use pop() def update_status(): """ Simulate status progression successive runs """ server.status = status_queue.pop() mock_update_status.side_effect = update_status self.assertEqual(server.sleep_until_status([server.TERMINATED, server.BOOTED]), server.BOOTED) self.assertEqual(server.status, server.BOOTED)
def test_sleep_until_status(self, mock_sleep, mock_update_status): """ Sleep until the server gets to 'booted' status (single status string argument) """ server = OpenStackServerFactory() status_queue = [server.STARTED, server.STARTED, server.ACTIVE, server.BOOTED, server.TERMINATED] status_queue.reverse() # To be able to use pop() def update_status(): """ Simulate status progression successive runs """ server.status = status_queue.pop() mock_update_status.side_effect = update_status self.assertEqual(server.sleep_until_status(server.BOOTED), server.BOOTED) self.assertEqual(server.status, server.BOOTED) self.assertEqual(mock_sleep.call_count, 3) self.assertEqual(status_queue, [server.TERMINATED])