1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # -*- coding: utf-8 -*-
- # Import python libs
- from __future__ import absolute_import, print_function, unicode_literals
- import logging
- import re
- # Import Salt Libs
- import salt.utils.pycrypto
- import salt.utils.platform
- # Import Salt Testing Libs
- from tests.support.unit import TestCase, skipIf
- log = logging.getLogger(__name__)
- class PycryptoTestCase(TestCase):
- '''
- TestCase for salt.utils.pycrypto module
- '''
- # The crypt module is only available on Unix systems
- # https://docs.python.org/dev/library/crypt.html
- @skipIf(not salt.utils.pycrypto.HAS_CRYPT, 'crypt module not available')
- def test_gen_hash(self):
- '''
- Test gen_hash
- '''
- passwd = 'test_password'
- id = '$'
- if salt.utils.platform.is_darwin():
- id = ''
- ret = salt.utils.pycrypto.gen_hash(password=passwd)
- self.assertTrue(ret.startswith('$6{0}'.format(id)))
- ret = salt.utils.pycrypto.gen_hash(password=passwd, algorithm='md5')
- self.assertTrue(ret.startswith('$1{0}'.format(id)))
- ret = salt.utils.pycrypto.gen_hash(password=passwd, algorithm='sha256')
- self.assertTrue(ret.startswith('$5{0}'.format(id)))
- def test_secure_password(self):
- '''
- test secure_password
- '''
- ret = salt.utils.pycrypto.secure_password()
- check = re.compile(r'[!@#$%^&*()_=+]')
- assert check.search(ret) is None
- assert ret
|