~sinzui/juju-ci-tools/migrate-clouds

« back to all changes in this revision

Viewing changes to tests/test_jujupy.py

Implmement wait_for_version using wait_for.

Show diffs side-by-side

added added

removed removed

Lines of Context:
541
541
        not_present = WaitMachineNotPresent('0')
542
542
        with self.assertRaisesRegexp(
543
543
                Exception, 'Timed out waiting for machine removal 0'):
544
 
            not_present.do_raise()
 
544
            not_present.do_raise('', None)
545
545
 
546
546
 
547
547
class TestEnvJujuClient(ClientTest):
1278
1278
    @staticmethod
1279
1279
    def make_status_yaml(key, machine_value, unit_value):
1280
1280
        return dedent("""\
 
1281
            model:
 
1282
              name: foo
1281
1283
            machines:
1282
1284
              "0":
1283
1285
                {0}: {1}
2511
2513
        })
2512
2514
        client = EnvJujuClient(JujuData('local'), None, None)
2513
2515
        with patch.object(client, 'get_juju_output', return_value=value), \
2514
 
            patch('jujupy.until_timeout', lambda x: range(0)), \
 
2516
            patch('jujupy.until_timeout', lambda x, start=None: range(1)), \
2515
2517
            self.assertRaisesRegexp(
2516
2518
                Exception,
2517
2519
                'Timed out waiting for machine removal 1'):
2525
2527
        def iter_blocking_state(self, ignored):
2526
2528
            yield ('global state', 'unsatisfied')
2527
2529
 
2528
 
        def do_raise(self):
 
2530
        def do_raise(self, model_name, status):
2529
2531
            raise self.NeverSatisfiedException()
2530
2532
 
2531
2533
    def test_wait_timeout(self):
3968
3970
    @staticmethod
3969
3971
    def make_status_yaml(key, machine_value, unit_value):
3970
3972
        return dedent("""\
 
3973
            environment: foo
3971
3974
            machines:
3972
3975
              "0":
3973
3976
                {0}: {1}
4495
4498
        })
4496
4499
        client = EnvJujuClient1X(SimpleEnvironment('local'), None, None)
4497
4500
        with patch.object(client, 'get_juju_output', return_value=value), \
4498
 
            patch('jujupy.until_timeout', lambda x: range(0)), \
 
4501
            patch('jujupy.until_timeout', lambda x, start=None: range(1)), \
4499
4502
            self.assertRaisesRegexp(
4500
4503
                Exception,
4501
4504
                'Timed out waiting for machine removal 1'):
5597
5600
 
5598
5601
class TestStatus(FakeHomeTestCase):
5599
5602
 
 
5603
    def test_model_name(self):
 
5604
        status = Status({'model': {'name': 'bar'}}, '')
 
5605
        self.assertEqual('bar', status.model_name)
 
5606
 
5600
5607
    def test_iter_machines_no_containers(self):
5601
5608
        status = Status({
5602
5609
            'machines': {
6222
6229
        status = Status.from_text(text)
6223
6230
        self.assertEqual(status.status_text, text)
6224
6231
        self.assertEqual(status.status, {
 
6232
            'model': {'name': 'foo'},
6225
6233
            'machines': {'0': {'agent-state': 'pending'}},
6226
6234
            'applications': {'jenkins': {'units': {'jenkins/0': {
6227
6235
                'agent-state': 'horsefeathers'}}}}
6438
6446
 
6439
6447
class TestStatus1X(FakeHomeTestCase):
6440
6448
 
 
6449
    def test_model_name(self):
 
6450
        status = Status1X({'environment': 'bar'}, '')
 
6451
        self.assertEqual('bar', status.model_name)
 
6452
 
6441
6453
    def test_get_applications_gets_services(self):
6442
6454
        status = Status1X({
6443
6455
            'services': {'service': {}},