# -*- coding: utf-8 -*-
'''
tests.unit.returners.pgjsonb_test
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Unit tests for the PGJsonb returner (pgjsonb).
'''

# Import Python libs
from __future__ import absolute_import, print_function, unicode_literals
import logging

# Import Salt Testing libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import TestCase, skipIf
from tests.support.mock import (
    MagicMock,
    NO_MOCK,
    NO_MOCK_REASON,
    patch
)

# Import Salt libs
import salt.returners.pgjsonb as pgjsonb

log = logging.getLogger(__name__)


@skipIf(NO_MOCK, NO_MOCK_REASON)
class PGJsonbCleanOldJobsTestCase(TestCase, LoaderModuleMockMixin):
    '''
    Tests for the local_cache.clean_old_jobs function.
    '''
    def setup_loader_modules(self):
        return {pgjsonb: {'__opts__': {'keep_jobs': 1, 'archive_jobs': 0}}}

    def test_clean_old_jobs_purge(self):
        '''
        Tests that the function returns None when no jid_root is found.
        '''
        connect_mock = MagicMock()
        with patch.object(pgjsonb, '_get_serv', connect_mock):
            with patch.dict(pgjsonb.__salt__, {'config.option': MagicMock()}):
                self.assertEqual(pgjsonb.clean_old_jobs(), None)

    def test_clean_old_jobs_archive(self):
        '''
        Tests that the function returns None when no jid_root is found.
        '''
        connect_mock = MagicMock()
        with patch.object(pgjsonb, '_get_serv', connect_mock):
            with patch.dict(pgjsonb.__salt__, {'config.option': MagicMock()}):
                with patch.dict(pgjsonb.__opts__, {'archive_jobs': 1}):
                    self.assertEqual(pgjsonb.clean_old_jobs(), None)

Rename test pgjsonb returner test file to match naming convention