Esempio n. 1
0
def get_access(need_privileged_access=False, job_type=None, fuzzer_name=None):
    """Return 'allowed', 'redirected', or 'failed'."""
    if auth.is_current_user_admin():
        return UserAccess.Allowed

    user = auth.get_current_user()
    if not user:
        return UserAccess.Redirected

    email = user.email
    if _is_blacklisted_user(email):
        return UserAccess.Denied

    if _is_privileged_user(email):
        return UserAccess.Allowed

    if job_type and external_users.is_job_allowed_for_user(email, job_type):
        return UserAccess.Allowed

    if (fuzzer_name
            and external_users.is_fuzzer_allowed_for_user(email, fuzzer_name)):
        return UserAccess.Allowed

    if not need_privileged_access and _is_domain_allowed(email):
        return UserAccess.Allowed

    return UserAccess.Denied
Esempio n. 2
0
    def test_is_fuzzer_allowed_for_user_including_jobs(self):
        """is_fuzzer_allowed_for_user tests with include_from_jobs == True."""
        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child',
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child',
                                                      include_from_jobs=False))

        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child2',
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child2',
                                                      include_from_jobs=False))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child3',
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent',
                                                      include_from_jobs=True))

        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer',
                                                      include_from_jobs=True))
Esempio n. 3
0
    def test_is_fuzzer_allowed_for_user_including_jobs(self):
        """is_fuzzer_allowed_for_user tests with include_from_jobs == True."""
        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent_child",
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent_child",
                                                      include_from_jobs=False))

        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent_child2",
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent_child2",
                                                      include_from_jobs=False))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent_child3",
                                                      include_from_jobs=True))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "parent",
                                                      include_from_jobs=True))

        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user("*****@*****.**",
                                                      "fuzzer",
                                                      include_from_jobs=True))
Esempio n. 4
0
    def test_is_fuzzer_allowed_for_user(self):
        """is_fuzzer_allowed_for_user tests."""
        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))
        # No such user.
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))

        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        self.assertTrue(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'parent_child'))
        # No such user.
        self.assertFalse(
            external_users.is_fuzzer_allowed_for_user('*****@*****.**',
                                                      'fuzzer'))