Beispiel #1
0
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
Beispiel #2
0
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()
Beispiel #3
0
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'
    }