def test_get_deploy_group_mappings(): fake_service = 'fake_service' fake_soa_dir = '/no/yes/maybe' fake_service_configs = [ MarathonServiceConfig( service=fake_service, cluster='clusterA', instance='main', branch_dict={}, config_dict={'deploy_group': 'no_thanks'}, ), MarathonServiceConfig( service=fake_service, cluster='clusterB', instance='main', branch_dict={}, config_dict={'deploy_group': 'try_me'}, ), ] fake_remote_refs = { 'refs/tags/paasta-try_me-20160308T053933-deploy': '123456', 'refs/tags/paasta-clusterB.main-123-stop': '123456', 'refs/tags/paasta-okay-20160308T053933-deploy': 'ijowarg', 'refs/tags/paasta-no_thanks-20160308T053933-deploy': '789009', 'refs/tags/paasta-nah-20160308T053933-deploy': 'j8yiomwer', } fake_old_mappings = [''] expected = { 'fake_service:paasta-clusterA.main': { 'docker_image': 'services-fake_service:paasta-789009', 'desired_state': 'start', 'force_bounce': None, }, 'fake_service:paasta-clusterB.main': { 'docker_image': 'services-fake_service:paasta-123456', 'desired_state': 'stop', 'force_bounce': '123', }, } with contextlib.nested( mock.patch( 'paasta_tools.generate_deployments_for_service.get_instance_config_for_service', return_value=fake_service_configs, autospec=True), mock.patch('paasta_tools.remote_git.list_remote_refs', return_value=fake_remote_refs, autospec=True), ) as ( get_instance_config_for_service_patch, list_remote_refs_patch, ): actual = generate_deployments_for_service.get_deploy_group_mappings( fake_soa_dir, fake_service, fake_old_mappings) get_instance_config_for_service_patch.assert_called_once_with( soa_dir=fake_soa_dir, service=fake_service) assert list_remote_refs_patch.call_count == 1 assert expected == actual
def test_get_deploy_group_mappings(): fake_service = 'fake_service' fake_soa_dir = '/no/yes/maybe' fake_service_configs = [ MarathonServiceConfig( service=fake_service, cluster='clusterA', instance='main', branch_dict={}, config_dict={'deploy_group': 'no_thanks'}, ), MarathonServiceConfig( service=fake_service, cluster='clusterB', instance='main', branch_dict={}, config_dict={'deploy_group': 'try_me'}, ), ] fake_remote_refs = { 'refs/heads/paasta-try_me': '123456', 'refs/tags/paasta-clusterB.main-123-stop': '123456', 'refs/heads/paasta-okay': 'ijowarg', 'refs/heads/paasta-no_thanks': '789009', 'refs/heads/paasta-nah': 'j8yiomwer', } fake_old_mappings = [''] expected = { 'fake_service:paasta-clusterA.main': { 'docker_image': 'services-fake_service:paasta-789009', 'desired_state': 'start', 'force_bounce': None, }, 'fake_service:paasta-clusterB.main': { 'docker_image': 'services-fake_service:paasta-123456', 'desired_state': 'stop', 'force_bounce': '123', }, } with contextlib.nested( mock.patch('paasta_tools.generate_deployments_for_service.get_instance_config_for_service', return_value=fake_service_configs), mock.patch('paasta_tools.remote_git.list_remote_refs', return_value=fake_remote_refs), ) as ( get_instance_config_for_service_patch, list_remote_refs_patch, ): actual = generate_deployments_for_service.get_deploy_group_mappings(fake_soa_dir, fake_service, fake_old_mappings) get_instance_config_for_service_patch.assert_called_once_with(soa_dir=fake_soa_dir, service=fake_service) assert list_remote_refs_patch.call_count == 1 assert expected == actual
def test_get_deploy_group_mappings(): fake_service = "fake_service" fake_soa_dir = "/no/yes/maybe" fake_service_configs = [ MarathonServiceConfig( service=fake_service, cluster="clusterA", instance="main", branch_dict={}, config_dict={"deploy_group": "no_thanks"}, ), MarathonServiceConfig( service=fake_service, cluster="clusterB", instance="main", branch_dict={}, config_dict={"deploy_group": "try_me"}, ), ] fake_remote_refs = { "refs/tags/paasta-try_me-20160308T053933-deploy": "123456", "refs/tags/paasta-clusterB.main-123-stop": "123456", "refs/tags/paasta-okay-20160308T053933-deploy": "ijowarg", "refs/tags/paasta-no_thanks-20160308T053933-deploy": "789009", "refs/tags/paasta-nah-20160308T053933-deploy": "j8yiomwer", } fake_old_mappings = [""] expected = { "fake_service:paasta-clusterA.main": { "docker_image": "services-fake_service:paasta-789009", "desired_state": "start", "force_bounce": None, }, "fake_service:paasta-clusterB.main": { "docker_image": "services-fake_service:paasta-123456", "desired_state": "stop", "force_bounce": "123", }, } with contextlib.nested( mock.patch( "paasta_tools.generate_deployments_for_service.get_instance_config_for_service", return_value=fake_service_configs, ), mock.patch("paasta_tools.remote_git.list_remote_refs", return_value=fake_remote_refs), ) as (get_instance_config_for_service_patch, list_remote_refs_patch): actual = generate_deployments_for_service.get_deploy_group_mappings( fake_soa_dir, fake_service, fake_old_mappings ) get_instance_config_for_service_patch.assert_called_once_with(soa_dir=fake_soa_dir, service=fake_service) assert list_remote_refs_patch.call_count == 1 assert expected == actual
def test_get_deploy_group_mappings(): fake_service = "fake_service" fake_soa_dir = "/no/yes/maybe" fake_service_configs = [ MarathonServiceConfig( service=fake_service, cluster="clusterA", instance="main", branch_dict=None, config_dict={"deploy_group": "no_thanks"}, ), MarathonServiceConfig( service=fake_service, cluster="clusterB", instance="main", branch_dict=None, config_dict={"deploy_group": "try_me"}, ), MarathonServiceConfig( service=fake_service, cluster="clusterC", instance="main", branch_dict=None, config_dict={"deploy_group": "but-why"}, ), ] fake_remote_refs = { "refs/tags/paasta-try_me-20160308T053933-deploy": "123456", "refs/tags/paasta-clusterB.main-123-stop": "123456", "refs/tags/paasta-okay-20160308T053933-deploy": "ijowarg", "refs/tags/paasta-no_thanks-20160308T053933-deploy": "789009", "refs/tags/paasta-nah-20160308T053933-deploy": "j8yiomwer", "refs/tags/paasta-but-why+extrastuff-20220308T053933-deploy": "123456", } expected = { "fake_service:paasta-clusterA.main": { "docker_image": "services-fake_service:paasta-789009", "desired_state": "start", "force_bounce": None, }, "fake_service:paasta-clusterB.main": { "docker_image": "services-fake_service:paasta-123456", "desired_state": "stop", "force_bounce": "123", }, "fake_service:paasta-clusterC.main": { "docker_image": "services-fake_service:paasta-123456-extrastuff", "desired_state": "start", "force_bounce": None, }, } expected_v2 = { "deployments": { "try_me": { "docker_image": "services-fake_service:paasta-123456", "git_sha": "123456", "image_version": None, }, "no_thanks": { "docker_image": "services-fake_service:paasta-789009", "git_sha": "789009", "image_version": None, }, "but-why": { "docker_image": "services-fake_service:paasta-123456-extrastuff", "git_sha": "123456", "image_version": "extrastuff", }, }, "controls": { "fake_service:clusterA.main": { "desired_state": "start", "force_bounce": None, }, "fake_service:clusterB.main": { "desired_state": "stop", "force_bounce": "123", }, "fake_service:clusterC.main": { "desired_state": "start", "force_bounce": None, }, }, } with mock.patch( "paasta_tools.generate_deployments_for_service.get_instance_configs_for_service", return_value=fake_service_configs, autospec=True, ) as get_instance_configs_for_service_patch, mock.patch( "paasta_tools.remote_git.list_remote_refs", return_value=fake_remote_refs, autospec=True, ) as list_remote_refs_patch: actual, actual_v2 = generate_deployments_for_service.get_deploy_group_mappings( fake_soa_dir, fake_service) get_instance_configs_for_service_patch.assert_called_once_with( soa_dir=fake_soa_dir, service=fake_service) assert list_remote_refs_patch.call_count == 1 assert expected == actual assert expected_v2 == actual_v2