def test_write_no_data(self, mock_http):
        dfw = DiskFileWriter(make_client_collection(), 'obj',
                             logger=logging.root)

        written = dfw.write("")

        self.assertEqual(0, written)
        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('0\r\n\r\n', fake_http_conn._buffer.getvalue())
Example #2
0
    def test_write_no_data(self, mock_http):
        dfw = DiskFileWriter(make_client_collection(),
                             'obj',
                             logger=logging.root)

        written = dfw.write("")

        self.assertEqual(0, written)
        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('0\r\n\r\n', fake_http_conn._buffer.getvalue())
    def test_write_with_data(self, mock_http):
        dfw = DiskFileWriter(make_client_collection(), 'obj',
                             logger=logging.root)

        data = "a" * 4096
        written = dfw.write(data)

        self.assertEqual(len(data), written)
        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('%x\r\n%s\r\n' % (len(data), data),
                         fake_http_conn._buffer.getvalue())
Example #4
0
    def test_write_with_data(self, mock_http):
        dfw = DiskFileWriter(make_client_collection(),
                             'obj',
                             logger=logging.root)

        data = "a" * 4096
        written = dfw.write(data)

        self.assertEqual(len(data), written)
        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('%x\r\n%s\r\n' % (len(data), data),
                         fake_http_conn._buffer.getvalue())
Example #5
0
    def test_put_with_200_response(self, mock_put_meta, mock_http):
        client_collection = make_client_collection()
        dfw = DiskFileWriter(client_collection, 'obj', logger=logging.root)

        dfw.put({'meta1': 'val'})

        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('0\r\n\r\n', fake_http_conn._buffer.getvalue())

        mock_release_conn = mock_http.return_value[1]
        mock_release_conn.assert_called_once_with()

        mock_put_meta.assert_called_with('obj', {'meta1': 'val', 'name': 'obj'})
Example #6
0
    def test_put_with_200_response(self, mock_put_meta, mock_http):
        client_collection = make_client_collection()
        dfw = DiskFileWriter(client_collection, 'obj', logger=logging.root)

        dfw.put({'meta1': 'val'})

        fake_http_conn = mock_http.return_value[0]
        self.assertEqual('0\r\n\r\n', fake_http_conn._buffer.getvalue())

        mock_release_conn = mock_http.return_value[1]
        mock_release_conn.assert_called_once_with()

        mock_put_meta.assert_called_with('obj', {
            'meta1': 'val',
            'name': 'obj'
        })
Example #7
0
    def test_init(self, mock_http):
        client_collection = make_client_collection()
        # Note the white space, to test proper URL encoding
        DiskFileWriter(client_collection, 'ob j', logger=logging.root)

        expected_header = {'transfer-encoding': 'chunked'}
        mock_http.assert_called_once_with('ob j', expected_header)
Example #8
0
    def test_put_with_404_response(self, mock_http):
        client_collection = make_client_collection()
        dfw = DiskFileWriter(client_collection, 'obj', logger=logging.root)

        fake_http_conn = mock_http.return_value[0]
        msg = r'.*404 / %s.*' % fake_http_conn.getresponse().read()
        utils.assertRaisesRegexp(SproxydHTTPException, msg, dfw.put, {})

        fake_http_conn.close.assert_called_once_with()