def get_scope(): """Get the scope object for the user.""" user_email = helpers.get_user_email() is_privileged = access.has_access(need_privileged_access=True) everything = (is_privileged or access.has_access()) # pylint: disable=protected-access job_types = external_users._allowed_entities_for_user( user_email, data_types.PermissionEntityKind.JOB) allowed_job_type = access.get_user_job_type() if allowed_job_type: job_types.append(allowed_job_type) # pylint: disable=protected-access fuzzer_names = external_users._allowed_entities_for_user( user_email, data_types.PermissionEntityKind.FUZZER) return Scope(everything, is_privileged, job_types, fuzzer_names, allowed_job_type)
def test_get_none(self): """Test getting None when the user is globally privileged.""" self.mock.get_value.return_value = self._FAKE_CONFIG self.mock.get_user_email.return_value = '*****@*****.**' self.assertIsNone(access.get_user_job_type())
def test_get_job(self): """Test getting job for a specific user.""" self.mock.get_value.return_value = self._FAKE_CONFIG self.mock.get_user_email.return_value = '*****@*****.**' self.assertEqual('job', access.get_user_job_type())
def test_none(self): """Ensure it returns None when config is invalid.""" self.mock.get_value.return_value = None self.mock.get_user_email.return_value = '' self.assertIsNone(access.get_user_job_type()) self.mock.get_value.assert_has_calls([mock.call('privileged_users')])