This file is indexed.

/usr/lib/python2.7/dist-packages/requests_mock/tests/test_response.py is in python-requests-mock 1.3.0-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

import six

from requests_mock import adapter
from requests_mock import exceptions
from requests_mock import response
from requests_mock.tests import base


class ResponseTests(base.TestCase):

    def setUp(self):
        super(ResponseTests, self).setUp()
        self.method = 'GET'
        self.url = 'http://test.url/path'
        self.request = adapter._RequestObjectProxy._create(self.method,
                                                           self.url,
                                                           {})

    def create_response(self, **kwargs):
        return response.create_response(self.request, **kwargs)

    def test_create_response_body_args(self):
        self.assertRaises(RuntimeError,
                          self.create_response,
                          raw='abc',
                          body='abc')

        self.assertRaises(RuntimeError,
                          self.create_response,
                          text='abc',
                          json={'a': 1})

    def test_content_type(self):
        self.assertRaises(TypeError, self.create_response, text=55)
        self.assertRaises(TypeError, self.create_response, text={'a': 1})

        # this only works on python 2 because bytes is a string
        if six.PY3:
            self.assertRaises(TypeError, self.create_response, text=six.b(''))

    def test_text_type(self):
        self.assertRaises(TypeError, self.create_response, content=six.u('t'))
        self.assertRaises(TypeError, self.create_response, content={'a': 1})
        self.assertRaises(TypeError, self.create_response, content=six.u(''))

    def test_json_body(self):
        data = {'a': 1}
        resp = self.create_response(json=data)

        self.assertEqual('{"a": 1}', resp.text)
        self.assertIsInstance(resp.text, six.string_types)
        self.assertIsInstance(resp.content, six.binary_type)
        self.assertEqual(data, resp.json())

    def test_body_body(self):
        value = 'data'
        body = six.BytesIO(six.b(value))
        resp = self.create_response(body=body)

        self.assertEqual(value, resp.text)
        self.assertIsInstance(resp.text, six.string_types)
        self.assertIsInstance(resp.content, six.binary_type)

    def test_setting_connection(self):
        conn = object()
        resp = self.create_response(connection=conn)
        self.assertIs(conn, resp.connection)

    def test_send_from_no_connection(self):
        resp = self.create_response()
        self.assertRaises(exceptions.InvalidRequest,
                          resp.connection.send, self.request)

    def test_cookies_from_header(self):
        # domain must be same as request url to pass policy check
        headers = {'Set-Cookie': 'fig=newton; Path=/test; domain=.test.url'}
        resp = self.create_response(headers=headers)

        self.assertEqual('newton', resp.cookies['fig'])
        self.assertEqual(['/test'], resp.cookies.list_paths())
        self.assertEqual(['.test.url'], resp.cookies.list_domains())

    def test_cookies_from_dict(self):
        # This is a syntax we get from requests. I'm not sure i like it.
        resp = self.create_response(cookies={'fig': 'newton',
                                             'sugar': 'apple'})

        self.assertEqual('newton', resp.cookies['fig'])
        self.assertEqual('apple', resp.cookies['sugar'])

    def test_cookies_with_jar(self):
        jar = response.CookieJar()
        jar.set('fig', 'newton', path='/foo', domain='.test.url')
        jar.set('sugar', 'apple', path='/bar', domain='.test.url')
        resp = self.create_response(cookies=jar)

        self.assertEqual('newton', resp.cookies['fig'])
        self.assertEqual('apple', resp.cookies['sugar'])
        self.assertEqual(set(['/foo', '/bar']), set(resp.cookies.list_paths()))
        self.assertEqual(['.test.url'], resp.cookies.list_domains())