def create_user(event, context): logger = logging.getLogger() logger.setLevel(logging.INFO) helper.log_method_initiated("Create user from cognito", event, logger) with Session() as session: if event['triggerSource'] == "PostConfirmation_ConfirmSignUp": user = User() user.name = event['userName'] user.id = event['request']['userAttributes']['sub'] if user.id == None or user.name == None: raise Exception("Something went wrong!") user = user_handler.create_user(user, session) client = boto3.client('cognito-idp') client.admin_add_user_to_group(UserPoolId=event['userPoolId'], Username=user.name, GroupName='Detective') return event
def create_levels_junior_and_senior_detectives(session): """ This method can be used to setup a testing scenario. It adds the following objects to a session: - 3 levels requiring 0, 5 and 10 experience points - 4 detectives with level 1 and ids 1 - 4 - 4 detectives with level 2 and ids 11 - 14 """ # Create three levels level1 = create_level(1, "Junior", 0) level2 = create_level(2, "Senior", 5) level3 = create_level(3, "Master", 10) session.add(level1) session.add(level2) session.add(level3) # Create 5 level-1-detectives junior_detective1 = User() junior_detective1.id = "1" junior_detective1.name = "Junior1" user_handler.create_user(junior_detective1, session) junior_detective2 = User() junior_detective2.id = "2" junior_detective2.name = "Junior2" user_handler.create_user(junior_detective2, session) junior_detective3 = User() junior_detective3.id = "3" junior_detective3.name = "Junior3" user_handler.create_user(junior_detective3, session) junior_detective4 = User() junior_detective4.id = "4" junior_detective4.name = "Junior4" user_handler.create_user(junior_detective4, session) junior_detective5 = User() junior_detective5.id = "5" junior_detective5.name = "Junior5" user_handler.create_user(junior_detective5, session) # Create 5 level-2-detectives senior_detective1 = User() senior_detective1.id = "11" senior_detective1.name = "Senior1" senior_detective1 = user_handler.create_user(senior_detective1, session) senior_detective1.level_id = 2 senior_detective1.experience_points = 5 senior_detective2 = User() senior_detective2.id = "12" senior_detective2.name = "Senior2" senior_detective2 = user_handler.create_user(senior_detective2, session) senior_detective2.level_id = 2 senior_detective2.experience_points = 5 senior_detective3 = User() senior_detective3.id = "13" senior_detective3.name = "Senior3" senior_detective3 = user_handler.create_user(senior_detective3, session) senior_detective3.level_id = 2 senior_detective3.experience_points = 5 senior_detective4 = User() senior_detective4.id = "14" senior_detective4.name = "Senior4" senior_detective4 = user_handler.create_user(senior_detective4, session) senior_detective4.level_id = 2 senior_detective4.experience_points = 5 senior_detective5 = User() senior_detective5.id = "15" senior_detective5.name = "Senior5" senior_detective5 = user_handler.create_user(senior_detective5, session) senior_detective5.level_id = 2 senior_detective5.experience_points = 5 session.merge(senior_detective1) session.merge(senior_detective2) session.merge(senior_detective3) session.merge(senior_detective4) session.merge(senior_detective5) session.commit() return session
def create_users_for_ranking(session): """ Creates My Detective looking up ranking and his own position 3 different Levels (Junior, Senior, Master) 20 Users on Junior Level, 20 Users on Senior Level, 20 Users on Master Level """ levels_to_create = [{ 'id': 1, 'description': 'Junior', 'required_experience_points': 0 }, { 'id': 2, 'description': 'Senior', 'required_experience_points': 20 }, { 'id': 3, 'description': 'Master', 'required_experience_points': 40 }] level1_id = levels_to_create[0]['id'] level2_id = levels_to_create[1]['id'] level3_id = levels_to_create[2]['id'] for level in levels_to_create: new_level = session.query(Level).get(level['id']) if new_level is None: new_level = create_level(level['id'], level['description'], level['required_experience_points']) session.add(new_level) my_detective = User() my_detective.id = "999" my_detective.name = "MyDetektiv" user_handler.create_user(my_detective, session) my_detective.level_id = 2 my_detective.experience_points = 35 my_detective.sign_up_timestamp = datetime.today() users_to_create = [] # the last created will be 60 for i in range(1, 21): junior_user = User() junior_user.id = str(i) junior_user = user_handler.create_user(junior_user, session) junior_user.name = "JuniorUser" + str(i) junior_user.level_id = level1_id junior_user.experience_points = i junior_user.sign_up_timestamp = datetime.today() - timedelta(days=i) users_to_create.append(junior_user) for i in range(21, 41): senior_user = User() senior_user.id = str(i) senior_user = user_handler.create_user(senior_user, session) senior_user.name = "SeniorUser" + str(i) senior_user.level_id = level2_id senior_user.experience_points = i senior_user.sign_up_timestamp = datetime.today() - timedelta(days=i) users_to_create.append(senior_user) for i in range(41, 61): master_user = User() master_user.id = str(i) master_user = user_handler.create_user(master_user, session) master_user.name = "MasterUser" + str(i) master_user.level_id = level3_id master_user.experience_points = i master_user.sign_up_timestamp = datetime.today() - timedelta(days=i) users_to_create.append(master_user) session.add_all(users_to_create) session.commit() return session