Skip to content

Commit d511f10

Browse files
committed
fix phone tests
1 parent 0cef720 commit d511f10

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

corehq/ex-submodules/casexml/apps/phone/caselogic.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ def get_case_updates(user, last_sync):
156156
"""
157157
return CaseSyncOperation(user, last_sync)
158158

159+
159160
def filter_cases_modified_elsewhere_since_sync(cases, last_sync):
160161
# this function is pretty ugly and is heavily optimized to reduce the number
161162
# of queries to couch.
@@ -187,9 +188,15 @@ def filter_cases_modified_elsewhere_since_sync(cases, last_sync):
187188
# 'value': '2012-08-22T08:55:14Z', (most recent date updated)
188189
# 'key': ['[case id]', '[sync token id]']
189190
# }
190-
if row['value']:
191+
dt_string = row['value']
192+
if dt_string:
193+
try:
194+
dt = datetime.strptime(dt_string, '%Y-%m-%dT%H:%M:%SZ')
195+
except ValueError as e:
196+
assert 'does not match format' in unicode(e)
197+
dt = datetime.strptime(dt_string, '%Y-%m-%dT%H:%M:%S.%f')
191198
all_case_updates_by_sync_token[row['key'][0]].append(
192-
{'token': row['key'][1], 'date': datetime.strptime(row['value'], '%Y-%m-%dT%H:%M:%SZ')}
199+
{'token': row['key'][1], 'date': dt}
193200
)
194201

195202
def case_modified_elsewhere_since_sync(case):

corehq/ex-submodules/casexml/apps/phone/models.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from copy import copy
22
from couchdbkit.exceptions import ResourceConflict, ResourceNotFound
33
from couchdbkit.ext.django.schema import *
4-
from dimagi.utils.couch.database import SafeSaveDocument
54
from dimagi.utils.mixins import UnicodeMixIn
65
from dimagi.utils.couch import LooselyEqualDocumentSchema
76
from casexml.apps.case import const
@@ -10,8 +9,14 @@
109
import logging
1110

1211

12+
from corehq.ext.couchdbkit import (
13+
UTCDateTimeProperty as DateTimeProperty,
14+
ISOSafeSaveDocument as SafeSaveDocument,
15+
)
16+
17+
1318
class User(object):
14-
"""
19+
"""
1520
This is a basic user model that's used for OTA restore to properly
1621
find cases and generate the user XML.
1722
"""

corehq/ex-submodules/casexml/apps/phone/tests/test_ota_restore.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ def testWithReferrals(self):
197197
<request_name>ME</request_name>
198198
<request_rank>staff_nurse</request_rank>
199199
<request_reason></request_reason>
200-
<request_timestamp>2011-02-19 16:46:28</request_timestamp>
200+
<request_timestamp>2011-02-19 16:46:28.975000</request_timestamp>
201201
<ringing></ringing>
202202
<seizures></seizures>
203203
<short_name>SIEGEL, ROBERT</short_name>
@@ -275,7 +275,7 @@ def testWithReferrals(self):
275275
<request_name>ME</request_name>
276276
<request_rank>staff_nurse</request_rank>
277277
<request_reason></request_reason>
278-
<request_timestamp>2011-02-19 16:46:28</request_timestamp>
278+
<request_timestamp>2011-02-19 16:46:28.975000</request_timestamp>
279279
<ringing></ringing>
280280
<seizures></seizures>
281281
<short_name>SIEGEL, ROBERT</short_name>

0 commit comments

Comments
 (0)