示例#1
0
    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'])
示例#2
0
    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'
        ])
示例#3
0
    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')