from boto import auth from garcon import activity from unittest.mock import MagicMock import boto.swf.layer2 as swf import pytest from octopus.tasks import gzip from subprocess import Popen 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)