Example #1
0
 def _ensure_present(self, user):
     if user:
         modified_attributes = ctera_common.get_modified_attributes(
             user, self.parameters)
         if modified_attributes:
             self._ctera_filer.users.modify(self.parameters['username'],
                                            **modified_attributes)
             self.ansible_module.ctera_return_value().changed().msg(
                 'User modified').put(username=self.parameters['username'],
                                      **modified_attributes)
         else:
             self.ansible_module.ctera_return_value().skipped().msg(
                 'User details did not change').put(
                     username=self.parameters['username'])
     else:
         create_params = {
             k: v
             for k, v in self.parameters.items()
             if k in CteraFilerUser._create_params
         }
         if create_params.get('password') is None:
             raise CTERAException(
                 message="Cannot create new user without a password")
         self._ctera_filer.users.add(**create_params)
         self.ansible_module.ctera_return_value().changed().msg(
             'User created').put(**create_params)
Example #2
0
 def _ensure_present(self, user):
     update_password = self.parameters.pop('update_password')
     if user:
         self.parameters.pop('password_change', None)
         if not update_password:
             self.parameters.pop('password', None)
         modified_attributes = ctera_common.get_modified_attributes(
             user, self.parameters)
         if modified_attributes:
             self._ctera_portal.users.modify(self.parameters['name'],
                                             **modified_attributes)
             self.ansible_module.ctera_return_value().changed().msg(
                 'User modified').put(name=self.parameters['name'])
         else:
             self.ansible_module.ctera_return_value().skipped().msg(
                 'User details did not change').put(
                     name=self.parameters['name'])
     else:
         self.parameters[
             'password_change'] = self._translate_password_change(
                 self.parameters['password_change'])
         create_params = {
             k: v
             for k, v in self.parameters.items()
             if k in CteraPortalLocalUser._create_params
         }
         if create_params.get('password') is None:
             raise CTERAException(
                 message="Cannot create new user without a password")
         self._ctera_portal.users.add(**create_params)
         self.ansible_module.ctera_return_value().changed().msg(
             'User created').put(**create_params)
 def test_object_exists_does_not_exist(self):
     ctera_host = mock.MagicMock()
     ctera_host.get = mock.MagicMock(side_effect=CTERAException())
     path = "path"
     exists, actual_return = ctera_common.object_exists(ctera_host, path)
     ctera_host.get.assert_called_once_with(path)
     self.assertFalse(exists)
     self.assertEqual(actual_return, None)
Example #4
0
 def test__get_cloud_folder_doesnt_exist(self):
     cloud_folder = CteraPortalCloudFolder()
     cloud_folder.parameters = dict(name='folder_name',
                                    owner=dict(name='admin'),
                                    group='group_name')
     cloud_folder._ctera_portal.cloudfs.find = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(cloud_folder._get_cloud_folder())
Example #5
0
 def test_ctera_portal_login_failed(self):
     self.portal_object_mock.login = mock.MagicMock(
         side_effect=CTERAException())
     portal_ansible_module = ctera_portal.PortalAnsibleModule(dict())
     self.portal_class_mock.assert_called_once_with('192.168.1.1',
                                                    https=True,
                                                    port=None)
     portal_ansible_module.ctera_portal()
     self.portal_object_mock.login.assert_called_once_with(
         'admin', 'password')
Example #6
0
 def _add_share(self):
     add_params = {
         k: v
         for k, v in self.parameters.items()
         if k in CteraFilerShare._add_params
     }
     if add_params.get('directory') is None:
         raise CTERAException(
             message="Cannot create new share without a directory")
     if add_params.get('acl') is not None:
         add_params['acl'] = [
             self._make_ShareAccessControlEntry(acl_entry)
             for acl_entry in add_params['acl']
         ]
     self._ctera_filer.shares.add(**add_params)
     self.ansible_module.ctera_return_value().changed().msg(
         'Share created').put(name=self.parameters['name'])
 def _execute(self):
     self.execute_called = True
     if not self._success:
         raise CTERAException("Testing Failure")
 def test__get_storage_node_doesnt_exist(self):
     storage_node = ctera_portal_storage_node.CteraPortalStorageNode()
     storage_node.parameters = dict(name='example')
     storage_node._ctera_portal.buckets.get = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(storage_node._get_storage_node())
Example #9
0
 def test__get_folder_group_doesnt_exist(self):
     folder_group = CteraPortalFolderGroup()
     folder_group.parameters = dict(name='admin')
     folder_group._ctera_portal.cloudfs.get = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(folder_group._get_folder_group())
Example #10
0
 def test__get_tenant_doesnt_exist(self):
     tenant = ctera_portal_tenant.CteraPortalTenant()
     tenant.parameters = dict(name='example')
     tenant._ctera_portal.portals.get = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(tenant._get_tenant())
 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)
Example #12
0
 def test__get_user_doesnt_exist(self):
     plan = CteraPortalPlan()
     plan.parameters = dict(name='admin')
     plan._ctera_portal.plans.get = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(plan._get_plan())
Example #13
0
 def test_ctera_filer_login_failed(self):
     self.gateway_object_mock.login = mock.MagicMock(side_effect=CTERAException())
     gateway_ansible_module = ctera_edge.GatewayAnsibleModule(dict())
     self.gateway_class_mock.assert_called_once_with('192.168.1.1', https=True, port=None)
     gateway_ansible_module.ctera_filer()
     self.gateway_object_mock.login.assert_called_once_with('admin', 'password')
 def test__get_user_doesnt_exist(self):
     user = ctera_portal_local_user.CteraPortalLocalUser()
     user.parameters = dict(name='admin')
     user._ctera_portal.users.get = mock.MagicMock(side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertIsNone(user._get_user())
 def test__get_volume_failed(self):
     volume = ctera_filer_volume.CteraFilerVolume()
     volume.parameters = dict(name='volume_name')
     volume._ctera_filer.volumes.get = mock.MagicMock(side_effect=CTERAException(response=munch.Munch(code=401)))
     self.assertRaises(CTERAException, volume._get_volume)
 def test__get_volume_doesnt_exist(self):
     volume = ctera_filer_volume.CteraFilerVolume()
     volume.parameters = dict(name='volume_name')
     volume._ctera_filer.volumes.get = mock.MagicMock(side_effect=CTERAException(response=munch.Munch(code=404)))
     self.assertDictEqual(volume._get_volume(), {})
 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())
Example #18
0
 def test__get_user_failed(self):
     user = ctera_filer_user.CteraFilerUser()
     user.parameters = dict(username='******')
     user._ctera_filer.users.get = mock.MagicMock(
         side_effect=CTERAException(response=munch.Munch(code=401)))
     self.assertRaises(CTERAException, user._get_user)