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())