示例#1
0
def test_sphinx_doc_plugin___makedirs_existing_dir(os_mock):
    """
    Test :py:meth:`.SphinxDocPlugin._makedirs` for existing dir.
    """
    os_mock.makedirs.side_effect = OSError()
    os_mock.makedirs.side_effect.errno = errno.EEXIST
    SphinxDocPlugin._makedirs('/a/b/c/d')
示例#2
0
def test_sphinx_doc_plugin___gen_header():
    """
    Test :py:meth:`.SphinxDocPlugin._gen_header`.
    """
    plugin = SphinxDocPlugin()
    assert_equal(plugin._gen_header([]), 'Tests')
    assert_equal(plugin._gen_header(['mod1', 'mod2']), 'mod2')
示例#3
0
def test_sphinx_doc_plugin___makedirs_success(os_mock):
    """
    Test :py:meth:`.SphinxDocPlugin._makedirs`.
    """
    SphinxDocPlugin._makedirs('/a/b/c/d')
    assert_equal(os_mock.makedirs.call_count, 1)
    assert_equal(os_mock.makedirs.call_args, (('/a/b/c/d',), {}))
示例#4
0
def test_sphinx_doc_plugin___makedirs_existing_dir(os_mock):
    """
    Test :py:meth:`.SphinxDocPlugin._makedirs` for existing dir.
    """
    os_mock.makedirs.side_effect = OSError()
    os_mock.makedirs.side_effect.errno = errno.EEXIST
    SphinxDocPlugin._makedirs('/a/b/c/d')
示例#5
0
def test_sphinx_doc_plugin___makedirs_success(os_mock):
    """
    Test :py:meth:`.SphinxDocPlugin._makedirs`.
    """
    SphinxDocPlugin._makedirs('/a/b/c/d')
    assert_equal(os_mock.makedirs.call_count, 1)
    assert_equal(os_mock.makedirs.call_args, (('/a/b/c/d', ), {}))
示例#6
0
def test_sphinx_doc_plugin___gen_header():
    """
    Test :py:meth:`.SphinxDocPlugin._gen_header`.
    """
    plugin = SphinxDocPlugin()
    assert_equal(plugin._gen_header([]), 'Tests')
    assert_equal(plugin._gen_header(['mod1', 'mod2']), 'mod2')
示例#7
0
def test_sphinx_doc_plugin___document_tests__empty():
    """
    Test :py:meth:`.SphinxDocPlugin._document_tests` with empty list of tests.
    """
    plugin = SphinxDocPlugin()
    plugin.sphinxSection = Mock()
    result = plugin._document_tests([])
    expected = ''
    assert_equal(result, expected)
    assert_equal(plugin.sphinxSection.call_count, 0)
示例#8
0
def test_sphinx_doc_plugin___document_tests__empty():
    """
    Test :py:meth:`.SphinxDocPlugin._document_tests` with empty list of tests.
    """
    plugin = SphinxDocPlugin()
    plugin.sphinxSection = Mock()
    result = plugin._document_tests([])
    expected = ''
    assert_equal(result, expected)
    assert_equal(plugin.sphinxSection.call_count, 0)
示例#9
0
def test_sphinx_doc_plugin__store_test__single_call():
    """
    Test single call of :py:meth:`.SphinxDocPlugin.storeTest`.
    """
    #test single call
    plugin = SphinxDocPlugin()
    test = nose.case.Test(lambda x: x)
    assert_equal(plugin.tests, [])
    plugin.storeTest(test)
    assert_equal(plugin.tests, [test])
示例#10
0
def test_sphinx_doc_plugin__store_test__single_call():
    """
    Test single call of :py:meth:`.SphinxDocPlugin.storeTest`.
    """
    #test single call
    plugin = SphinxDocPlugin()
    test = nose.case.Test(lambda x: x)
    assert_equal(plugin.tests, [])
    plugin.storeTest(test)
    assert_equal(plugin.tests, [test])
示例#11
0
def test_sphinx_doc_plugin__process_tests__several_tests(
        extractTestInfo, testToDict):
    """
    Test :py:meth:`.SphinxDocPlugin.processTests` with several test.
    """
    plugin = SphinxDocPlugin()
    test_list = [1, 2, 3]
    expected_result = {}
    result = plugin.processTests(test_list)
    assert_equal(result, expected_result)
    assert_equal(extractTestInfo.call_count, len(test_list))
    assert_equal(testToDict.call_count, len(test_list))
示例#12
0
def test_sphinx_doc_plugin__process_tests__empty_list(extractTestInfo,
                                                      testToDict):
    """
    Test :py:meth:`.SphinxDocPlugin.processTests` with empty list.
    """
    plugin = SphinxDocPlugin()
    test_list = []
    expected_result = {}
    result = plugin.processTests(test_list)
    assert_equal(result, expected_result)
    assert_equal(extractTestInfo.call_count, 0)
    assert_equal(testToDict.call_count, 0)
示例#13
0
def test_sphinx_doc_plugin__store_test__several_calls():
    """
    Test several calls to :py:meth:`.SphinxDocPlugin.storeTest`.
    """
    #test double call
    plugin = SphinxDocPlugin()
    assert_equal(plugin.tests, [])
    test1 = nose.case.Test(lambda x: x)
    test2 = nose.case.Test(lambda x: x)
    plugin.storeTest(test1)
    plugin.storeTest(test2)
    assert_equal(plugin.tests, [test1, test2])
示例#14
0
def test_sphinx_doc_plugin__process_tests__empty_list(extractTestInfo,
                                                        testToDict):
    """
    Test :py:meth:`.SphinxDocPlugin.processTests` with empty list.
    """
    plugin = SphinxDocPlugin()
    test_list = []
    expected_result = {}
    result = plugin.processTests(test_list)
    assert_equal(result, expected_result)
    assert_equal(extractTestInfo.call_count, 0)
    assert_equal(testToDict.call_count, 0)
示例#15
0
def test_sphinx_doc_plugin__process_tests__several_tests(extractTestInfo,
                                                        testToDict):
    """
    Test :py:meth:`.SphinxDocPlugin.processTests` with several test.
    """
    plugin = SphinxDocPlugin()
    test_list = [1, 2, 3]
    expected_result = {}
    result = plugin.processTests(test_list)
    assert_equal(result, expected_result)
    assert_equal(extractTestInfo.call_count, len(test_list))
    assert_equal(testToDict.call_count, len(test_list))
示例#16
0
def test_sphinx_doc_plugin__process_tests_sphinx_section():
    """
    Test :py:meth:`.SphinxDocPlugin.sphinxSection`.
    """
    plugin = SphinxDocPlugin()
    expected_result = '-----\nTests\n-----\n'
    result = plugin.sphinxSection('Tests')
    assert_equal(result, expected_result)

    expected_result = '=====\nTests\n=====\n'
    result = plugin.sphinxSection('Tests', section_char='=')
    assert_equal(result, expected_result)
示例#17
0
def test_sphinx_doc_plugin__process_tests_sphinx_section():
    """
    Test :py:meth:`.SphinxDocPlugin.sphinxSection`.
    """
    plugin = SphinxDocPlugin()
    expected_result = '-----\nTests\n-----\n'
    result = plugin.sphinxSection('Tests')
    assert_equal(result, expected_result)

    expected_result = '=====\nTests\n=====\n'
    result = plugin.sphinxSection('Tests', section_char='=')
    assert_equal(result, expected_result)
示例#18
0
def test_sphinx_doc_plugin__store_test__several_calls():
    """
    Test several calls to :py:meth:`.SphinxDocPlugin.storeTest`.
    """
    #test double call
    plugin = SphinxDocPlugin()
    assert_equal(plugin.tests, [])
    test1 = nose.case.Test(lambda x: x)
    test2 = nose.case.Test(lambda x: x)
    plugin.storeTest(test1)
    plugin.storeTest(test2)
    assert_equal(plugin.tests, [test1, test2])
示例#19
0
def test_sphinx_doc_plugin___document_function_test_case():
    """
    Test :py:meth:`.SphinxDocPlugin._document_funtion_test_case`.
    """
    plugin = SphinxDocPlugin()
    test_info = {
        'name': 'test_me',
        'module': 'module',
        'test': _get_test_case_mock(),
        'type': 'FunctionTestCase',
    }
    expected = '    .. autofunction:: module.test_me\n\n'
    assert_equal(plugin._document_function_test_case(test_info), expected)
示例#20
0
def test_sphinx_doc_plugin___document_function_test_case():
    """
    Test :py:meth:`.SphinxDocPlugin._document_funtion_test_case`.
    """
    plugin = SphinxDocPlugin()
    test_info = {
        'name': 'test_me',
        'module': 'module',
        'test': _get_test_case_mock(),
        'type': 'FunctionTestCase',
    }
    expected = '    .. autofunction:: module.test_me\n\n'
    assert_equal(plugin._document_function_test_case(test_info), expected)
示例#21
0
def test_sphinx_doc_plugin__test_to_dict():
    """
    Test :py:meth:`nose_sphinx_doc.SphinxDocPlugin.testToDict`.
    """
    plugin = SphinxDocPlugin()
    test_info = {
        'module': 'sample',
        'name': 'test_sample',
        'test': None,
        'type': 'FunctionTestCase'
    }
    expected_info = copy.deepcopy(test_info)
    expected_dict = {'sample': {'__tests__': [expected_info]}}
    test_dict = {}
    plugin.testToDict(test_dict, test_info)
    assert_equal(test_dict, expected_dict)
示例#22
0
def test_sphinx_doc_plugin___document_tests__function_test_case():
    """
    Test ``SphinxDocPlugin._document_tests`` with a ``FunctionTestCase``.

    Test :py:meth:`.SphinxDocPlugin._document_tests` with an instance of
    :py:class:`nose.case.FunctionTestCase`.
    """
    plugin = SphinxDocPlugin()
    plugin.sphinxSection = Mock(return_value='')
    plugin._document_test_case = Mock(return_value='')
    plugin._document_function_test_case = Mock(return_value='')
    result = plugin._document_tests([_get_function_test_case_info_mock()])
    #expect only \n, as section and test docs are mocked to return ''
    expected = '\n'
    assert_equal(result, expected)
    assert_equal(plugin.sphinxSection.call_count, 1)
    assert_equal(plugin._document_function_test_case.call_count, 1)
    assert_equal(plugin._document_test_case.call_count, 0)
示例#23
0
def test_sphinx_doc_plugin__test_to_dict():
    """
    Test :py:meth:`nose_sphinx_doc.SphinxDocPlugin.testToDict`.
    """
    plugin = SphinxDocPlugin()
    test_info = {
        'module': 'sample',
        'name': 'test_sample',
        'test': None,
        'type': 'FunctionTestCase'
    }
    expected_info = copy.deepcopy(test_info)
    expected_dict = {
        'sample': {
            '__tests__': [expected_info]
        }
    }
    test_dict = {}
    plugin.testToDict(test_dict, test_info)
    assert_equal(test_dict, expected_dict)
示例#24
0
def test_sphinx_doc_plugin__extract_test_info__test_case():
    """
    Test test data extraction from unittest.TestCase.

    Test :py:meth:`.SphinxDocPlugin.extractTestInfo` for proper info extraction
    from an instance of :py:class:`unittest.TestCase`.
    """
    plugin = SphinxDocPlugin()
    test = Mock(nose.case.Test)
    test.test = Mock(unittest.TestCase)
    test.test.__module__ = 'module'

    expected_result = {
        'module': 'module',
        'name': 'Mock',
        'test': test,
        'type': 'TestCase',
    }
    test_info = plugin.extractTestInfo(test)
    assert_equal(test_info, expected_result)
示例#25
0
def test_sphinx_doc_plugin__extract_test_info__test_case():
    """
    Test test data extraction from unittest.TestCase.

    Test :py:meth:`.SphinxDocPlugin.extractTestInfo` for proper info extraction
    from an instance of :py:class:`unittest.TestCase`.
    """
    plugin = SphinxDocPlugin()
    test = Mock(nose.case.Test)
    test.test = Mock(unittest.TestCase)
    test.test.__module__ = 'module'

    expected_result = {
        'module': 'module',
        'name': 'Mock',
        'test': test,
        'type': 'TestCase',
    }
    test_info = plugin.extractTestInfo(test)
    assert_equal(test_info, expected_result)
示例#26
0
def test_sphinx_doc_plugin__extract_test_info__unsupported_type():
    """
    Test  proper exception raising for unsupported data types.

    Test :py:meth:`.SphinxDocPlugin.extractTestInfo` for proper exception
    raising for unsupported types of tests.
    """
    class Dummy:
        pass

    plugin = SphinxDocPlugin()
    test = Mock(nose.case.Test)
    test.test = Mock(Dummy)
    test.test.test = Mock()
    test.test.__module__ = 'module'

    assert_raises(Exception, plugin.extractTestInfo, test)
示例#27
0
def test_sphinx_doc_plugin___document_tests__function_test_case():
    """
    Test ``SphinxDocPlugin._document_tests`` with a ``FunctionTestCase``.

    Test :py:meth:`.SphinxDocPlugin._document_tests` with an instance of
    :py:class:`nose.case.FunctionTestCase`.
    """
    plugin = SphinxDocPlugin()
    plugin.sphinxSection = Mock(return_value='')
    plugin._document_test_case = Mock(return_value='')
    plugin._document_function_test_case = Mock(return_value='')
    result = plugin._document_tests([_get_function_test_case_info_mock()])
    #expect only \n, as section and test docs are mocked to return ''
    expected = '\n'
    assert_equal(result, expected)
    assert_equal(plugin.sphinxSection.call_count, 1)
    assert_equal(plugin._document_function_test_case.call_count, 1)
    assert_equal(plugin._document_test_case.call_count, 0)