Skip to content

Commit c7a5c8d

Browse files
Merge pull request pandas-dev#4 in DATA/arctic from pass_parameters_through_to_tickstore to master
* commit 'f3d7229c98cde50257394dddb41400c44ea051b0': MDP-448 Pass all arguments through from TopLevelTickStore.read to TickStore.read
2 parents 741bda5 + f3d7229 commit c7a5c8d

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

arctic/tickstore/toplevel.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,10 @@ def add(self, date_range, library_name):
9898
self._collection.update_one({'library_name': library_name},
9999
{'$set': {'start': start, 'end': end}}, upsert=True)
100100

101-
def read(self, symbol, date_range, columns=['BID', 'ASK', 'TRDPRC_1', 'BIDSIZE', 'ASKSIZE', 'TRDVOL_1'], **kwargs):
101+
def read(self, symbol, date_range, columns=['BID', 'ASK', 'TRDPRC_1', 'BIDSIZE', 'ASKSIZE', 'TRDVOL_1'], include_images=False):
102102
libraries = self._get_libraries(date_range)
103-
dfs = [l.library.read(symbol, l.date_range.intersection(date_range), columns) for l in libraries]
103+
dfs = [l.library.read(symbol, l.date_range.intersection(date_range), columns,
104+
include_images=include_images) for l in libraries]
104105
return pd.concat(dfs)
105106

106107
def write(self, symbol, data):

tests/unit/tickstore/test_toplevel.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from mock import Mock, patch, MagicMock, create_autospec, sentinel
1+
from mock import Mock, patch, MagicMock, create_autospec, sentinel, call
22
import pytest
33
from datetime import datetime as dt
44
import pandas as pd
@@ -10,6 +10,7 @@
1010
from arctic.exceptions import OverlappingDataException
1111
from arctic.tickstore.toplevel import TopLevelTickStore, TickStoreLibrary
1212
from dateutil.rrule import rrule, DAILY
13+
from arctic.tickstore.tickstore import TickStore
1314

1415

1516
def test_raise_exception_if_daterange_is_not_provided():
@@ -145,3 +146,21 @@ def test_write_pandas_data_to_right_libraries():
145146
TopLevelTickStore.write(self, 'blah', sentinel.data)
146147
mock_lib1.write.assert_called_once_with('blah', slice1)
147148
mock_lib2.write.assert_called_once_with('blah', slice2)
149+
150+
151+
def test_read():
152+
self = create_autospec(TopLevelTickStore)
153+
tsl = TickStoreLibrary(create_autospec(TickStore), create_autospec(DateRange))
154+
self._get_libraries.return_value = [tsl, tsl]
155+
dr = create_autospec(DateRange)
156+
with patch('pandas.concat') as concat:
157+
res = TopLevelTickStore.read(self, sentinel.symbol, dr,
158+
columns=sentinel.include_columns,
159+
include_images=sentinel.include_images)
160+
assert concat.call_args_list == [call([tsl.library.read.return_value,
161+
tsl.library.read.return_value])]
162+
assert res == concat.return_value
163+
assert tsl.library.read.call_args_list == [call(sentinel.symbol, tsl.date_range.intersection.return_value,
164+
sentinel.include_columns, include_images=sentinel.include_images),
165+
call(sentinel.symbol, tsl.date_range.intersection.return_value,
166+
sentinel.include_columns, include_images=sentinel.include_images)]

0 commit comments

Comments
 (0)