def __update_event(self): # authorizerが指定されてなかったら何もしない if not self.event.get('requestContext') or not self.event['requestContext'].get('authorizer'): return # {"requestContext": {"authorizer": {"principalId": "XXX"}}} が存在する場合はCustomAuthorizer経由 principal_id = self.event['requestContext']['authorizer'].get('principalId') if principal_id: # cognito:username にuser_idが入っていることを期待している関数のためにcognito:usernameにprincipal_idをセットする self.event['requestContext']['authorizer']['claims'] = { 'cognito:username': principal_id, 'phone_number_verified': 'true', 'email_verified': 'true' } # db 上に private_eth_address が設定されていた場合は追加 if self.dynamodb: address = UserUtil.get_private_eth_address_from_db(self.dynamodb, principal_id) if address: self.event['requestContext']['authorizer']['claims']['custom:private_eth_address'] = address
def test_get_private_eth_address_from_db_ok_not_exists_private_eth_address( self): result = UserUtil.get_private_eth_address_from_db( self.dynamodb, self.user_configurations_items[1]['user_id']) self.assertIsNone(result)
def test_get_private_eth_address_from_db_ok_not_exists_configuration_data( self): result = UserUtil.get_private_eth_address_from_db( self.dynamodb, 'not-exists') self.assertIsNone(result)
def test_get_private_eth_address_from_db_ok_exists_configuration_data( self): result = UserUtil.get_private_eth_address_from_db( self.dynamodb, self.user_configurations_items[0]['user_id']) self.assertEqual( self.user_configurations_items[0]['private_eth_address'], result)