def test_mongo_additional_events(default_domain: Domain):
    tracker_store = MockedMongoTrackerStore(default_domain)
    events, tracker = create_tracker_with_partially_saved_events(tracker_store)

    # make sure only new events are returned
    # noinspection PyProtectedMember
    assert list(tracker_store._additional_events(tracker)) == events
Beispiel #2
0
def stores_to_be_tested():
    temp = tempfile.mkdtemp()
    return [
        MockRedisTrackerStore(domain),
        InMemoryTrackerStore(domain),
        SQLTrackerStore(domain, db=os.path.join(temp, "rasa.db")),
        MockedMongoTrackerStore(domain),
    ]
def test_mongo_additional_events_with_session_start(default_domain: Domain):
    sender = "test_mongo_additional_events_with_session_start"
    tracker_store = MockedMongoTrackerStore(default_domain)
    tracker = _saved_tracker_with_multiple_session_starts(tracker_store, sender)

    tracker.update(UserUttered("hi2"))

    # noinspection PyProtectedMember
    additional_events = list(tracker_store._additional_events(tracker))

    assert len(additional_events) == 1
    assert isinstance(additional_events[0], UserUttered)
Beispiel #4
0
def test_mongo_additional_events(
        domain: Domain, retrieve_events_from_previous_conversation_sessions):
    tracker_store = MockedMongoTrackerStore(
        domain,
        retrieve_events_from_previous_conversation_sessions=
        retrieve_events_from_previous_conversation_sessions,
    )
    events, tracker = create_tracker_with_partially_saved_events(tracker_store)

    # make sure only new events are returned
    # noinspection PyProtectedMember
    assert list(tracker_store._additional_events(tracker)) == events
def test_current_state_without_events(default_domain: Domain):
    tracker_store = MockedMongoTrackerStore(default_domain)

    # insert some events
    events = [
        UserUttered("Hola", {"name": "greet"}),
        BotUttered("Hi"),
        UserUttered("Ciao", {"name": "greet"}),
        BotUttered("Hi2"),
    ]

    sender_id = "test_mongo_tracker_store_current_state_without_events"
    tracker = DialogueStateTracker.from_events(sender_id, events)

    # get current state without events
    # noinspection PyProtectedMember
    state = tracker_store._current_tracker_state_without_events(tracker)

    # `events` key should not be in there
    assert state and "events" not in state
Beispiel #6
0
def test_mongo_tracker_store_with_token_serialisation(
    domain: Domain, response_selector_agent: Agent
):
    tracker_store = MockedMongoTrackerStore(domain)
    prepare_token_serialisation(tracker_store, response_selector_agent, "mongo")
Beispiel #7
0
def test_mongo_tracker_store_with_token_serialisation(
        domain: Domain, response_selector_interpreter: Interpreter):
    tracker_store = MockedMongoTrackerStore(domain)
    prepare_token_serialisation(tracker_store, response_selector_interpreter,
                                "mongo")