108
108
lines = output.split("\n")
109
109
self.assertEqual(lines.pop(0), "#cloud-config")
110
config = serializer.load("\n".join(lines))
110
config = serializer.yaml_load("\n".join(lines))
111
111
self.assertEqual(config["ssh_authorized_keys"], ["zebra"])
112
112
self.assertTrue(config["apt_update"])
113
113
self.assertTrue(config["apt_upgrade"])
115
115
self.assertEqual(config["apt_sources"], formatted_repos)
116
116
self.assertEqual(config["runcmd"], scripts)
117
117
self.assertEqual(config["machine-data"]["magic"], [1, 2, 3])
119
def test_format_cloud_init_when_testing(self):
120
"""When in testing mode for speed of startup disable update/upgrade.
122
self.change_environment(JUJU_TESTING="fast")
123
packages = ["python-lxml"]
124
scripts = ["wget http://lwn.net > /tmp/out"]
125
repositories = ["ppa:juju/pkgs"]
126
output = format_cloud_init(
130
repositories=repositories,
131
data={"magic": [1, 2, 3]})
133
lines = output.split("\n")
134
self.assertEqual(lines.pop(0), "#cloud-config")
135
config = serializer.yaml_load("\n".join(lines))
136
self.assertFalse(config["apt_update"])
137
self.assertFalse(config["apt_upgrade"])
139
self.change_environment(JUJU_TESTING="yes")
140
output = format_cloud_init(
144
repositories=repositories,
145
data={"magic": [1, 2, 3]})
147
lines = output.split("\n")
148
config = serializer.yaml_load("\n".join(lines))
149
self.assertTrue(config["apt_update"])
150
self.assertTrue(config["apt_upgrade"])