Sync Mode Tests

The tests in this chapter cover the different sync modes. Read Common Steps for how to turn on data change alerts before running these tests.

These are the common steps specific to this chapter:

Master Reset Device and Sync

Tests syncing after a master reset of the device.

At the SyncML level, the device should reset its anchors for all the data classes. If it fails to do this properly, then iSync cannot determine if the device was reset and assumes that the user deliberately deleted all the records and iSync deletes all the records on the computer.

Steps

  1. Add contacts, events, and tasks to the computer.

  2. Perform an initial erase sync.

  3. Perform a master reset of the device.

  4. Force a slow sync.

    No data change alert panels should appear during syncing.

Slow Sync Using Syncrospector

Tests slow syncing.

Steps

  1. Add some contacts and events to the computer.

  2. Sync.

  3. Add a contact and an event to the device.

  4. Sync.

    Verify that a data change alert panel appears during syncing.

  5. Force a slow sync.

    Verify that no data change alert panel appears during syncing.

Pull the Truth Using Syncrospector

Tests the ability to refresh sync one data class or database while fast syncing the other.

Steps

  1. Add contacts and events to the computer.

  2. Sync.

  3. Add contacts and events to the device.

  4. Add contacts and events to the computer.

  5. Launch Syncrospector.

  6. Select the device in the Clients table.

  7. Click Sync State in the lower pane and select all the Contacts entities—entity names that begin with com.apple.contacts.

  8. Choose Sync Mode > Pull the Truth.

  9. Click the Sync button in Syncrospector.

    The device should reset its contacts but not its calendars. The contacts on the device should be deleted and the changes to the calendars should be correctly applied to the computer. All the changes from the computer should be applied to the device.

  10. Repeat steps 1-9 except select all the Calendars entities—entity names that begin with com.apple.calendars.