@@ -29,19 +29,41 @@ def test_delete_version_version_not_found():
29
29
def test_list_versions_localTime ():
30
30
# Object ID's are stored in UTC. We need to ensure that the returned times
31
31
# for versions are in the local TimeZone
32
- vs = create_autospec (VersionStore , instance = True ,
33
- _versions = Mock ())
34
- vs ._find_snapshots .return_value = 'snap'
32
+ vs = create_autospec (VersionStore , instance = True , _versions = Mock (), _snapshots = Mock ())
33
+ mocked_snap_resp = [{'_id' : 'abcde' , 'name' : 'snap' }]
34
+ vs ._snapshots .find .return_value = mocked_snap_resp
35
+ vs ._snapshots .find_one .return_value = mocked_snap_resp
35
36
date = dt (2013 , 4 , 1 , 9 , 0 )
36
37
vs ._versions .find .return_value = [{'_id' : bson .ObjectId .from_datetime (date ),
37
- 'symbol' : 's' , 'version' : 10 , 'metadata' : None }]
38
-
38
+ 'symbol' : 's' ,
39
+ 'version' : 10 ,
40
+ 'metadata' : None ,
41
+ 'parent' : [mocked_snap_resp [0 ]['_id' ]]}]
39
42
version = list (VersionStore .list_versions (vs , "symbol" ))[0 ]
40
43
local_date = date .replace (tzinfo = mktz ("UTC" ))
41
44
assert version == {'symbol' : version ['symbol' ], 'version' : version ['version' ],
42
45
# We return naive datetimes in 'default' time, which is London for us
43
46
'date' : local_date ,
44
- 'snapshots' : 'snap' ,
47
+ 'snapshots' : ['snap' ],
48
+ 'deleted' : False }
49
+
50
+
51
+ def test_list_versions_no_snapshot ():
52
+ vs = create_autospec (VersionStore , instance = True , _versions = Mock (), _snapshots = Mock ())
53
+ vs ._snapshots .find .return_value = []
54
+ vs ._snapshots .find_one .return_value = []
55
+ date = dt (2013 , 4 , 1 , 9 , 0 )
56
+ vs ._versions .find .return_value = [{'_id' : bson .ObjectId .from_datetime (date ),
57
+ 'symbol' : 's' ,
58
+ 'version' : 10 ,
59
+ 'metadata' : None ,
60
+ 'parent' : []}]
61
+ version = list (VersionStore .list_versions (vs , "symbol" ))[0 ]
62
+ local_date = date .replace (tzinfo = mktz ("UTC" ))
63
+ assert version == {'symbol' : version ['symbol' ],
64
+ 'version' : version ['version' ],
65
+ 'date' : local_date ,
66
+ 'snapshots' : [],
45
67
'deleted' : False }
46
68
47
69
0 commit comments