예제 #1
0
 def test_run_loggs_the_exception_if_it_fails_to_start_the_machine(self):
     err = self.mocker.replace("logging.error")
     err("500 - Failed")
     self.mocker.result(None)
     self.mocker.replay()
     instance = Instance(name="far_cry")
     client = Client()
     client._ec2_conn = mocks.FailingEC2Conn()
     client.run(instance)
     self.mocker.verify()
예제 #2
0
 def test_run_returns_False_and_does_not_save_the_instance_in_the_database_if_it_fails_to_boot(self):
     instance = Instance(name="far_cry")
     client = Client()
     client._ec2_conn = mocks.FailingEC2Conn()
     ran = client.run(instance)
     self.assertFalse(ran)
     self.assertIsNone(instance.ec2_id)
예제 #3
0
 def test_run_creates_instance_with_data_from_settings_without_saving_it_in_the_database(self):
     instance = Instance(name="professor_xavier")
     client = Client()
     client._ec2_conn = mocks.FakeEC2Conn()
     ran = client.run(instance)
     self.assertTrue(ran)
     self.assertEqual("i-00000302", instance.ec2_id)
     self.assertFalse(instance.saved)
예제 #4
0
 def test_terminate_returns_false_when_cannot_remove_ec2_instance(self):
     instance = Instance(name="professor_xavier")
     client = Client()
     client._ec2_conn = mocks.FakeEC2Conn()
     ran = client.run(instance)
     self.assertTrue(ran)
     client._ec2_conn = mocks.FailingEC2Conn()
     ran = client.terminate(instance)
     self.assertFalse(ran)
예제 #5
0
    def test_terminate_removes_ec2_instance(self):
        instance = Instance(name="professor_xavier")
        client = Client()
        client._ec2_conn = mocks.FakeEC2Conn()
        ran = client.run(instance)
        self.assertTrue(ran)

        ran = client.terminate(instance)
        self.assertEqual(["i-00000302"], client._ec2_conn.terminated)
        self.assertTrue(ran)