def test__get_check_results_unknown(self):
        msg = ('This package is not a whitelisted google python package; to '
               'whitelist a package, contact the python team.')
        expected_self_res = {
            'py2': {
                'status': main.BadgeStatus.UNKNOWN_PACKAGE,
                'details': msg
            },
            'py3': {
                'status': main.BadgeStatus.UNKNOWN_PACKAGE,
                'details': msg
            },
        }
        expected_google_res = {
            'py2': {
                'status': main.BadgeStatus.UNKNOWN_PACKAGE,
                'details': {}
            },
            'py3': {
                'status': main.BadgeStatus.UNKNOWN_PACKAGE,
                'details': {}
            },
        }
        expected_dep_res = {
            'status': main.BadgeStatus.UNKNOWN_PACKAGE,
            'details': {},
        }

        mock_self_res = mock.Mock()
        mock_self_res.return_value = expected_self_res

        mock_google_res = mock.Mock()
        mock_google_res.return_value = expected_google_res

        mock_dep_res = mock.Mock()
        mock_dep_res.return_value = expected_dep_res

        patch_self_res = mock.patch('main._get_self_compatibility_dict',
                                    mock_self_res)
        patch_google_res = mock.patch('main._get_pair_compatibility_dict',
                                      mock_google_res)
        patch_dep_res = mock.patch('main._get_dependency_dict', mock_dep_res)

        with patch_self_res, patch_google_res, patch_dep_res:
            self_res, google_res, dep_res = main._get_check_results(
                'unknown_package')
            status = main._get_badge_status(self_res, google_res, dep_res)

        self.assertEqual(self_res, expected_self_res)
        self.assertEqual(google_res, expected_google_res)
        self.assertEqual(dep_res, expected_dep_res)
        self.assertEqual(status, main.BadgeStatus.UNKNOWN_PACKAGE)
    def test__get_check_results_internal_error(self):
        expected_self_res = {
            'py2': {
                'status': main.BadgeStatus.INTERNAL_ERROR,
                'details': {}
            },
            'py3': {
                'status': main.BadgeStatus.INTERNAL_ERROR,
                'details': {}
            },
        }
        expected_google_res = {
            'py2': {
                'status': main.BadgeStatus.SUCCESS,
                'details': {}
            },
            'py3': {
                'status': main.BadgeStatus.SUCCESS,
                'details': {}
            },
        }
        expected_dep_res = {
            'status': main.BadgeStatus.SUCCESS,
            'details': {},
        }

        mock_self_res = mock.Mock()
        mock_self_res.return_value = expected_self_res

        mock_google_res = mock.Mock()
        mock_google_res.return_value = expected_google_res

        mock_dep_res = mock.Mock()
        mock_dep_res.return_value = expected_dep_res

        patch_self_res = mock.patch('main._get_self_compatibility_dict',
                                    mock_self_res)
        patch_google_res = mock.patch('main._get_pair_compatibility_dict',
                                      mock_google_res)
        patch_dep_res = mock.patch('main._get_dependency_dict', mock_dep_res)

        with patch_self_res, patch_google_res, patch_dep_res:
            self_res, google_res, dep_res = main._get_check_results(
                'opencensus')
            status = main._get_badge_status(self_res, google_res, dep_res)

        self.assertEqual(self_res, expected_self_res)
        self.assertEqual(google_res, expected_google_res)
        self.assertEqual(dep_res, expected_dep_res)
        self.assertEqual(status, main.BadgeStatus.INTERNAL_ERROR)