コード例 #1
0
def test_get_templates_info(open_m, FileSystemLoader_m):
    loader = FileSystemLoader_m.return_value
    loader.list_templates.return_value = [
        'r1/t/template.j2',
        'r2/t/template.j2',
        'r3/t/template.j2',
    ]

    open_m.return_value = MagicMock(spec=file)
    file_handle = open_m.return_value.__enter__.return_value
    error = IOError()
    error.errno = errno.ENOENT
    file_handle.readline.side_effect = ['http://b.c/r', '', error]

    manager = TemplateManager('/fake')
    templates_info = manager.get_templates_info()
    enc = urlsafe_b64encode
    expected = [
        {'id': enc('r1/t'), 'name': 'r1/t', 'data_source_url': 'http://b.c/r'},
        {'id': enc('r2/t'), 'name': 'r2/t', 'data_source_url': None},
        {'id': enc('r3/t'), 'name': 'r3/t', 'data_source_url': None},
    ]
    # last call
    open_m.assert_called_with('/fake/r3/t/data_source_url', 'rb')
    assert_items_equal(expected, templates_info)
コード例 #2
0
ファイル: views.py プロジェクト: holandes22/rafee
 def get(self, request):
     manager = TemplateManager(settings.RAFEE_REPO_DIR)
     info = manager.get_templates_info()
     return Response(info)