<commit_before># -*- coding: utf-8 -*-

# Import Python libs
from __future__ import absolute_import

# Import Salt Libs
import salt.modules.win_certutil as certutil

# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase
from tests.support.mock import (
    MagicMock,
    patch
)


class CertUtilTestCase(TestCase, LoaderModuleMockMixin):

    def setup_loader_modules(self):
        return {certutil: {}}

    def test_get_serial(self):
        '''
            Test getting the serial number from a certificate
        '''
        expected = '180720d39cd2db3244ba037417241e90'
        mock = MagicMock(return_value=(
            'CertInfo\r\n'
            'Cert Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            '\r\n'
            'OtherStuff'))
        with patch.dict(certutil.__salt__, {'cmd.run': mock}):
            out = certutil.get_cert_serial('/path/to/cert.cer')
            mock.assert_called_once_with(
                'certutil.exe -silent -verify /path/to/cert.cer')
            self.assertEqual(expected, out)

    def test_get_serials(self):
        '''
            Test getting all the serial numbers from a store
        '''
        expected = ['180720d39cd2db3244ba037417241e90',
                    '1768ac4e5b72bf1d0df0df118b34b959']
        mock = MagicMock(return_value=(
            'CertInfo\r\n'
            '================ Certificate 0 ================\r\n'
            'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            'OtherStuff\r\n'
            '\r\n'
            '================ Certificate 1 ================\r\n'
            'Serial Number: 1768ac4e5b72bf1d0df0df118b34b959\r\n'
            'OtherStuff'))
        with patch.dict(certutil.__salt__, {'cmd.run': mock}):
            out = certutil.get_stored_cert_serials('TrustedPublisher')
            mock.assert_called_once_with(
                'certutil.exe -store TrustedPublisher')
            self.assertEqual(expected, out)

    def test_add_store(self):
        '''
            Test adding a certificate to a specific store
        '''
        cmd_mock = MagicMock(return_value=(
            'CertInfo\r\n'
            '================ Certificate 0 ================\r\n'
            'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            'OtherStuff'))
        cache_mock = MagicMock(return_value='/tmp/cert.cer')
        with patch.dict(certutil.__salt__, {'cmd.run': cmd_mock,
                                            'cp.cache_file': cache_mock}):
            certutil.add_store('salt://path/to/file', 'TrustedPublisher')
            cmd_mock.assert_called_once_with(
                'certutil.exe -addstore TrustedPublisher /tmp/cert.cer')
            cache_mock.assert_called_once_with('salt://path/to/file', 'base')

    def test_del_store(self):
        '''
            Test removing a certificate to a specific store
        '''
<<<<<<< HEAD:tests/unit/modules/test_win_certutil.py
        with patch('salt.modules.win_certutil.get_cert_serial') as cert_serial_mock:
            cmd_mock = MagicMock(return_value='CertInfo\r\nSerial: XYZABC\r\nOtherStuff')
            cache_mock = MagicMock(return_value='/tmp/cert.cer')
            cert_serial_mock.return_value = "ABCDEF"
            with patch.dict(certutil.__salt__, {'cmd.run': cmd_mock,
                                                'cp.cache_file': cache_mock}):
                certutil.del_store('salt://path/to/file', 'TrustedPublisher')
                cmd_mock.assert_called_once_with('certutil.exe -delstore TrustedPublisher ABCDEF')
                cache_mock.assert_called_once_with('salt://path/to/file', 'base')
=======
        cmd_mock = MagicMock(return_value=(
            'CertInfo\r\n'
            '================ Certificate 0 ================\r\n'
            'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            'OtherStuff'))
        cache_mock = MagicMock(return_value='/tmp/cert.cer')
        cert_serial_mock.return_value = 'ABCDEF'
        with patch.dict(certutil.__salt__, {'cmd.run': cmd_mock,
                                            'cp.cache_file': cache_mock}):
            certutil.del_store('salt://path/to/file', 'TrustedPublisher')
            cmd_mock.assert_called_once_with(
                'certutil.exe -delstore TrustedPublisher ABCDEF')
            cache_mock.assert_called_once_with('salt://path/to/file', 'base')


if __name__ == '__main__':
    from integration import run_tests
    run_tests(CertUtilTestCase, needs_daemon=False)
>>>>>>> 2016.11:tests/unit/modules/win_certutil_test.py<commit_msg>Fix win_certutil merge error<commit_after># -*- coding: utf-8 -*-

# Import Python libs
from __future__ import absolute_import

# Import Salt Libs
import salt.modules.win_certutil as certutil

# Import Salt Testing Libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase
from tests.support.mock import (
    MagicMock,
    patch
)


class CertUtilTestCase(TestCase, LoaderModuleMockMixin):

    def setup_loader_modules(self):
        return {certutil: {}}

    def test_get_serial(self):
        '''
            Test getting the serial number from a certificate
        '''
        expected = '180720d39cd2db3244ba037417241e90'
        mock = MagicMock(return_value=(
            'CertInfo\r\n'
            'Cert Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            '\r\n'
            'OtherStuff'))
        with patch.dict(certutil.__salt__, {'cmd.run': mock}):
            out = certutil.get_cert_serial('/path/to/cert.cer')
            mock.assert_called_once_with(
                'certutil.exe -silent -verify /path/to/cert.cer')
            self.assertEqual(expected, out)

    def test_get_serials(self):
        '''
            Test getting all the serial numbers from a store
        '''
        expected = ['180720d39cd2db3244ba037417241e90',
                    '1768ac4e5b72bf1d0df0df118b34b959']
        mock = MagicMock(return_value=(
            'CertInfo\r\n'
            '================ Certificate 0 ================\r\n'
            'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            'OtherStuff\r\n'
            '\r\n'
            '================ Certificate 1 ================\r\n'
            'Serial Number: 1768ac4e5b72bf1d0df0df118b34b959\r\n'
            'OtherStuff'))
        with patch.dict(certutil.__salt__, {'cmd.run': mock}):
            out = certutil.get_stored_cert_serials('TrustedPublisher')
            mock.assert_called_once_with(
                'certutil.exe -store TrustedPublisher')
            self.assertEqual(expected, out)

    def test_add_store(self):
        '''
            Test adding a certificate to a specific store
        '''
        cmd_mock = MagicMock(return_value=(
            'CertInfo\r\n'
            '================ Certificate 0 ================\r\n'
            'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
            'OtherStuff'))
        cache_mock = MagicMock(return_value='/tmp/cert.cer')
        with patch.dict(certutil.__salt__, {'cmd.run': cmd_mock,
                                            'cp.cache_file': cache_mock}):
            certutil.add_store('salt://path/to/file', 'TrustedPublisher')
            cmd_mock.assert_called_once_with(
                'certutil.exe -addstore TrustedPublisher /tmp/cert.cer')
            cache_mock.assert_called_once_with('salt://path/to/file', 'base')

    def test_del_store(self):
        '''
            Test removing a certificate to a specific store
        '''
        with patch('salt.modules.win_certutil.get_cert_serial') as cert_serial_mock:
            cmd_mock = MagicMock(return_value=(
                'CertInfo\r\n'
                '================ Certificate 0 ================\r\n'
                'Serial Number: 180720d39cd2db3244ba037417241e90\r\n'
                'OtherStuff'))
            cache_mock = MagicMock(return_value='/tmp/cert.cer')
            cert_serial_mock.return_value = 'ABCDEF'
            with patch.dict(certutil.__salt__, {'cmd.run': cmd_mock,
                                                'cp.cache_file': cache_mock}):
                certutil.del_store('salt://path/to/file', 'TrustedPublisher')
                cmd_mock.assert_called_once_with(
                    'certutil.exe -delstore TrustedPublisher ABCDEF')
                cache_mock.assert_called_once_with('salt://path/to/file', 'base')


if __name__ == '__main__':
    from integration import run_tests
    run_tests(CertUtilTestCase, needs_daemon=False)
{'fraction_non_alphanumeric': 0.1336581970066133, 'fraction_numerical': 0.04408864137370925, 'mean_word_length': 2.2565168114847, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 10, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3299016', 'n_tokens_mistral': 2869, 'n_tokens_neox': 2540, 'n_words': 441}