2885
2885
error_handler=self.error_handler)
2888
def test_delete_share_from_me(self):
2889
"""Test for Shares.delete_share with share from_me."""
2890
share_path = os.path.join(self.main.shares_dir, 'share')
2891
share = Shared(path=share_path, volume_id='share_id',
2892
node_id='node_id', accepted=True)
2893
self.main.vm.add_shared(share)
2894
d = defer.Deferred()
2895
def delete_share(volume_id):
2896
"""Fake delete_volume."""
2897
self.main.event_q.push("AQ_DELETE_SHARE_OK", share_id=volume_id)
2898
self.patch(self.main.action_q, 'delete_share', delete_share)
2899
def deleted_handler(info):
2900
"""ShareDeleted handler."""
2901
self.assertRaises(KeyError,
2902
self.main.vm.shared.__getitem__, info['volume_id'])
2904
match = self.bus.add_signal_receiver(deleted_handler,
2905
signal_name='ShareDeleted')
2906
self.signal_receivers.add(match)
2907
client = DBusClient(self.bus, '/shares', DBUS_IFACE_SHARES_NAME)
2908
client.call_method('delete_share', share.volume_id,
2909
reply_handler=lambda _: None,
2910
error_handler=self.error_handler)
2888
2913
def test_delete_share_error_signal(self):
2889
2914
"""Test for Shares.delete_share with an error."""
2890
2915
share_path = os.path.join(self.main.shares_dir, 'share')
2912
2937
error_handler=self.error_handler)
2940
def test_delete_share_from_me_error(self):
2941
"""Test failure of Shares.delete_share with a share from_me."""
2942
share_path = os.path.join(self.main.shares_dir, 'share')
2943
share = Shared(path=share_path, volume_id='share_id',
2944
node_id='node_id', accepted=True)
2945
self.main.vm.add_shared(share)
2946
d = defer.Deferred()
2947
# patch delete_share to fail
2948
def delete_share(share_id):
2949
"""Fake delete_share."""
2950
self.main.event_q.push("AQ_DELETE_SHARE_ERROR",
2951
share_id=share_id, error="I'm broken")
2952
self.patch(self.main.action_q, 'delete_share', delete_share)
2953
def deleted_error_handler(info, error):
2954
"""FolderDeleteError handler."""
2955
self.assertEquals(info['volume_id'], share.volume_id)
2956
self.assertEquals(error, "I'm broken")
2958
match = self.bus.add_signal_receiver(deleted_error_handler,
2959
signal_name='ShareDeleteError')
2960
self.signal_receivers.add(match)
2961
client = DBusClient(self.bus, '/shares', DBUS_IFACE_SHARES_NAME)
2962
client.call_method('delete_share', share.volume_id,
2963
reply_handler=lambda *args: None,
2964
error_handler=self.error_handler)
2967
def test_delete_share_from_me_doesnotexist(self):
2968
"""Test failure of Shares.delete_share with a share from_me."""
2969
d = defer.Deferred()
2970
# patch delete_share to fail
2971
def deleted_error_handler(info, error):
2972
"""FolderDeleteError handler."""
2973
self.assertEquals(info['volume_id'], 'missing_share_id')
2974
self.assertEquals(error, "DOES_NOT_EXIST")
2976
match = self.bus.add_signal_receiver(deleted_error_handler,
2977
signal_name='ShareDeleteError')
2978
self.signal_receivers.add(match)
2979
client = DBusClient(self.bus, '/shares', DBUS_IFACE_SHARES_NAME)
2980
client.call_method('delete_share', 'missing_share_id',
2981
reply_handler=lambda *args: None,
2982
error_handler=self.error_handler)
2916
2985
def test_suite():
2917
2986
# pylint: disable-msg=C0111