Skip to content

Commit

Permalink
Fixed erroneous source filter in SQLAlchemy.
Browse files Browse the repository at this point in the history
Also added test cases for source filter. This fixed bug 1093580.

Change-Id: Ie3d99e7f27064f88196d6b0a7139fba36251b3c0
  • Loading branch information
lianhao committed Jan 5, 2013
1 parent cd0f6c2 commit e91afeb
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion ceilometer/storage/impl_sqlalchemy.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def make_query_from_filter(query, event_filter, require_meter=True):
elif require_meter:
raise RuntimeError('Missing required meter specifier')
if event_filter.source:
query = query.filter_by(source=event_filter.source)
query = query.filter(Meter.sources.any(id=event_filter.source))
if event_filter.start:
ts_start = event_filter.start
query = query.filter(Meter.timestamp >= ts_start)
Expand Down
6 changes: 6 additions & 0 deletions tests/storage/test_impl_mongodb.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,12 @@ def test_get_raw_events_by_meter2(self):
results = list(self.conn.get_raw_events(f))
assert results

def test_get_raw_events_by_source(self):
f = storage.EventFilter(source='test-1')
results = list(self.conn.get_raw_events(f))
assert results
assert len(results) == 1


class SumTest(MongoDBEngineTestBase):

Expand Down
6 changes: 6 additions & 0 deletions tests/storage/test_impl_sqlalchemy.py
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,12 @@ def test_get_raw_events_by_meter2(self):
results = list(self.conn.get_raw_events(f))
assert results

def test_get_raw_events_by_source(self):
f = storage.EventFilter(source='test-1')
results = list(self.conn.get_raw_events(f))
assert results
assert len(results) == 1


class TestGetEventInterval(SQLAlchemyEngineTestBase):

Expand Down

0 comments on commit e91afeb

Please sign in to comment.