diff --git a/app/ingester/loginsIngester.py b/app/ingester/loginsIngester.py index 559aa7b..47251f5 100644 --- a/app/ingester/loginsIngester.py +++ b/app/ingester/loginsIngester.py @@ -197,7 +197,7 @@ def ingestLoginDataPerTenenv(cls, tenenv, session): hash {0} as he is at the blacklist""". format(login[0]['voPersonId'])) continue - if (not login[0]['failedLogin'] + if ((not login[0]['failedLogin'] or login[0]['failedLogin'] == 'false') and utilsIngester.validateTenenv(login[0]['tenenvId'], session) and 'voPersonId' in login[0] and utilsIngester.validateHashedUser(login[0]['voPersonId'], @@ -237,6 +237,16 @@ def ingestLoginDataPerTenenv(cls, tenenv, session): loginMappedItems += 1 else: cls.logger.warning("The record {0} was not imported due to validation errors".format(repr(login[0]))) + cls.logger.warning("validateTenenv:") + cls.logger.warning(utilsIngester.validateTenenv(login[0]['tenenvId'], session)) + cls.logger.warning("voPersonId in login[0]:") + cls.logger.warning('voPersonId' in login[0]) + cls.logger.warning("validateHashedUser:") + cls.logger.warning(utilsIngester.validateHashedUser(login[0]['voPersonId'], + login[0]['tenenvId'], + session)) + cls.logger.warning("validate if login is successful:") + cls.logger.warning(not login[0]['failedLogin'] or login[0]['failedLogin'] == 'false') cls.logger.info(""" {0} new logins ingested""".format(loginMappedItems)) diff --git a/app/ingester/utilsIngester.py b/app/ingester/utilsIngester.py index 9b27666..8f00dbb 100644 --- a/app/ingester/utilsIngester.py +++ b/app/ingester/utilsIngester.py @@ -58,6 +58,14 @@ def validateHashedUser(cls, hashedUser, tenenvId, session): ) ).one() except NoResultFound: - cls.logger.info("User {0} not found".format(hashedUser)) - return False + cls.logger.warning("""User {0} not found, we are going to create it + with default values.""".format(hashedUser)) + now = date.today().strftime('%Y-%m-%d %H:%M:%S') + session.exec("""INSERT INTO users(hasheduserid, created, updated, + status, tenenv_id) + VALUES ('{0}','{1}','{1}', '{2}', {3}) + """. format( + hashedUser, now, 'A', + tenenvId)) + session.commit() return True