1711
1714
self.assertEqual(expected_models, models)
1716
def test_iter_model_clients(self):
1727
client = EnvJujuClient(JujuData('foo', {}), None, None)
1728
with patch.object(client, 'get_juju_output', return_value=data):
1729
model_clients = list(client.iter_model_clients())
1730
self.assertEqual(2, len(model_clients))
1731
self.assertIs(client, model_clients[0])
1732
self.assertEqual('bar', model_clients[1].env.environment)
1713
1734
def test_get_admin_model_name(self):
4139
4160
client = EnvJujuClient1X(env, '1.23-series-arch', None)
4140
4161
self.assertEqual({}, client.get_models())
4163
def test_iter_model_clients(self):
4172
client = EnvJujuClient1X(SimpleEnvironment('foo', {}), None, None)
4173
with patch.object(client, 'get_juju_output', return_value=data):
4174
model_clients = list(client.iter_model_clients())
4175
self.assertEqual(2, len(model_clients))
4176
self.assertIs(client, model_clients[0])
4177
self.assertEqual('bar', model_clients[1].env.environment)
4142
4179
def test_get_admin_model_name_no_models(self):
4143
4180
env = SimpleEnvironment('foo', {'type': 'local'})
4144
4181
client = EnvJujuClient1X(env, '1.23-series-arch', None)
5147
5184
class TestSimpleEnvironment(TestCase):
5186
def test_clone(self):
5187
orig = SimpleEnvironment('foo', {'type': 'bar'}, 'myhome')
5188
orig.local = 'local1'
5191
orig.joyent = 'joyent1'
5193
self.assertIs(SimpleEnvironment, type(copy))
5194
self.assertIsNot(orig, copy)
5195
self.assertEqual(copy.environment, 'foo')
5196
self.assertIsNot(orig.config, copy.config)
5197
self.assertEqual({'type': 'bar'}, copy.config)
5198
self.assertEqual('myhome', copy.juju_home)
5199
self.assertEqual('local1', copy.local)
5200
self.assertEqual('kvm1', copy.kvm)
5201
self.assertEqual('maas1', copy.maas)
5202
self.assertEqual('joyent1', copy.joyent)
5204
def test_clone_model_name(self):
5205
orig = SimpleEnvironment('foo', {'type': 'bar', 'name': 'oldname'},
5207
copy = orig.clone(model_name='newname')
5208
self.assertEqual('newname', copy.environment)
5209
self.assertEqual('newname', copy.config['name'])
5149
5211
def test_local_from_config(self):
5150
5212
env = SimpleEnvironment('local', {'type': 'openstack'})
5151
5213
self.assertFalse(env.local, 'Does not respect config type.')
5226
5288
orig.credentials = {'secret': 'password'}
5227
5289
orig.clouds = {'name': {'meta': 'data'}}
5228
5290
copy = orig.clone()
5291
self.assertIs(JujuData, type(copy))
5229
5292
self.assertIsNot(orig, copy)
5230
5293
self.assertEqual(copy.environment, 'foo')
5231
5294
self.assertIsNot(orig.config, copy.config)