def _create_people_cache_import(self): """Create cache of people used in this block for import.""" people_emails = set() columns_with_people = self._gather_columns_with_people() for row_idx, row in enumerate(self.rows): for (column_idx, attr_name), header in columns_with_people.iteritems(): handler = header["handler"] emails = handler.get_people_emails_from_value(row[column_idx]) valid_emails = set() for email in emails: try: handler.validate_email(email) except ValueError as err: self._cache_error( errors.VALIDATION_ERROR, key=(row_idx, attr_name), column_name=header["display_name"], message=err.message, ) continue valid_emails.add(email) people_emails |= set(valid_emails) people = [] if people_emails: people = user_generator.find_users(people_emails) self._people_cache = structures.CaseInsensitiveDict( {person.email: person for person in people})
def setUp(self): """Set up request mock and mock dependencies.""" self.request = mock.MagicMock() self.request.headers = structures.CaseInsensitiveDict() self.settings_patcher = mock.patch("ggrc.login.appengine.settings") self.settings_mock = self.settings_patcher.start() self.settings_mock.ALLOWED_QUERYAPI_APP_IDS = [self.ALLOWED_APPID] self.person_patcher = mock.patch( "ggrc.login.appengine.all_models.Person") self.person_mock = self.person_patcher.start() self.is_ext_user_email_patcher = mock.patch( "ggrc.login.appengine.is_external_app_user_email") self.is_ext_user_email_mock = self.is_ext_user_email_patcher.start() self.find_or_create_ext_app_user_patcher = mock.patch( "ggrc.login.appengine.find_or_create_ext_app_user") self.find_or_create_ext_app_user_mock = ( self.find_or_create_ext_app_user_patcher.start()) # valid headers by default self.request.headers["X-appengine-inbound-appid"] = self.ALLOWED_APPID self.request.headers["X-ggrc-user"] = json.dumps({"email": self.EMAIL})
def setUp(self): self.ci_dict = structures.CaseInsensitiveDict()