~fwereade/pyjuju/document-relation-set-empty

« back to all changes in this revision

Viewing changes to ensemble/providers/ec2/tests/test_iterate.py

  • Committer: William Reade
  • Date: 2011-08-17 09:17:06 UTC
  • mfrom: (306.1.24 hide-instances)
  • Revision ID: fwereade@gmail.com-20110817091706-2zg0we3co9xqrwfk
simplified instance-getting; ec2 no longer filters 'pending' instances, to better match orchestra behaviour; several error types/messages reworked

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
from twisted.internet.defer import succeed
2
 
from txaws.ec2.model import Instance, Reservation
3
 
 
4
 
from ensemble.providers.ec2.machine import EC2ProviderMachine
5
 
 
6
 
from ensemble.lib.testing import TestCase
7
 
from .common import EC2TestMixin
8
 
 
9
 
 
10
 
class IterationTestCase(EC2TestMixin, TestCase):
11
 
 
12
 
    def test_machine_iteration(self):
13
 
        """
14
 
        The machine iteration api of the provider should list all running
15
 
        machines associated to the provider.
16
 
        """
17
 
        group_name = "ensemble-%s" % self.env_name
18
 
        instances = [
19
 
            Instance(
20
 
                "i-foobar", "running", dns_name="x1.example.com",
21
 
                reservation=Reservation("x-1", "u-1", groups=[group_name]))]
22
 
        self.ec2.describe_instances()
23
 
        self.mocker.result(succeed(instances))
24
 
        self.mocker.replay()
25
 
 
26
 
        provider = self.get_provider()
27
 
 
28
 
        def validate_result(result):
29
 
            self.assertTrue(result)
30
 
            machine = result.pop()
31
 
            self.assertTrue(isinstance(machine, EC2ProviderMachine))
32
 
            self.assertEquals(machine.instance_id,
33
 
                              instances[0].instance_id)
34
 
            self.assertEquals(machine.dns_name,
35
 
                              instances[0].dns_name)
36
 
            self.assertFalse(result)
37
 
 
38
 
        d = provider.list_machines()
39
 
        d.addCallback(validate_result)
40
 
        return d