Exemplo n.º 1
0
def test_lens_db_filter(db):
    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  any_email=delivered_to)
    assert filter.message_query(db.session).count() > 1
    assert filter.thread_query(db.session).count() > 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  any_email=sender)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    early_time = received_date - datetime.timedelta(hours=1)
    late_time = received_date + datetime.timedelta(hours=1)
    early_ts = calendar.timegm(early_time.utctimetuple())
    late_ts = calendar.timegm(late_time.utctimetuple())

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  started_before=early_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  started_before=late_ts)

    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_after=early_ts)
    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_after=late_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_before=early_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_before=late_ts)
    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  to_addr=to_addr,
                  from_addr=from_addr)

    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  to_addr='*****@*****.**')
    assert filter.thread_query(db.session, limit=3).count() == 3
    assert filter.message_query(db.session, limit=3).count() == 3
Exemplo n.º 2
0
def test_lens_db_filter(db):
    filter = Lens(namespace_id=NAMESPACE_ID, subject=subject)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID, any_email=delivered_to)
    assert filter.message_query(db.session).count() > 1
    assert filter.thread_query(db.session).count() > 1

    filter = Lens(namespace_id=NAMESPACE_ID, any_email=sender)
    assert filter.message_query(db.session).count() == 1
    assert filter.thread_query(db.session).count() == 1

    early_time = received_date - datetime.timedelta(hours=1)
    late_time = received_date + datetime.timedelta(hours=1)
    early_ts = calendar.timegm(early_time.utctimetuple())
    late_ts = calendar.timegm(late_time.utctimetuple())

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  started_before=early_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  started_before=late_ts)

    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_after=early_ts)
    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_after=late_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_before=early_ts)
    assert filter.thread_query(db.session).count() == 0
    assert filter.message_query(db.session).count() == 0

    filter = Lens(namespace_id=NAMESPACE_ID,
                  subject=subject,
                  last_message_before=late_ts)
    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID,
                  to_addr=to_addr,
                  from_addr=from_addr)

    assert filter.thread_query(db.session).count() == 1
    assert filter.message_query(db.session).count() == 1

    filter = Lens(namespace_id=NAMESPACE_ID, to_addr='*****@*****.**')
    assert filter.thread_query(db.session, limit=3).count() == 3
    assert filter.message_query(db.session, limit=3).count() == 3