123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # -*- coding: utf-8 -*-
- # Import Python libs
- from __future__ import absolute_import, print_function, unicode_literals
- import os
- import shutil
- # Import Salt Testing libs
- from tests.support.case import ModuleCase
- from tests.support.unit import skipIf
- from tests.support.helpers import destructiveTest
- # Import Salt libs
- import salt.utils.platform
- # Import 3rd-party libs
- from salt.ext import six
- @destructiveTest
- @skipIf(salt.utils.platform.is_windows(), 'No mtab on Windows')
- @skipIf(salt.utils.platform.is_darwin(), 'No mtab on Darwin')
- class DiskModuleVirtualizationTest(ModuleCase):
- '''
- Test to make sure we return a clean result under Docker. Refs #8976
- This is factored into its own class so that we can have some certainty that setUp() and tearDown() are run.
- '''
- def setUp(self):
- # Make /etc/mtab unreadable
- if os.path.isfile('/etc/mtab'):
- shutil.move('/etc/mtab', '/tmp/mtab')
- def test_no_mtab(self):
- ret = self.run_function('disk.usage')
- self.assertDictEqual(ret, {})
- def tearDown(self):
- if os.path.isfile('/tmp/mtab'):
- shutil.move('/tmp/mtab', '/etc/mtab')
- class DiskModuleTest(ModuleCase):
- '''
- Validate the disk module
- '''
- def test_usage(self):
- '''
- disk.usage
- '''
- ret = self.run_function('disk.usage')
- self.assertTrue(isinstance(ret, dict))
- if not isinstance(ret, dict):
- return
- if salt.utils.platform.is_darwin():
- for key, val in six.iteritems(ret):
- self.assertTrue('filesystem' in val)
- self.assertTrue('512-blocks' in val)
- self.assertTrue('used' in val)
- self.assertTrue('available' in val)
- self.assertTrue('capacity' in val)
- self.assertTrue('iused' in val)
- self.assertTrue('ifree' in val)
- self.assertTrue('%iused' in val)
- else:
- for key, val in six.iteritems(ret):
- self.assertTrue('filesystem' in val)
- self.assertTrue('1K-blocks' in val)
- self.assertTrue('used' in val)
- self.assertTrue('available' in val)
- self.assertTrue('capacity' in val)
- @skipIf(salt.utils.platform.is_windows(), 'inode info not available on Windows')
- def test_inodeusage(self):
- '''
- disk.inodeusage
- '''
- ret = self.run_function('disk.inodeusage')
- self.assertTrue(isinstance(ret, dict))
- if not isinstance(ret, dict):
- return
- for key, val in six.iteritems(ret):
- self.assertTrue('inodes' in val)
- self.assertTrue('used' in val)
- self.assertTrue('free' in val)
- self.assertTrue('use' in val)
- self.assertTrue('filesystem' in val)
|