from subprocess import Popen from unittest.mock import MagicMock from boto import auth import boto.swf.layer2 as swf from garcon import activity from garcon.contrib import gzip import pytest def test_pipe_gzip_from_stdin_to_stdout(monkeypatch): with pytest.raises(Exception): gzip.pipe_gzip_from_stdin_to_stdout(pipe=None) monkeypatch.setattr(auth, 'get_auth_handler', MagicMock()) monkeypatch.setattr(swf, 'ActivityWorker', MagicMock) stdout = MagicMock() mock_pipe = MagicMock(stdout=stdout) resp = gzip.pipe_gzip_from_stdin_to_stdout(activity.Activity(), mock_pipe) assert isinstance(resp, dict) assert isinstance(resp.get('pipe'), Popen)