def _test__handle_modify(self, change_attributes): acl_dict = dict(principal_type='LocalGroup', name='Admins', perm='ReadWrite') current_attributes = dict(name='demo', directory='/main/public/demo', acl=[acl_dict], access='winAclMode', csc='manual', dir_permissions=777, comment='comment', export_to_afp=True, export_to_ftp=True, export_to_nfs=True, export_to_pc_agent=True, export_to_rsync=True, indexed=True) desired_attributes = copy.deepcopy(current_attributes) if change_attributes: desired_acl_dict = dict(principal_type='LocalGroup', name='Everyone', perm='ReadOnly') desired_attributes['export_to_afp'] = False desired_attributes['acl'] = [desired_acl_dict] share = ctera_filer_share.CteraFilerShare() share.parameters = desired_attributes share._handle_modify(current_attributes) if change_attributes: share._ctera_filer.shares.modify.assert_called_with( desired_attributes['name'], export_to_afp=desired_attributes['export_to_afp'], acl=mock.ANY) self._verify_acl_dict( desired_acl_dict, share._ctera_filer.shares.modify.call_args[1]['acl'][0]) else: share._ctera_filer.shares.modify.assert_not_called()
def test__get_share_failed(self): share = ctera_filer_share.CteraFilerShare() share.parameters = dict(name='demo') share._ctera_filer.shares.get = mock.MagicMock( side_effect=CTERAException(response=munch.Munch(code=401))) self.assertRaises(CTERAException, share._get_share)
def test__get_share_doesnt_exist(self): share = ctera_filer_share.CteraFilerShare() share.parameters = dict(name='demo') share._ctera_filer.shares.get = mock.MagicMock( side_effect=CTERAException(response=munch.Munch(code=404))) self.assertIsNone(share._get_share())