def test_evaluate_false(schema_loader, window_transformer, block_aggregate): init_memory_store(schema_loader.get_store('Sessions.memory')) block_aggregate.run_restore({ 'events': 0, '_start_time': datetime(2018, 3, 7, 21, 36, 31, 0, timezone.utc).isoformat(), '_end_time': datetime(2018, 3, 7, 21, 37, 31, 0, timezone.utc).isoformat() }) assert window_transformer.run_evaluate(block_aggregate) is False
def loaded_store() -> DynamoStore: schema_loader = SchemaLoader() name = schema_loader.add_schema_spec({ 'Name': 'dynamostore', 'Type': 'Blurr:Store:Dynamo', 'Table': '_unit_test_range' + '_' + str(int(time.time())) }) with mock.patch( 'blurr.store.dynamo_store.DynamoStore.get_dynamodb_resource', new=override_boto3_dynamodb_resource): dynamo_store = schema_loader.get_store(name) init_memory_store(dynamo_store) yield dynamo_store dynamo_store._table.delete()
def test_window_transformer_internal_reset(schema_loader, window_transformer, block_aggregate): init_memory_store(schema_loader.get_store('Sessions.memory')) window_transformer._anchor._schema.max = None block_aggregate.run_restore({ 'events': 3, '_start_time': datetime(2018, 3, 7, 21, 36, 31, 0, timezone.utc).isoformat(), '_end_time': datetime(2018, 3, 7, 21, 37, 31, 0, timezone.utc).isoformat() }) assert window_transformer.run_evaluate(block_aggregate) is True snapshot = window_transformer._snapshot assert snapshot['last_session'] == {'_identity': 'user1', 'events': 2} assert snapshot['last_day'] == {'_identity': 'user1', 'total_events': 3} assert window_transformer.run_evaluate(block_aggregate) is True snapshot = window_transformer._snapshot assert snapshot['last_session'] == {'_identity': 'user1', 'events': 2} assert snapshot['last_day'] == {'_identity': 'user1', 'total_events': 3}
def test_window_transformer(schema_loader, window_transformer, time_aggregate): init_memory_store(schema_loader.get_store('Sessions.memory')) time_aggregate.run_restore({ 'events': 3, '_start_time': datetime(2018, 3, 7, 21, 36, 31, 0, timezone.utc).isoformat(), '_end_time': datetime(2018, 3, 7, 21, 37, 31, 0, timezone.utc).isoformat() }) assert window_transformer.run_evaluate(time_aggregate) is True snapshot = window_transformer._snapshot assert snapshot['last_session'] == {'_identity': 'user1', 'events': 2} assert snapshot['last_day'] == {'_identity': 'user1', 'total_events': 3} assert window_transformer.run_flattened_snapshot == { 'last_session.events': 2, 'last_session._identity': 'user1', 'last_day.total_events': 3, 'last_day._identity': 'user1' }