Beispiel #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
def test_api_get(contacts_provider, contact_sync, db, api_client):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    acct = db.session.query(Account).filter_by(id=ACCOUNT_ID).one()
    ns_id = acct.namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)

    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, ns_id)

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

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

    assert c1found
    assert c2found
Beispiel #3
0
def test_api_get(contacts_provider, contact_sync, db, api_client):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    acct = db.session.query(Account).filter_by(id=ACCOUNT_ID).one()
    ns_id = acct.namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)

    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, ns_id)

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

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

    assert c1found
    assert c2found
Beispiel #4
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()
    ns_id = default_namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)

    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, ns_id)

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

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

    assert c1found
    assert c2found
Beispiel #5
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()
    ns_id = default_namespace.public_id

    contact_list = api_client.get_data("/contacts", ns_id)

    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, ns_id)

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

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

    assert c1found
    assert c2found
Beispiel #6
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
Beispiel #7
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
Beispiel #8
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
Beispiel #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
def test_api_list(contacts_provider, contact_sync, db, api_client):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    acct = db.session.query(Account).filter_by(id=ACCOUNT_ID).one()
    ns_id = acct.namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)
    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
Beispiel #11
0
def test_api_list(contacts_provider, contact_sync, db, api_client):
    contacts_provider.supply_contact('Contact One',
                                     '*****@*****.**')
    contacts_provider.supply_contact('Contact Two',
                                     '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()
    acct = db.session.query(Account).filter_by(id=ACCOUNT_ID).one()
    ns_id = acct.namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)
    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
Beispiel #12
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()
    ns_id = default_namespace.public_id

    contact_list = api_client.get_data('/contacts', ns_id)
    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
Beispiel #13
0
def test_multiple_remotes(contacts_provider, alternate_contacts_provider,
                          contact_sync, db):
    contacts_provider.supply_contact('Name', '*****@*****.**')
    alternate_contacts_provider.supply_contact('Alternate Name',
                                               '*****@*****.**')

    contact_sync.provider = contacts_provider
    contact_sync.sync()

    contact_sync.provider = alternate_contacts_provider
    contact_sync.sync()

    result = db.session.query(Contact). \
        filter_by(provider_name='test_provider').one()
    alternate_result = db.session.query(Contact). \
        filter_by(provider_name='alternate_provider').one()
    # Check that both contacts were persisted, even though they have the same
    # uid.
    assert result.name == 'Name'
    assert alternate_result.name == 'Alternate Name'
Beispiel #14
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()
    ns_id = default_namespace.public_id

    contact_list = api_client.get_data("/contacts", ns_id)
    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()
    )
Beispiel #15
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())
Beispiel #16
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()