Merge lp:~ricardokirkner/python-timeline-django/ensure-event-tuple into lp:python-timeline-django

Proposed by Ricardo Kirkner
Status: Merged
Approved by: Ricardo Kirkner
Approved revision: 27
Merged at revision: 27
Proposed branch: lp:~ricardokirkner/python-timeline-django/ensure-event-tuple
Merge into: lp:python-timeline-django
Diff against target: 82 lines (+33/-17)
2 files modified
timeline_django/filters.py (+1/-1)
timeline_django/tests/test_filters.py (+32/-16)
To merge this branch: bzr merge lp:~ricardokirkner/python-timeline-django/ensure-event-tuple
Reviewer Review Type Date Requested Status
Matt Goodall (community) Approve
Review via email: mp+273238@code.launchpad.net

Commit message

do not rely on timeline event being a tuple when filtering query

event can be tuple or list, just make sure to cast it to tuple before appending extra bits to filtered event data

To post a comment you must log in.
Revision history for this message
Matt Goodall (matt-goodall) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'timeline_django/filters.py'
2--- timeline_django/filters.py 2014-04-29 18:58:42 +0000
3+++ timeline_django/filters.py 2015-10-02 14:43:10 +0000
4@@ -40,7 +40,7 @@
5 for event in timeline:
6 start, end, category, detail = event[:4]
7 detail = filter_fn(detail)
8- new_timeline.append((start, end, category, detail) + event[4:])
9+ new_timeline.append((start, end, category, detail) + tuple(event[4:]))
10 report['timeline'] = new_timeline
11
12
13
14=== modified file 'timeline_django/tests/test_filters.py'
15--- timeline_django/tests/test_filters.py 2014-04-29 18:58:42 +0000
16+++ timeline_django/tests/test_filters.py 2015-10-02 14:43:10 +0000
17@@ -64,16 +64,24 @@
18 self.assertEqual({}, report)
19 self.assertEqual({}, context)
20
21+ def _test_filter_session_query(self, query, timeline):
22+ report = dict(timeline=timeline)
23+ filters.filter_session_query(report, {})
24+ new_timeline = report['timeline']
25+ self.assertEqual(
26+ [(0, 0, 'some-category', filters.filter_session_info(query),
27+ 'other')],
28+ new_timeline)
29+
30 def test_filter_session_query(self):
31 query = 'select * from django_session'
32- test_timeline = [(0, 0, 'some-category', query, 'other')]
33- report = dict(timeline=test_timeline)
34- filters.filter_session_query(report, {})
35- new_timeline = report['timeline']
36- self.assertEqual(
37- [(0, 0, 'some-category', filters.filter_session_info(query),
38- 'other')],
39- new_timeline)
40+ timeline = [(0, 0, 'some-category', query, 'other')]
41+ self._test_filter_session_query(query, timeline)
42+
43+ def test_filter_session_query_handle_event_as_list(self):
44+ query = 'select * from django_session'
45+ timeline = [[0, 0, 'some-category', query, 'other']]
46+ self._test_filter_session_query(query, timeline)
47
48
49 class FilterUserQueryTests(TestCase):
50@@ -85,16 +93,24 @@
51 self.assertEqual({}, report)
52 self.assertEqual({}, context)
53
54+ def _test_filter_user_query(self, query, timeline):
55+ report = dict(timeline=timeline)
56+ filters.filter_user_query(report, {})
57+ new_timeline = report['timeline']
58+ self.assertEqual(
59+ [(0, 0, 'some-category', filters.filter_user_info(query),
60+ 'other')],
61+ new_timeline)
62+
63 def test_filter_user_query(self):
64 query = 'select * from auth_user'
65- test_timeline = [(0, 0, 'some-category', query, 'other')]
66- report = dict(timeline=test_timeline)
67- filters.filter_user_query(report, {})
68- new_timeline = report['timeline']
69- self.assertEqual(
70- [(0, 0, 'some-category', filters.filter_user_info(query),
71- 'other')],
72- new_timeline)
73+ timeline = [(0, 0, 'some-category', query, 'other')]
74+ self._test_filter_user_query(query, timeline)
75+
76+ def test_filter_user_query_handle_event_as_list(self):
77+ query = 'select * from auth_user'
78+ timeline = [[0, 0, 'some-category', query, 'other']]
79+ self._test_filter_user_query(query, timeline)
80
81
82 class FakeConfig(object):

Subscribers

People subscribed via source and target branches