Skip to content

Commit 9d7b747

Browse files
committed
add false positive test
Signed-off-by: hwassman <[email protected]>
1 parent f4e7cb2 commit 9d7b747

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

tests/test_collector.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
from unittest import mock
55
from source.bridgeLogger import configureLogging
66
from source.queryHandler.Topo import Topo
7-
from nose2.tools.decorators import with_setup
87
from source.collector import QueryPolicy, SensorCollector
8+
from nose2.tools.such import helper as assert_helper
9+
from nose2.tools.decorators import with_setup
10+
911

1012

1113
def my_setup():
12-
global path, topo, logger, prometheus_attrs, pfilters, pquery_filters
14+
global path, topo, logger, prometheus_attrs, pfilters, pquery_filters, wrong_pfilters
1315
path = os.getcwd()
1416
topoStrFile = os.path.join(path, "tests", "test_data", 'topoStr.json')
1517
with open(topoStrFile) as f:
@@ -18,8 +20,9 @@ def my_setup():
1820
logger = configureLogging(path, None)
1921
prometheus_attrs = {'sensor': 'GPFSFilesystem', 'period': 300,
2022
'nsamples': 300, 'rawData': True}
21-
pfilters = {'node': 'scale-16', 'gpfs_filesystem_name': 'afmCacheFS'}
23+
pfilters = {'node': 'scale-16', 'gpfs_fs_name': 'afmCacheFS'}
2224
pquery_filters = [f"{k}={v}" for k, v in pfilters.items()]
25+
wrong_pfilters = {'node': 'scale-16', 'gpfs_filesystem_name': 'afmCacheFS'}
2326

2427

2528
@with_setup(my_setup)
@@ -128,7 +131,42 @@ def test_case05(col_md, sts_md, md):
128131
collector = SensorCollector(sensor, period, logger, request)
129132
collector.md = md_instance
130133
collector.labels = collector._get_sensor_labels()
134+
collector.filtersMap = collector._get_all_filters()
135+
assert collector.sensor == sensor
136+
assert collector.period == period
137+
assert collector.request == request
138+
assert collector.labels == topo.getSensorLabels(sensor)
139+
assert len(collector.filtersMap) > 0
140+
assert all(i in collector.labels for i in pfilters.keys())
141+
142+
143+
@with_setup(my_setup)
144+
@mock.patch('source.collector.QueryPolicy.md')
145+
@mock.patch('source.collector.SensorTimeSeries.md')
146+
@mock.patch('source.collector.SensorCollector.md')
147+
def test_case06(col_md, sts_md, md):
148+
sensor = prometheus_attrs.get('sensor')
149+
period = prometheus_attrs.get('period')
150+
logger = logging.getLogger(__name__)
151+
prometheus_attrs.update({'filters': wrong_pfilters})
152+
prometheus_attrs.update({'nsamples': 1, 'rawData': False})
153+
154+
md_instance = md.return_value
155+
md_instance.includeDiskData.return_value = False
156+
md_instance.logger.return_value = logger
157+
md_instance.metaData = topo
158+
# md_instance1 = sts_md.return_value
159+
# md_instance2 = col_md.return_value
160+
request = QueryPolicy(**prometheus_attrs)
161+
collector = SensorCollector(sensor, period, logger, request)
162+
collector.md = md_instance
163+
collector.labels = collector._get_sensor_labels()
164+
collector.filtersMap = collector._get_all_filters()
131165
assert collector.sensor == sensor
132166
assert collector.period == period
133167
assert collector.request == request
134168
assert collector.labels == topo.getSensorLabels(sensor)
169+
assert len(collector.filtersMap) > 0
170+
assert not all(i in collector.labels for i in wrong_pfilters.keys())
171+
with assert_helper.assertRaises(Exception):
172+
assert collector.validate_query_filters()

0 commit comments

Comments
 (0)