@@ -0,0 +1,1839 @@
+%0Afrom mock import call, Mock, patch%0A%0Afrom assess_cloud import assess_cloud_combined%0Afrom deploy_stack import BootstrapManager%0Afrom fakejuju import fake_juju_client%0Afrom tests import (%0A    FakeHomeTestCase,%0A    observable_temp_file,%0A    )%0A%0A%0Aclass TestAssessCloudCombined(FakeHomeTestCase):%0A%0A    def backend_call(self, client, cmd, args, model=None, check=True,%0A                     timeout=None, extra_env=None):%0A        return call(cmd, args, client.used_feature_flags,%0A                    client.env.juju_home, model, check, timeout, extra_env)%0A%0A    def test_assess_cloud_combined(self):%0A        client = fake_juju_client()%0A        client.env.juju_home = self.juju_home%0A        bs_manager = BootstrapManager(%0A            'foo', client, client, bootstrap_host=None, machines=%5B%5D,%0A            series=None, agent_url=None, agent_stream=None, region=None,%0A            log_dir=self.juju_home, keep_env=False, permanent=True,%0A            jes_enabled=True)%0A        backend = client._backend%0A        with patch.object(backend, 'juju', wraps=backend.juju):%0A            juju_wrapper = backend.juju%0A            with observable_temp_file() as temp_file:%0A                assess_cloud_combined(bs_manager)%0A        juju_wrapper.assert_has_calls(%5B%0A            self.backend_call(%0A                client, 'bootstrap', (%0A                    '--constraints', 'mem=2G', 'foo/bar', 'foo', '--config',%0A                    temp_file.name, '--default-model', 'foo',%0A                    '--agent-version', client.version)),%0A            self.backend_call(client, 'deploy', 'ubuntu', 'foo:foo'),%0A            self.backend_call(client, 'remove-unit', 'ubuntu/0', 'foo:foo'),%0A            self.backend_call(%0A                client, 'destroy-controller',%0A                ('foo', '-y', '--destroy-all-models'),%0A                 timeout=600),%0A            %5D, any_order=True)%0A

Add initial test of assess_cloud_combined.