예제 #1
0
 def test_details_userpass(self):
     mock_find_credentials = MagicMock(
         return_value=("fake_username", "fake_password")
     )
     with patch(
         "salt.proxy.esxdatacenter.merge",
         MagicMock(return_value=self.opts_userpass["proxy"]),
     ):
         with patch(
             "salt.proxy.esxdatacenter.find_credentials", mock_find_credentials
         ):
             esxdatacenter.init(self.opts_userpass)
     self.assertDictEqual(
         esxdatacenter.DETAILS,
         {
             "vcenter": "fake_vcenter",
             "datacenter": "fake_dc",
             "mechanism": "userpass",
             "username": "******",
             "password": "******",
             "passwords": ["fake_password"],
             "protocol": "fake_protocol",
             "port": 100,
         },
     )
예제 #2
0
 def test_find_credentials(self):
     mock_find_credentials = MagicMock(return_value=('fake_username',
                                                     'fake_password'))
     with patch('salt.proxy.esxdatacenter.find_credentials',
                mock_find_credentials):
         esxdatacenter.init(self.opts_userpass)
     mock_find_credentials.assert_called_once_with()
예제 #3
0
 def test_esxdatacenter_schema(self):
     mock_json_validate = MagicMock()
     serialized_schema = EsxdatacenterProxySchema().serialize()
     with patch('salt.proxy.esxdatacenter.jsonschema.validate',
                mock_json_validate):
         esxdatacenter.init(self.opts_sspi)
     mock_json_validate.assert_called_once_with(self.opts_sspi['proxy'],
                                                serialized_schema)
예제 #4
0
 def test_merge(self):
     mock_pillar_proxy = MagicMock()
     mock_opts_proxy = MagicMock()
     mock_merge = MagicMock(return_value=self.opts_sspi["proxy"])
     with patch.dict(esxdatacenter.__pillar__, {"proxy": mock_pillar_proxy}):
         with patch("salt.proxy.esxdatacenter.merge", mock_merge):
             esxdatacenter.init(opts={"proxy": mock_opts_proxy})
     mock_merge.assert_called_once_with(mock_opts_proxy, mock_pillar_proxy)
예제 #5
0
 def test_invalid_proxy_input_error(self):
     with patch(
             'salt.proxy.esxdatacenter.jsonschema.validate',
             MagicMock(side_effect=jsonschema.exceptions.ValidationError(
                 'Validation Error'))):
         with self.assertRaises(salt.exceptions.InvalidConfigError) as \
                 excinfo:
             esxdatacenter.init(self.opts_userpass)
     self.assertEqual(excinfo.exception.strerror, 'Validation Error')
예제 #6
0
 def test_no_domain(self):
     opts = self.opts_sspi.copy()
     del opts['proxy']['domain']
     with self.assertRaises(salt.exceptions.InvalidConfigError) as \
             excinfo:
         esxdatacenter.init(opts)
     self.assertEqual(excinfo.exception.strerror,
                      'Mechanism is set to \'sspi\', but no '
                      '\'domain\' key found in proxy config.')
예제 #7
0
 def test_no_passwords(self):
     opts = self.opts_userpass.copy()
     del opts['proxy']['passwords']
     with self.assertRaises(salt.exceptions.InvalidConfigError) as \
             excinfo:
         esxdatacenter.init(opts)
     self.assertEqual(excinfo.exception.strerror,
                      'Mechanism is set to \'userpass\', but no '
                      '\'passwords\' key found in proxy config.')
예제 #8
0
 def test_details_sspi(self):
     esxdatacenter.init(self.opts_sspi)
     self.assertDictEqual(esxdatacenter.DETAILS,
                          {'vcenter': 'fake_vcenter',
                           'datacenter': 'fake_dc',
                           'mechanism': 'sspi',
                           'domain': 'fake_domain',
                           'principal': 'fake_principal',
                           'protocol': 'fake_protocol',
                           'port': 100})
예제 #9
0
 def test_no_principal(self):
     opts = self.opts_sspi.copy()
     del opts['proxy']['principal']
     with patch('salt.proxy.esxdatacenter.merge',
                MagicMock(return_value=opts['proxy'])):
         with self.assertRaises(salt.exceptions.InvalidConfigError) as \
                 excinfo:
             esxdatacenter.init(opts)
     self.assertEqual(
         excinfo.exception.strerror, 'Mechanism is set to \'sspi\', but no '
         '\'principal\' key found in proxy config.')
예제 #10
0
 def test_find_credentials(self):
     mock_find_credentials = MagicMock(return_value=("fake_username",
                                                     "fake_password"))
     with patch(
             "salt.proxy.esxdatacenter.merge",
             MagicMock(return_value=self.opts_userpass["proxy"]),
     ):
         with patch("salt.proxy.esxdatacenter.find_credentials",
                    mock_find_credentials):
             esxdatacenter.init(self.opts_userpass)
     mock_find_credentials.assert_called_once_with()
예제 #11
0
 def test_no_domain(self):
     opts = self.opts_sspi.copy()
     del opts["proxy"]["domain"]
     with patch(
         "salt.proxy.esxdatacenter.merge", MagicMock(return_value=opts["proxy"])
     ):
         with self.assertRaises(salt.exceptions.InvalidConfigError) as excinfo:
             esxdatacenter.init(opts)
     self.assertEqual(
         excinfo.exception.strerror,
         "Mechanism is set to 'sspi', but no " "'domain' key found in proxy config.",
     )
예제 #12
0
 def test_details_sspi(self):
     esxdatacenter.init(self.opts_sspi)
     self.assertDictEqual(
         esxdatacenter.DETAILS,
         {
             "vcenter": "fake_vcenter",
             "datacenter": "fake_dc",
             "mechanism": "sspi",
             "domain": "fake_domain",
             "principal": "fake_principal",
             "protocol": "fake_protocol",
             "port": 100,
         },
     )
예제 #13
0
 def test_details_userpass(self):
     mock_find_credentials = MagicMock(return_value=('fake_username',
                                                     'fake_password'))
     with patch('salt.proxy.esxdatacenter.find_credentials',
                mock_find_credentials):
         esxdatacenter.init(self.opts_userpass)
     self.assertDictEqual(esxdatacenter.DETAILS,
                          {'vcenter': 'fake_vcenter',
                           'datacenter': 'fake_dc',
                           'mechanism': 'userpass',
                           'username': '******',
                           'password': '******',
                           'passwords': ['fake_password'],
                           'protocol': 'fake_protocol',
                           'port': 100})