Пример #1
0
def test_api_get(contacts_provider, contact_sync, db, api_client,
                 default_namespace):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()

    contact_list = api_client.get_data('/contacts')

    contact_ids = [contact['id'] for contact in contact_list]

    c1found = False
    c2found = False
    for c_id in contact_ids:
        contact = api_client.get_data('/contacts/' + c_id)

        if contact['name'] == 'Contact One':
            c1found = True

        if contact['name'] == 'Contact Two':
            c2found = True

    assert c1found
    assert c2found
Пример #2
0
def test_deletes(contacts_provider, contact_sync, db):
    num_original_contacts = db.session.query(Contact).count()
    contacts_provider.supply_contact('Name', '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact).count()
    assert num_current_contacts - num_original_contacts == 1

    contacts_provider.__init__()
    contacts_provider.supply_contact(None, None, deleted=True)
    contact_sync.sync()

    num_current_contacts = db.session.query(Contact).count()
    assert num_current_contacts == num_original_contacts
Пример #3
0
def test_add_contacts(contacts_provider, contact_sync, db, default_namespace):
    """Test that added contacts get stored."""
    num_original_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    assert num_current_contacts - num_original_contacts == 2
Пример #4
0
def test_deletes(contacts_provider, contact_sync, db):
    num_original_contacts = db.session.query(Contact).count()
    contacts_provider.supply_contact('Name', '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact).count()
    assert num_current_contacts - num_original_contacts == 1

    contacts_provider.__init__()
    contacts_provider.supply_contact(None, None, deleted=True)
    contact_sync.sync()

    num_current_contacts = db.session.query(Contact).count()
    assert num_current_contacts == num_original_contacts
Пример #5
0
def test_add_contacts(contacts_provider, contact_sync, db, default_namespace):
    """Test that added contacts get stored."""
    num_original_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    assert num_current_contacts - num_original_contacts == 2
Пример #6
0
def test_add_contacts_case_insensitive(contacts_provider, contact_sync, db, default_namespace):
    """Tests that syncing two contacts with uids that differ only in case sensitivity doesn't cause an error."""
    num_original_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    contacts_provider._next_uid = 'foo'
    contacts_provider._get_next_uid = lambda current: 'FOO'
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    assert num_current_contacts - num_original_contacts == 2
Пример #7
0
def test_add_contacts_case_insensitive(contacts_provider, contact_sync, db,
                                       default_namespace):
    """Tests that syncing two contacts with uids that differ only in case sensitivity doesn't cause an error."""
    num_original_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    contacts_provider._next_uid = 'foo'
    contacts_provider._get_next_uid = lambda current: 'FOO'
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    num_current_contacts = db.session.query(Contact). \
        filter_by(namespace_id=default_namespace.id).count()
    assert num_current_contacts - num_original_contacts == 2
Пример #8
0
def test_update_contact(contacts_provider, contact_sync, db):
    """Test that subsequent contact updates get stored."""
    contacts_provider.supply_contact('Old Name', '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    results = db.session.query(Contact).all()
    email_addresses = [r.email_address for r in results]
    assert '*****@*****.**' in email_addresses

    contacts_provider.__init__()
    contacts_provider.supply_contact('New Name', '*****@*****.**')
    contact_sync.sync()
    db.session.commit()

    results = db.session.query(Contact).all()
    names = [r.name for r in results]
    assert 'New Name' in names
    email_addresses = [r.email_address for r in results]
    assert '*****@*****.**' in email_addresses
Пример #9
0
def test_update_contact(contacts_provider, contact_sync, db):
    """Test that subsequent contact updates get stored."""
    contacts_provider.supply_contact('Old Name', '*****@*****.**')
    contact_sync.provider = contacts_provider
    contact_sync.sync()
    results = db.session.query(Contact).all()
    email_addresses = [r.email_address for r in results]
    assert '*****@*****.**' in email_addresses

    contacts_provider.__init__()
    contacts_provider.supply_contact('New Name', '*****@*****.**')
    contact_sync.sync()
    db.session.commit()

    results = db.session.query(Contact).all()
    names = [r.name for r in results]
    assert 'New Name' in names
    email_addresses = [r.email_address for r in results]
    assert '*****@*****.**' in email_addresses
Пример #10
0
def test_api_list(contacts_provider, contact_sync, db, api_client,
                  default_namespace):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()

    contact_list = api_client.get_data('/contacts')
    contact_names = [contact['name'] for contact in contact_list]
    assert 'Contact One' in contact_names
    assert 'Contact Two' in contact_names

    contact_emails = [contact['email'] for contact in contact_list]
    assert '*****@*****.**' in contact_emails
    assert '*****@*****.**' in contact_emails

    contact_count = api_client.get_data('/contacts?view=count')
    assert contact_count['count'] == db.session.query(Contact). \
        filter(Contact.namespace_id == default_namespace.id).count()