+++ /dev/null
-from __future__ import with_statement
-
-import os
-import warnings
-
-import test_utils
-
-import sys
-sys.path.append("../src")
-
-import file_backend
-
-
-def test_factory():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data")
- factory = file_backend.FilesystemAddressBookFactory(csvPath)
- assert factory.factory_name() == "File"
- abooks = list(factory.get_addressbooks())
- abooks.sort()
- assert len(abooks) == 4
- abookNames = [abook[2] for abook in abooks]
- assert abookNames == ["basic", "empty", "google", "grandcentral"], "%s" % abookNames
-
- for abook_factory, abookId, abookName in abooks:
- abook = abook_factory.open_addressbook(abookId)
- assert isinstance(abook, file_backend.CsvAddressBook)
- finally:
- warnings.resetwarnings()
-
-
-def test_nonexistent_csv():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data", "nonexistent.csv")
- abook = file_backend.CsvAddressBook(csvPath)
-
- assert abook.factory_name() == "csv"
-
- contacts = list(abook.get_contacts())
- assert len(contacts) == 0
- finally:
- warnings.resetwarnings()
-
-
-def test_empty_csv():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data", "empty.csv")
- abook = file_backend.CsvAddressBook(csvPath)
-
- assert abook.factory_name() == "csv"
-
- contacts = list(abook.get_contacts())
- assert len(contacts) == 0
- finally:
- warnings.resetwarnings()
-
-
-def test_basic_csv():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data", "basic.csv")
- abook = file_backend.CsvAddressBook(csvPath)
-
- assert abook.factory_name() == "csv"
-
- contacts = list(abook.get_contacts())
- contacts.sort()
- assert len(contacts) == 1
-
- contactId, contactName = contacts[0]
- assert contactName == "Last, First"
- assert abook.contact_source_short_name(contactId) == "csv"
-
- details = list(abook.get_contact_details(contactId))
- assert len(details) == 1
- details.sort()
- assert details == [("phone", "555-123-4567")], "%s" % details
- finally:
- warnings.resetwarnings()
-
-
-def test_google_csv():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data", "google.csv")
- abook = file_backend.CsvAddressBook(csvPath)
-
- assert abook.factory_name() == "csv"
-
- contacts = list(abook.get_contacts())
- contacts.sort()
- assert len(contacts) == 2
-
- contactId, contactName = contacts[0]
- assert contactName == "First Last"
- assert abook.contact_source_short_name(contactId) == "csv"
-
- details = list(abook.get_contact_details(contactId))
- assert len(details) == 2
- details.sort()
- assert details == [
- ("Section 2 - Mobile", "5551234567"),
- ("Section 2 - Phone", "17471234567"),
- ], "%s" % details
-
- contactId, contactName = contacts[1]
- assert contactName == "First1 Last"
- assert abook.contact_source_short_name(contactId) == "csv"
-
- details = list(abook.get_contact_details(contactId))
- assert len(details) == 1
- details.sort()
- assert details == [("Section 1 - Mobile", "5557654321")], "%s" % details
- finally:
- warnings.resetwarnings()
-
-
-def test_grandcentral_csv():
- warnings.simplefilter("always")
- try:
- csvPath = os.path.join(os.path.dirname(__file__), "basic_data", "grandcentral.csv")
- abook = file_backend.CsvAddressBook(csvPath)
-
- assert abook.factory_name() == "csv"
-
- contacts = list(abook.get_contacts())
- contacts.sort()
- assert len(contacts) == 2
-
- contactId, contactName = contacts[0]
- assert contactName == "First Last"
- assert abook.contact_source_short_name(contactId) == "csv"
-
- details = list(abook.get_contact_details(contactId))
- assert len(details) == 3
- details.sort()
- assert details == [
- ("Business Phone", "5559988899"),
- ("Home Phone", "5559983254"),
- ("Mobile Phone", "5554023626"),
- ], "%s" % details
-
- contactId, contactName = contacts[1]
- assert contactName == "First1 Last"
- assert abook.contact_source_short_name(contactId) == "csv"
-
- details = list(abook.get_contact_details(contactId))
- assert len(details) == 1
- details.sort()
- assert details == [("Home Phone", "5556835460")], "%s" % details
- finally:
- warnings.resetwarnings()