def test_check_travis_and_circleci_tests_with_circleci_tests_failing(self): def mock_check_output(unused_cmd_tokens): return 'sha' def mock_url_open(unused_url): pass def mock_input(): if 'username' in self.print_arr[-1]: return 'username' if 'circleci' in self.print_arr[-1]: return 'n' return 'y' check_output_swap = self.swap( subprocess, 'check_output', mock_check_output) url_open_swap = self.swap(python_utils, 'url_open', mock_url_open) input_swap = self.swap(python_utils, 'INPUT', mock_input) with self.get_remote_alias_swap, check_output_swap, url_open_swap: with self.open_tab_swap, self.print_swap, input_swap: with self.assertRaisesRegexp( Exception, 'Please fix the circleci tests before deploying.'): deploy.check_travis_and_circleci_tests('test-branch') self.assertEqual( self.urls_to_open, [ 'https://travis-ci.org/username/oppia/branches', 'https://circleci.com/gh/username/workflows/oppia'])
def test_check_travis_and_circleci_tests_with_local_circleci_not_setup( self): def mock_check_output(unused_cmd_tokens): return 'sha' def mock_url_open(url): if 'circleci' in url: raise Exception('Not found.') def mock_input(): if 'username' in self.print_arr[-1]: return 'username' return 'y' check_output_swap = self.swap(subprocess, 'check_output', mock_check_output) url_open_swap = self.swap(python_utils, 'url_open', mock_url_open) input_swap = self.swap(python_utils, 'INPUT', mock_input) with self.get_remote_alias_swap, self.open_tab_swap, url_open_swap: with self.print_swap, check_output_swap, input_swap: deploy.check_travis_and_circleci_tests('test-branch') self.assertEqual(self.urls_to_open, [ 'https://travis-ci.org/username/oppia/branches', 'https://circleci.com/gh/oppia/workflows/oppia' ])
def test_check_travis_and_circleci_tests_with_unmatching_commit_on_oppia( self): def mock_check_output(cmd_tokens): if 'upstream/test-branch' in cmd_tokens: return 'invalid' return 'sha' check_output_swap = self.swap( subprocess, 'check_output', mock_check_output) with self.get_remote_alias_swap, check_output_swap: with self.assertRaisesRegexp( Exception, 'The latest commit on release branch locally does ' 'not match the latest commit on Oppia repo.'): deploy.check_travis_and_circleci_tests('test-branch')