def test_persist_config(self): config_manager = ConfigManager() config_manager.config()['hello'] = 'goodbye' self._assert_is_subset({'hello': 'goodbye'}, config_manager.config())
def test_archive_host_defaults_to_empty_string_if_not_set_in_environment( self): config_manager = ConfigManager() self.assertEqual('', config_manager['ARCHIVE_HOST'])
def test_should_be_empty_by_default(self): config_manager = ConfigManager() self.assertEqual({'run_script_environment': {}}, config_manager.config())
def test_should_include_foundations_environment_with_different_values( self): config_manager = ConfigManager() self.environment['FOUNDATIONS_world'] = 'hello' self.assertEqual('hello', config_manager['world'])
def test_should_include_foundations_environment(self): config_manager = ConfigManager() self.environment['FOUNDATIONS_hello'] = 'world' self.assertEqual('world', config_manager['hello'])
def config_manager(self): from foundations_contrib.config_manager import ConfigManager return ConfigManager()
def mock_config_manager(self): from foundations_contrib.config_manager import ConfigManager return self.patch('foundations_contrib.global_state.config_manager', ConfigManager())
class TestDeploymentManager(unittest.TestCase): class MockDeployment(object): def __init__(self, job_name, job, job_source_bundle): self._job_name = job_name def config(self): return {} def deploy(self): pass def job_name(self): return self._job_name class MockListing(object): def __init__(self): self.project_tracked = False self.value = None def track_pipeline(self, name): self.project_tracked = True self.value = name def setUp(self): from foundations_contrib.config_manager import ConfigManager from foundations_internal.deployment_manager import DeploymentManager from foundations_internal.foundations_job import FoundationsJob self._listing = self.MockListing() self._config = ConfigManager() self._config["deployment_implementation"] = { "deployment_type": self.MockDeployment } self._config["project_listing_implementation"] = { "project_listing_type": self._mock_listing, } self._deployment_manager = DeploymentManager(self._config) self._foundations_job = FoundationsJob() def test_deploy_persisted_project_name(self): self._foundations_job.project_name = "my project" self._deployment_manager.simple_deploy(self._foundations_job, "", {}) self.assertEqual("my project", self._listing.value) def test_deploy_persisted_project_name_different_name(self): self._foundations_job.project_name = "project potato launcher" self._deployment_manager.simple_deploy(self._foundations_job, "", {}) self.assertEqual("project potato launcher", self._listing.value) @patch( "foundations_contrib.null_pipeline_archive_listing.NullPipelineArchiveListing" ) def test_deploy_persisted_project_name_supports_default_listing( self, mock_null_pipeline): mock_null_pipeline.side_effect = self._mock_listing del self._config.config()["project_listing_implementation"] self._foundations_job.project_name = "my project" self._deployment_manager.simple_deploy(self._foundations_job, "", {}) self.assertEqual("my project", self._listing.value) def _mock_listing(self): return self._listing def _method(self): pass