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_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
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
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
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, 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()