Here are the examples of the python api pushkin.request.requests.EventRequestBatch taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
11 Examples
3
Example 1
Project: pushkin Source File: events.py
def create_request(self, requests):
valid_requests = []
validator = ProtoEventValidator()
for request in requests:
if validator.validate_single(request):
valid_requests.append(EventRequestSingle(request.user_id, request.event_id, {pair.key:pair.value for pair in request.pairs}, request.timestamp))
else:
context.main_logger.error("Request not valid: {req}".format(req=str(request.__dict__)))
return EventRequestBatch(valid_requests)
3
Example 2
Project: pushkin Source File: events.py
def create_request(self, requests):
valid_requests = []
validator = JsonEventValidator()
for request in requests:
if validator.validate_single(request):
valid_requests.append(EventRequestSingle(request['user_id'], request['event_id'], request['pairs'] if 'pairs' in request else {}, request['timestamp']))
return EventRequestBatch(valid_requests)
3
Example 3
Project: pushkin Source File: test_event_requests.py
def test_login_event_persists_user_data(setup):
'''Test that user data is persisted after login event is received'''
context.event_handler_manager = EventHandlerManager()
event_batch = create_batch_with_login_event(user_id=1338, platform_id=2, device_token='str_device_token')
event_request = EventRequestBatch([event_batch])
event_request.process()
device_tokens = list(database.get_device_tokens(1338))
assert device_tokens == [(2, 'str_device_token')]
3
Example 4
Project: pushkin Source File: test_event_requests.py
def test_login_event_duplicate(setup):
'''Tests that user data is persisted correctly for duplicated login events'''
context.event_handler_manager = EventHandlerManager()
event_batch = create_batch_with_login_event(user_id=1338, platform_id=1, device_token='str_device_token_1')
event_request_platform1 = EventRequestBatch([event_batch])
event_request_platform1.process()
event_request_platform1.process()
device_tokens = list(database.get_device_tokens(1338))
assert device_tokens == [(1, 'str_device_token_1')]
3
Example 5
Project: pushkin Source File: test_event_requests.py
def test_login_event_more_platforms(setup):
'''Tests that user data is persisted for more platforms'''
context.event_handler_manager = EventHandlerManager()
event_batch_platform1 = create_batch_with_login_event(user_id=1338, platform_id=1, device_token='str_device_token_1')
event_request_platform1 = EventRequestBatch([event_batch_platform1])
event_request_platform1.process()
event_batch_platform2 = create_batch_with_login_event(user_id=1338, platform_id=2, device_token='str_device_token_2')
event_request_platform2 = EventRequestBatch([event_batch_platform2])
event_request_platform2.process()
device_tokens = list(database.get_device_tokens(1338))
assert sorted(device_tokens) == [(1, 'str_device_token_1'), (2, 'str_device_token_2')]
3
Example 6
Project: pushkin Source File: test_event_requests.py
def test_login_event_same_platform_different_device(setup):
'''Tests that both devices are persisted if they have different tokens'''
context.event_handler_manager = EventHandlerManager()
event_batch_platform1 = create_batch_with_login_event(user_id=1338, platform_id=1, device_token='str_device_token_1')
event_request_platform1 = EventRequestBatch([event_batch_platform1])
event_request_platform1.process()
event_batch_platform2 = create_batch_with_login_event(user_id=1338, platform_id=1, device_token='str_device_token_2')
event_request_platform2 = EventRequestBatch([event_batch_platform2])
event_request_platform2.process()
device_tokens = list(database.get_device_tokens(1338))
assert sorted(device_tokens) == [(1, 'str_device_token_1'), (1, 'str_device_token_2')]
3
Example 7
Project: pushkin Source File: test_event_requests.py
def test_build_messages_missing_user(setup):
context.event_handler_manager = EventHandlerManager()
event_proto = EventMessage_pb2.Event()
event_proto.user_id = 5
event_proto.event_id = 1
event_proto.event_type = 2
event_proto.timestamp = 1442502890000
request = EventRequestBatch([event_proto])
assert len(request.build_messages()) == 0
3
Example 8
Project: pushkin Source File: test_event_requests.py
def test_build_messages_missing_event(setup):
context.event_handler_manager = EventHandlerManager()
event_proto = EventMessage_pb2.Event()
event_proto.user_id = 1
event_proto.event_id = 5
event_proto.event_type = 2
event_proto.timestamp = 1442502890000
request = EventRequestBatch([event_proto])
assert len(request.build_messages()) == 0
3
Example 9
Project: pushkin Source File: test_event_requests.py
def test_build_messages_single_event_msg(setup):
context.event_handler_manager = EventHandlerManager()
event_proto = EventMessage_pb2.Event()
event_proto.user_id = 1
event_proto.event_id = 2
event_proto.event_type = 2
event_proto.timestamp = 1442502890000
request = EventRequestBatch([event_proto])
messages = request.build_messages()
print messages
assert len(messages) == 1
assert messages[0]['message_id'] == 3
3
Example 10
Project: pushkin Source File: test_event_requests.py
def test_build_messages_multiple_event_msg(setup):
context.event_handler_manager = EventHandlerManager()
event_proto = EventMessage_pb2.Event()
event_proto.user_id = 1
event_proto.event_id = 1
event_proto.event_type = 2
event_proto.timestamp = 1442502890000
request = EventRequestBatch([event_proto])
messages = request.build_messages()
print messages
assert len(messages) == 2
assert set([message['message_id'] for message in messages]) == {1, 2}
0
Example 11
Project: pushkin Source File: test_event_requests.py
def test_login_and_then_other_event(setup, mocker):
'''Tests that both devices are persisted if they have different tokens'''
context.event_handler_manager = EventHandlerManager()
event_batch_platform1 = create_batch_with_login_event(user_id=1338, platform_id=1, device_token='str_device_token_1')
event_request_platform1 = EventRequestBatch([event_batch_platform1])
event_request_platform1.process()
# test no message
event1 = EventRequestSingle(1, -1, None, 1442502890000)
event_request_other1 = EventRequestBatch([event1])
messages1 = event_request_other1.build_messages()
assert len(messages1) == 0
# test parameter from event
params = {'title_param': 'param title', 'text_param': 'param content'}
event2 = EventRequestSingle(user_id=1, event_id=3, pairs=params, timestamp=2442502890000)
event_request_other2 = EventRequestBatch([event2])
messages2 = event_request_other2.build_messages()
assert len(messages2) == 1
assert messages2[0]['message_id'] == 4
assert messages2[0]['content'] == 'text param content'
assert messages2[0]['title'] == 'title param title'
# test missing parameter which is required by localization
event3 = EventRequestSingle(user_id=1, event_id=3, pairs=None, timestamp=1442502890000)
event_request_other3 = EventRequestBatch([event3])
messages3 = event_request_other3.build_messages()
assert len(messages3) == 0