forked from extern/httpie-cli
74 lines
2.3 KiB
Python
74 lines
2.3 KiB
Python
from unittest import TestCase
|
|
|
|
import pytest
|
|
|
|
from httpie.compat import is_windows
|
|
from httpie.output import BINARY_SUPPRESSED_NOTICE
|
|
from tests import http, httpbin, TestEnvironment
|
|
from tests.fixtures import BIN_FILE_CONTENT, BIN_FILE_PATH
|
|
|
|
|
|
class StreamTest(TestCase):
|
|
# GET because httpbin 500s with binary POST body.
|
|
|
|
@pytest.mark.skipif(is_windows,
|
|
reason='Pretty redirect not supported under Windows')
|
|
def test_pretty_redirected_stream(self):
|
|
"""Test that --stream works with prettified redirected output."""
|
|
with open(BIN_FILE_PATH, 'rb') as f:
|
|
r = http(
|
|
'--verbose',
|
|
'--pretty=all',
|
|
'--stream',
|
|
'GET',
|
|
httpbin('/get'),
|
|
env=TestEnvironment(
|
|
colors=256,
|
|
stdin=f,
|
|
stdin_isatty=False,
|
|
stdout_isatty=False,
|
|
)
|
|
)
|
|
assert BINARY_SUPPRESSED_NOTICE.decode() in r
|
|
# We get 'Bad Request' but it's okay.
|
|
#self.assertIn(OK_COLOR, r)
|
|
|
|
def test_encoded_stream(self):
|
|
"""Test that --stream works with non-prettified
|
|
redirected terminal output."""
|
|
with open(BIN_FILE_PATH, 'rb') as f:
|
|
r = http(
|
|
'--pretty=none',
|
|
'--stream',
|
|
'--verbose',
|
|
'GET',
|
|
httpbin('/get'),
|
|
env=TestEnvironment(
|
|
stdin=f,
|
|
stdin_isatty=False
|
|
),
|
|
)
|
|
assert BINARY_SUPPRESSED_NOTICE.decode() in r
|
|
# We get 'Bad Request' but it's okay.
|
|
#self.assertIn(OK, r)
|
|
|
|
def test_redirected_stream(self):
|
|
"""Test that --stream works with non-prettified
|
|
redirected terminal output."""
|
|
with open(BIN_FILE_PATH, 'rb') as f:
|
|
r = http(
|
|
'--pretty=none',
|
|
'--stream',
|
|
'--verbose',
|
|
'GET',
|
|
httpbin('/get'),
|
|
env=TestEnvironment(
|
|
stdout_isatty=False,
|
|
stdin=f,
|
|
stdin_isatty=False
|
|
)
|
|
)
|
|
# We get 'Bad Request' but it's okay.
|
|
#self.assertIn(OK.encode(), r)
|
|
assert BIN_FILE_CONTENT in r
|