def test_twitter_validate_ng(self): os.environ['EXTERNAL_PROVIDER_LOGIN_MARK'] = 'hogehoge' event = { 'userName': '******', 'triggerSource': 'PreSignUp_SignUp', 'request': { 'validationData': None } } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400) event = { 'userName': '******', 'triggerSource': 'PreSignUp_AdminCreateUser', 'request': { 'validationData': { 'EXTERNAL_PROVIDER_LOGIN_MARK': 'line' } } } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 403)
def test_validate_ng_too_short(self): event = { 'version': '1', 'region': 'us-east-1', 'userPoolId': 'us-east-xxxxxxxx', 'userName': '******', 'callerContext': { 'awsSdkVersion': 'aws-sdk-js-2.6.4', 'clientId': 'xxxxx' }, 'triggerSource': 'PreSignUp_SignUp', 'request': { 'userAttributes': { 'phone_number': '', 'email': '*****@*****.**' }, 'validationData': None }, 'response': { 'autoConfirmUser': False, 'autoVerifyEmail': False, 'autoVerifyPhone': False } } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400)
def test_ng_line_prefix_name_sign_up(self): event = { 'version': '1', 'region': 'us-east-1', 'userPoolId': 'us-east-xxxxxxxx', 'userName': '******', 'callerContext': { 'awsSdkVersion': 'aws-sdk-js-2.6.4', 'clientId': 'xxxxx' }, 'triggerSource': 'PreSignUp_SignUp', 'request': { 'userAttributes': { 'phone_number': '', 'email': '*****@*****.**' }, 'validationData': None }, 'response': { 'autoConfirmUser': False, 'autoVerifyEmail': False, 'autoVerifyPhone': False } } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400) self.assertEqual( json.loads(response['body']), {'message': 'Invalid parameter: This username is not allowed'})
def test_validate_ng_double_hyphen(self): event = { 'userName': '******' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400)
def test_validate_ng_name(self): event = { 'userName': '******' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400)
def test_validate_ng_too_long(self): event = { 'userName': '******' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400)
def test_validate_ok(self): os.environ['BETA_MODE_FLAG'] = "0" event = { 'userName': '******', 'triggerSource': '' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['userName'], 'yamasita')
def test_validate_ng_too_long(self): event = { 'userName': '******', 'request': { 'validationData': None }, 'triggerSource': 'PreSignUp_SignUp' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 400)
def test_non_beta_user(self): os.environ['BETA_MODE_FLAG'] = "1" event = { 'userName': '******', 'request': { 'userAttributes': { 'phone_number': '', 'email': '*****@*****.**' } } } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['statusCode'], 500)
def test_correct_beta_user(self): os.environ['BETA_MODE_FLAG'] = "1" event = { 'userName': '******', 'request': { 'userAttributes': { 'phone_number': '', 'email': '*****@*****.**' } }, 'triggerSource': '' } presignup = PreSignUp(event=event, context="", dynamodb=dynamodb) response = presignup.main() self.assertEqual(response['userName'], 'yamasita')
def lambda_handler(event, context): presignup = PreSignUp(event=event, context=context, dynamodb=dynamodb, cognito=cognito) return presignup.main()