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())
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'})
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' })
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)
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()