##// END OF EJS Templates
handle the new status messages in IPython.parallel...
handle the new status messages in IPython.parallel avoids creating implicit tasks in the Client’s metadata and Hub’s task db when status messages arrive.

File last commit:

r15386:5ee6cfdf
r17264:506c6033
Show More
test_extractoutput.py
74 lines | 2.5 KiB | text/x-python | PythonLexer
"""
Module with tests for the extractoutput preprocessor
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from .base import PreprocessorTestsBase
from ..extractoutput import ExtractOutputPreprocessor
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestExtractOutput(PreprocessorTestsBase):
"""Contains test functions for extractoutput.py"""
def build_preprocessor(self):
"""Make an instance of a preprocessor"""
preprocessor = ExtractOutputPreprocessor()
preprocessor.extract_output_types = {'text', 'png', 'application/pdf'}
preprocessor.enabled = True
return preprocessor
def test_constructor(self):
"""Can a ExtractOutputPreprocessor be constructed?"""
self.build_preprocessor()
def test_output(self):
"""Test the output of the ExtractOutputPreprocessor"""
nb = self.build_notebook()
res = self.build_resources()
preprocessor = self.build_preprocessor()
nb, res = preprocessor(nb, res)
# Check if text was extracted.
output = nb.worksheets[0].cells[0].outputs[1]
assert 'text_filename' in output
text_filename = output['text_filename']
# Check if png was extracted.
output = nb.worksheets[0].cells[0].outputs[6]
assert 'png_filename' in output
png_filename = output['png_filename']
# Check that pdf was extracted
output = nb.worksheets[0].cells[0].outputs[7]
assert 'application/pdf_filename' in output
pdf_filename = output['application/pdf_filename']
# Verify text output
assert text_filename in res['outputs']
self.assertEqual(res['outputs'][text_filename], b'b')
# Verify png output
assert png_filename in res['outputs']
self.assertEqual(res['outputs'][png_filename], b'g')
# Verify pdf output
assert pdf_filename in res['outputs']
self.assertEqual(res['outputs'][pdf_filename], b'h')