File size: 1,181 Bytes
328e22b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- coding: utf-8 -*-
import os

import mock

from pytube import request


@mock.patch('pytube.request.urlopen')
def test_get_streaming(mock_urlopen):
    fake_stream_binary = [
        iter(os.urandom(8 * 1024)),
        iter(os.urandom(8 * 1024)),
        iter(os.urandom(8 * 1024)),
        None,
    ]
    response = mock.Mock()
    response.read.side_effect = fake_stream_binary
    mock_urlopen.return_value = response
    response = request.get('fakeassurl.gov', streaming=True)
    call_count = 0
    for i in response:
        call_count += 1
    assert call_count == 3


@mock.patch('pytube.request.urlopen')
def test_get_headers(mock_urlopen):
    response = mock.Mock()
    response.info.return_value = {'Content-Length': '16384'}
    mock_urlopen.return_value = response
    response = request.get('fakeassurl.gov', headers=True)
    assert response == {'Content-Length': '16384'}


@mock.patch('pytube.request.urlopen')
def test_get(mock_urlopen):
    response = mock.Mock()
    response.read.return_value = '<html></html>'.encode('utf-8')
    mock_urlopen.return_value = response
    response = request.get('fakeassurl.gov')
    assert response == '<html></html>'