SyncDaemonTool fires returned deferred even if the operation did not completed

Bug #879556 reported by Natalia Bidart
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Fix Released
Medium
Natalia Bidart

Bug Description

Currently, for some operations like create_folder, SyncDaemonTool fires the returned deferred even if the requested UDF was not fully created. If you see the current code:

    def create_folder(self, path):
        """Create a user defined folder in the specified path."""
        self.log.debug('create_folder')
        folders_client = DBusClient(self.bus, '/folders',
                                    DBUS_IFACE_FOLDERS_NAME)
        d = self.wait_for_signals('FolderCreated', 'FolderCreateError')
        folders_client.call_method('create', path,
                                   reply_handler=lambda _: None,
                                   error_handler=d.errback)
        return d

The method only waits for FolderCreated to happen, but it does not filter by path (so a different FolderCreated can be emitted for another folder and then the call will return before completed).

Related branches

Changed in ubuntuone-client:
assignee: nobody → Natalia Bidart (nataliabidart)
importance: Undecided → Medium
status: New → In Progress
Changed in ubuntuone-client:
status: In Progress → Fix Committed
Changed in ubuntuone-client:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.