Registrations currently disabled due to spam. Contact me externally if you need an account

Skip to content
  • Jocelyn Turcotte's avatar
    Add TestSyncEngine and TestSyncFileStatusTracker auto tests · b7ff4a76
    Jocelyn Turcotte authored
    To be able to test the SyncEngine efficiently, a set of server
    mocking classes have been implemented on top of QNetworkAccessManager.
    
    The local disk side hasn't been mocked since this would require adding
    a large abstraction layer in csync. The SyncEngine is instead pointed
    to a different temporary dir in each test and we test by interacting
    with files in this directory instead.
    
    The FakeFolder object wraps the SyncEngine with those abstractions
    and allow controlling the local files, and the fake remote state
    through the FileModifier interface, using a FileInfo tree structure
    for the remote-side implementation as well as feeding and comparing
    the states on both side in tests.
    
    Tests run fast and require no setup to be run, but each server feature
    that we want to test on the client side needs to be implemented in
    this fake objects library. For example, the OC-FileId header isn't
    set as of this commit, and we can't test the file move logic properly
    without implementing it first.
    
    The TestSyncFileStatusTracker tests already contain a few QEXPECT_FAIL
    for what I esteem being issues that need to be fixed in order to catch
    up on our test coverage without making this patch too huge.
    b7ff4a76