コード例 #1
0
def test_defaults_and_online_no_default():
    client = LDClient(config=Config(base_uri="http://localhost:3000",
                                    defaults={"foo": "bar"},
                                    event_consumer_class=MockConsumer,
                                    feature_requester_class=MockFeatureRequester))
    assert "jim" == client.variation('baz', user, default="jim")
    assert wait_for_event(client, lambda e: e['kind'] == 'feature' and e['key'] == u'baz' and e['user'] == user)
コード例 #2
0
def test_defaults_and_online_no_default():
    my_client = LDClient(config=Config(base_uri="http://localhost:3000",
                                       defaults={"foo": "bar"},
                                       event_processor_class=MockEventProcessor,
                                       update_processor_class=MockUpdateProcessor))
    assert "jim" == my_client.variation('baz', user, default="jim")
    e = get_first_event(my_client)
    assert e['kind'] == 'feature' and e['key'] == u'baz' and e['user'] == user
コード例 #3
0
def test_defaults_and_online_no_default():
    my_client = LDClient(
        config=Config(base_uri="http://localhost:3000",
                      defaults={"foo": "bar"},
                      event_processor_class=MockEventProcessor,
                      update_processor_class=MockUpdateProcessor))
    assert "jim" == my_client.variation('baz', user, default="jim")
    e = get_first_event(my_client)
    assert e['kind'] == 'feature' and e['key'] == u'baz' and e['user'] == user
コード例 #4
0
def test_defaults_and_online():
    expected = "bar"
    my_client = LDClient(config=Config(base_uri="http://localhost:3000",
                                       defaults={"foo": expected},
                                       event_consumer_class=MockConsumer,
                                       feature_requester_class=MockFeatureRequester,
                                       feature_store=InMemoryFeatureStore()))
    actual = my_client.variation('foo', user, default="originalDefault")
    assert actual == expected
    assert wait_for_event(my_client, lambda e: e['kind'] == 'feature' and e['key'] == u'foo' and e['user'] == user)
コード例 #5
0
def test_defaults_and_online():
    expected = "bar"
    my_client = LDClient(config=Config(base_uri="http://localhost:3000",
                                       defaults={"foo": expected},
                                       event_processor_class=MockEventProcessor,
                                       update_processor_class=MockUpdateProcessor,
                                       feature_store=InMemoryFeatureStore()))
    actual = my_client.variation('foo', user, default="originalDefault")
    assert actual == expected
    e = get_first_event(my_client)
    assert e['kind'] == 'feature' and e['key'] == u'foo' and e['user'] == user
コード例 #6
0
def test_evaluates_simplified_flag_with_client_as_expected():
    path = make_temp_file(all_properties_json)
    try:
        factory = Files.new_data_source(paths = path)
        client = LDClient(config=Config(update_processor_class = factory, send_events = False))
        value = client.variation('flag2', { 'key': 'user' }, '')
        assert value == 'value2'
    finally:
        os.remove(path)
        if client is not None:
            client.close()
コード例 #7
0
def test_defaults_and_online():
    expected = "bar"
    my_client = LDClient(
        config=Config(base_uri="http://localhost:3000",
                      defaults={"foo": expected},
                      event_processor_class=MockEventProcessor,
                      update_processor_class=MockUpdateProcessor,
                      feature_store=InMemoryFeatureStore()))
    actual = my_client.variation('foo', user, default="originalDefault")
    assert actual == expected
    e = get_first_event(my_client)
    assert e['kind'] == 'feature' and e['key'] == u'foo' and e['user'] == user
コード例 #8
0
def test_evaluates_simplified_flag_with_client_as_expected():
    path = make_temp_file(all_properties_json)
    try:
        factory = Files.new_data_source(paths=path)
        client = LDClient(
            config=Config(update_processor_class=factory, send_events=False))
        value = client.variation('flag2', {'key': 'user'}, '')
        assert value == 'value2'
    finally:
        os.remove(path)
        if client is not None:
            client.close()
コード例 #9
0
def test_exception_in_retrieval():
    class ExceptionFeatureRequester(FeatureRequester):
        def __init__(self, *_):
            pass

        def get_all(self):
            raise Exception("blah")

    client = LDClient(config=Config(base_uri="http://localhost:3000",
                                    defaults={"foo": "bar"},
                                    feature_store=InMemoryFeatureStore(),
                                    feature_requester_class=ExceptionFeatureRequester,
                                    event_consumer_class=MockConsumer))
    assert "bar" == client.variation('foo', user, default="jim")
    assert wait_for_event(client, lambda e: e['kind'] == 'feature' and e['key'] == u'foo' and e['user'] == user)
コード例 #10
0
def test_defaults():
    client = LDClient(config=Config(base_uri="http://localhost:3000",
                                    defaults={"foo": "bar"},
                                    offline=True))
    assert "bar" == client.variation('foo', user, default=None)