def test_get_team_email_address_uses_instance_config_if_specified(self): expected = 'fake_email' with mock.patch( 'paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True, ) as mock_get_monitoring_config_value: mock_get_monitoring_config_value.return_value = 'fake_email' actual = monitoring_tools.get_team_email_address('fake_service') assert actual == expected
def test_get_team_email_address_uses_override_if_specified(self): fake_email = 'fake_email' with mock.patch( 'paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True, ) as mock_get_monitoring_config_value: mock_get_monitoring_config_value.return_value = 'fake_email' actual = monitoring_tools.get_team_email_address('fake_service', {'notification_email': fake_email}) assert actual == fake_email
def test_get_team_email_address_uses_instance_config_if_specified(self): expected = 'fake_email' with contextlib.nested( mock.patch('paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True), ) as ( mock_get_monitoring_config_value, ): mock_get_monitoring_config_value.return_value = 'fake_email' actual = monitoring_tools.get_team_email_address('fake_service') assert actual == expected
def test_get_team_email_address_uses_override_if_specified(self): fake_email = 'fake_email' with contextlib.nested( mock.patch('paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True), ) as ( mock_get_monitoring_config_value, ): mock_get_monitoring_config_value.return_value = 'fake_email' actual = monitoring_tools.get_team_email_address('fake_service', {'notification_email': fake_email}) assert actual == fake_email
def test_get_team_email_address_returns_none_if_not_available(self): with mock.patch( 'paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True, ) as mock_get_monitoring_config_value, mock.patch( 'paasta_tools.monitoring_tools.get_sensu_team_data', autospec=True, ) as mock_get_sensu_team_data, mock.patch( 'paasta_tools.monitoring_tools.get_team', autospec=True, ) as mock_get_team: mock_get_team.return_value = 'test_team' mock_get_monitoring_config_value.return_value = False mock_get_sensu_team_data.return_value = {} actual = monitoring_tools.get_team_email_address('fake_service') assert actual is None
def test_get_team_email_address_returns_none_if_not_available(self): with contextlib.nested( mock.patch('paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True), mock.patch('paasta_tools.monitoring_tools.get_sensu_team_data', autospec=True), mock.patch('paasta_tools.monitoring_tools.get_team', autospec=True), ) as ( mock_get_monitoring_config_value, mock_get_sensu_team_data, mock_get_team, ): mock_get_team.return_value = 'test_team' mock_get_monitoring_config_value.return_value = False mock_get_sensu_team_data.return_value = {} actual = monitoring_tools.get_team_email_address('fake_service') assert actual is None
def test_get_team_email_address_uses_team_data_as_last_resort(self): expected = 'team_data_email' with mock.patch( 'paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True, ) as mock_get_monitoring_config_value, mock.patch( 'paasta_tools.monitoring_tools.get_sensu_team_data', autospec=True, ) as mock_get_sensu_team_data, mock.patch( 'paasta_tools.monitoring_tools.get_team', autospec=True, ) as mock_get_team: mock_get_team.return_value = 'test_team' mock_get_monitoring_config_value.return_value = False mock_get_sensu_team_data.return_value = { 'notification_email': expected, } actual = monitoring_tools.get_team_email_address('fake_service') assert actual == expected
def test_get_team_email_address_uses_team_data_as_last_resort(self): expected = 'team_data_email' with contextlib.nested( mock.patch('paasta_tools.monitoring_tools.__get_monitoring_config_value', autospec=True), mock.patch('paasta_tools.monitoring_tools.get_sensu_team_data', autospec=True), mock.patch('paasta_tools.monitoring_tools.get_team', autospec=True), ) as ( mock_get_monitoring_config_value, mock_get_sensu_team_data, mock_get_team, ): mock_get_team.return_value = 'test_team' mock_get_monitoring_config_value.return_value = False mock_get_sensu_team_data.return_value = { 'notification_email': expected } actual = monitoring_tools.get_team_email_address('fake_service') assert actual == expected
def generate_pipeline(service): email_address = get_team_email_address(service=service) repo = get_git_repo_for_fab_repo(service) if email_address is None: owner = get_team(overrides={}, service=service) else: # fab_repo tacks on the domain, so we only want the first # part of the email. owner = re.sub('@.*', '', email_address) cmds = [ 'fab_repo setup_jenkins:services/%s,' 'profile=paasta,job_disabled=False,owner=%s,repo=%s' % (service, owner, repo), 'fab_repo setup_jenkins:services/%s,' 'profile=paasta_boilerplate,owner=%s,repo=%s' % (service, owner, repo), ] for cmd in cmds: print "INFO: Executing %s" % cmd returncode, output = _run(cmd, timeout=90) if returncode != 0: print "ERROR: Failed to generate Jenkins pipeline" print output sys.exit(returncode)