mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #43422 from twangboy/win_unit_cloud_ec2
Fix `unit.cloud.clouds.test_ec2` for Windows
This commit is contained in:
commit
e89e23a32e
1 changed files with 19 additions and 22 deletions
|
@ -2,42 +2,39 @@
|
|||
|
||||
# Import Python libs
|
||||
from __future__ import absolute_import
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
# Import Salt Libs
|
||||
from salt.cloud.clouds import ec2
|
||||
from salt.exceptions import SaltCloudSystemExit
|
||||
|
||||
# Import Salt Testing Libs
|
||||
from tests.support.mixins import LoaderModuleMockMixin
|
||||
from tests.support.unit import TestCase, skipIf
|
||||
from tests.support.mock import NO_MOCK, NO_MOCK_REASON
|
||||
from tests.support.mock import NO_MOCK, NO_MOCK_REASON, patch, PropertyMock
|
||||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||
class EC2TestCase(TestCase, LoaderModuleMockMixin):
|
||||
class EC2TestCase(TestCase):
|
||||
'''
|
||||
Unit TestCase for salt.cloud.clouds.ec2 module.
|
||||
'''
|
||||
|
||||
def setup_loader_modules(self):
|
||||
return {ec2: {}}
|
||||
|
||||
def test__validate_key_path_and_mode(self):
|
||||
with tempfile.NamedTemporaryFile() as f:
|
||||
key_file = f.name
|
||||
|
||||
os.chmod(key_file, 0o644)
|
||||
self.assertRaises(SaltCloudSystemExit,
|
||||
ec2._validate_key_path_and_mode,
|
||||
key_file)
|
||||
os.chmod(key_file, 0o600)
|
||||
self.assertTrue(ec2._validate_key_path_and_mode(key_file))
|
||||
os.chmod(key_file, 0o400)
|
||||
self.assertTrue(ec2._validate_key_path_and_mode(key_file))
|
||||
# Key file exists
|
||||
with patch('os.path.exists', return_value=True):
|
||||
with patch('os.stat') as patched_stat:
|
||||
|
||||
# tmp file removed
|
||||
self.assertRaises(SaltCloudSystemExit,
|
||||
ec2._validate_key_path_and_mode,
|
||||
key_file)
|
||||
type(patched_stat.return_value).st_mode = PropertyMock(return_value=0o644)
|
||||
self.assertRaises(
|
||||
SaltCloudSystemExit, ec2._validate_key_path_and_mode, 'key_file')
|
||||
|
||||
type(patched_stat.return_value).st_mode = PropertyMock(return_value=0o600)
|
||||
self.assertTrue(ec2._validate_key_path_and_mode('key_file'))
|
||||
|
||||
type(patched_stat.return_value).st_mode = PropertyMock(return_value=0o400)
|
||||
self.assertTrue(ec2._validate_key_path_and_mode('key_file'))
|
||||
|
||||
# Key file does not exist
|
||||
with patch('os.path.exists', return_value=False):
|
||||
self.assertRaises(
|
||||
SaltCloudSystemExit, ec2._validate_key_path_and_mode, 'key_file')
|
||||
|
|
Loading…
Add table
Reference in a new issue