def test_sample_filter_self_always_excluded(self): queries = [api.Query(field='user_id', op='eq', value='20')] with mock.patch('pecan.request') as request: request.headers.return_value = {'X-ProjectId': 'foobar'} kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__) self.assertFalse('self' in kwargs)
def test_sample_filter_single(self): q = [api.Query(field='user_id', op='eq', value='uid')] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertIn('user', kwargs) self.assertEqual(1, len(kwargs)) self.assertEqual('uid', kwargs['user'])
def test_sample_filter_translation(self): queries = [ Query(field=f, op="eq", value="fake_%s" % f, type="string") for f in ["user_id", "project_id", "resource_id"] ] kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__, headers={"X-ProjectId": "foobar"}) for o in ["user", "project", "resource"]: self.assertEqual(kwargs.get(o), "fake_%s_id" % o)
def test_sample_filter_self_always_excluded(self): queries = [Query(field='user_id', op='eq', value='20')] kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__, headers={'X-ProjectId': 'foobar'}) self.assertFalse('self' in kwargs)
def test_sample_filter_meta(self): q = [ api.Query(field='metadata.size', op='eq', value='20'), api.Query(field='resource_metadata.id', op='eq', value='meta_id') ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(1, len(kwargs)) self.assertEqual(2, len(kwargs['metaquery'])) self.assertEqual(20, kwargs['metaquery']['metadata.size']) self.assertEqual('meta_id', kwargs['metaquery']['metadata.id'])
def test_sample_filter_meta(self): q = [ Query(field='metadata.size', op='eq', value='20'), Query(field='resource_metadata.id', op='eq', value='meta_id') ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(len(kwargs), 1) self.assertEqual(len(kwargs['metaquery']), 2) self.assertEqual(kwargs['metaquery']['metadata.size'], 20) self.assertEqual(kwargs['metaquery']['metadata.id'], 'meta_id')
def test_sample_filter_meta(self): q = [ Query(field="metadata.size", op="eq", value="20"), Query(field="resource_metadata.id", op="eq", value="meta_id"), ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(len(kwargs), 1) self.assertEqual(len(kwargs["metaquery"]), 2) self.assertEqual(kwargs["metaquery"]["metadata.size"], 20) self.assertEqual(kwargs["metaquery"]["metadata.id"], "meta_id")
def test_sample_filter_translation(self): queries = [ api.Query(field=f, op='eq', value='fake_%s' % f, type='string') for f in ['user_id', 'project_id', 'resource_id'] ] with mock.patch('pecan.request') as request: request.headers.return_value = {'X-ProjectId': 'foobar'} kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__) for o in ['user', 'project', 'resource']: self.assertEqual('fake_%s_id' % o, kwargs.get(o))
def test_sample_filter_translation(self): queries = [Query(field=f, op='eq', value='fake_%s' % f, type='string') for f in ['user_id', 'project_id', 'resource_id']] kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__, headers={'X-ProjectId': 'foobar'}) for o in ['user', 'project', 'resource']: self.assertEqual(kwargs.get(o), 'fake_%s_id' % o)
def test_sample_filter_meta(self): q = [Query(field='metadata.size', op='eq', value='20'), Query(field='resource_metadata.id', op='eq', value='meta_id')] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(len(kwargs), 1) self.assertEqual(len(kwargs['metaquery']), 2) self.assertEqual(kwargs['metaquery']['metadata.size'], 20) self.assertEqual(kwargs['metaquery']['metadata.id'], 'meta_id')
def test_sample_filter_meta(self): q = [api.Query(field='metadata.size', op='eq', value='20'), api.Query(field='resource_metadata.id', op='eq', value='meta_id')] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(1, len(kwargs)) self.assertEqual(2, len(kwargs['metaquery'])) self.assertEqual(20, kwargs['metaquery']['metadata.size']) self.assertEqual('meta_id', kwargs['metaquery']['metadata.id'])
def test_sample_filter_timestamp(self): ts_start = timeutils.utcnow() ts_end = ts_start + datetime.timedelta(minutes=5) q = [ api.Query(field='timestamp', op='lt', value=str(ts_end)), api.Query(field='timestamp', op='gt', value=str(ts_start)) ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(4, len(kwargs)) self.assertTimestampEqual(kwargs['start'], ts_start) self.assertTimestampEqual(kwargs['end'], ts_end) self.assertEqual('gt', kwargs['start_timestamp_op']) self.assertEqual('lt', kwargs['end_timestamp_op'])
def test_sample_filter_timestamp(self): ts_start = timeutils.utcnow() ts_end = ts_start + datetime.timedelta(minutes=5) q = [ Query(field="timestamp", op="lt", value=str(ts_end)), Query(field="timestamp", op="gt", value=str(ts_start)), ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(len(kwargs), 4) self.assertEqual(kwargs["start"], ts_start) self.assertEqual(kwargs["end"], ts_end) self.assertEqual(kwargs["start_timestamp_op"], "gt") self.assertEqual(kwargs["end_timestamp_op"], "lt")
def test_sample_filter_translation(self): queries = [api.Query(field=f, op='eq', value='fake_%s' % f, type='string') for f in ['user_id', 'project_id', 'resource_id']] with mock.patch('pecan.request') as request: request.headers.return_value = {'X-ProjectId': 'foobar'} kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__) for o in ['user', 'project', 'resource']: self.assertEqual('fake_%s_id' % o, kwargs.get(o))
def test_sample_filter_multi(self): q = [ api.Query(field='user_id', op='eq', value='uid'), api.Query(field='project_id', op='eq', value='pid'), api.Query(field='resource_id', op='eq', value='rid'), api.Query(field='source', op='eq', value='source_name'), api.Query(field='meter', op='eq', value='meter_name') ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(5, len(kwargs)) self.assertEqual('uid', kwargs['user']) self.assertEqual('pid', kwargs['project']) self.assertEqual('rid', kwargs['resource']) self.assertEqual('source_name', kwargs['source']) self.assertEqual('meter_name', kwargs['meter'])
def test_sample_filter_multi(self): q = [ Query(field="user_id", op="eq", value="uid"), Query(field="project_id", op="eq", value="pid"), Query(field="resource_id", op="eq", value="rid"), Query(field="source", op="eq", value="source_name"), Query(field="meter", op="eq", value="meter_name"), ] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(len(kwargs), 5) self.assertEqual(kwargs["user"], "uid") self.assertEqual(kwargs["project"], "pid") self.assertEqual(kwargs["resource"], "rid") self.assertEqual(kwargs["source"], "source_name") self.assertEqual(kwargs["meter"], "meter_name")
def test_sample_filter_timestamp(self): ts_start = timeutils.utcnow() ts_end = ts_start + datetime.timedelta(minutes=5) q = [api.Query(field='timestamp', op='lt', value=str(ts_end)), api.Query(field='timestamp', op='gt', value=str(ts_start))] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(4, len(kwargs)) self.assertTimestampEqual(kwargs['start'], ts_start) self.assertTimestampEqual(kwargs['end'], ts_end) self.assertEqual('gt', kwargs['start_timestamp_op']) self.assertEqual('lt', kwargs['end_timestamp_op'])
def test_sample_filter_multi(self): q = [api.Query(field='user_id', op='eq', value='uid'), api.Query(field='project_id', op='eq', value='pid'), api.Query(field='resource_id', op='eq', value='rid'), api.Query(field='source', op='eq', value='source_name'), api.Query(field='meter', op='eq', value='meter_name')] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertEqual(5, len(kwargs)) self.assertEqual('uid', kwargs['user']) self.assertEqual('pid', kwargs['project']) self.assertEqual('rid', kwargs['resource']) self.assertEqual('source_name', kwargs['source']) self.assertEqual('meter_name', kwargs['meter'])
def test_sample_filter_single(self): q = [Query(field="user_id", op="eq", value="uid")] kwargs = api._query_to_kwargs(q, storage.SampleFilter.__init__) self.assertIn("user", kwargs) self.assertEqual(len(kwargs), 1) self.assertEqual(kwargs["user"], "uid")
def test_sample_filter_self_always_excluded(self): queries = [Query(field="user_id", op="eq", value="20")] kwargs = api._query_to_kwargs(queries, storage.SampleFilter.__init__, headers={"X-ProjectId": "foobar"}) self.assertFalse("self" in kwargs)