Esempio n. 1
0
    def test_das_aggregators(self):
        """test das aggregator functions"""
        rows = []
        data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 1}, {"name": "b", "size": 10}]}}
        data.update({"_id": 1})
        rows.append(data)
        data = {"block": {"name": "AAA", "replica": [{"name": "a", "size": 2}, {"name": "b", "size": 20}]}}
        data.update({"_id": 2})
        rows.append(data)

        expect = {"value": 33}
        result = das_sum("block.replica.size", rows)
        self.assertEqual(expect, result)

        expect = {"value": 4}
        result = das_count("block.replica.size", rows)
        self.assertEqual(expect, result)

        expect = {"value": 1, "_id": 1}
        result = das_min("block.replica.size", rows)
        self.assertEqual(expect, result)

        expect = {"value": 20, "_id": 2}
        result = das_max("block.replica.size", rows)
        self.assertEqual(expect, result)

        expect = {"value": (1 + 10 + 2 + 20) / 4.0}
        result = das_avg("block.replica.size", rows)
        self.assertEqual(expect, result)

        expect = {"value": (10 + 2) / 2}
        result = das_median("block.replica.size", rows)
        self.assertEqual(expect, result)
Esempio n. 2
0
    def test_expand_lumis(self):
        "Test expand_lumis function"
        rows   = [{'lumi':[{'number': [[1,2], [5,7]]}]}]
        expect = [{'lumi':{'number': 1}},
                  {'lumi':{'number': 2}},
                  {'lumi':{'number': 5}},
                  {'lumi':{'number': 6}},
                  {'lumi':{'number': 7}}]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        rows   = [{'lumi':[{'number': [[1,2]]}]}]
        expect = [{'lumi':{'number': 1}},
                  {'lumi':{'number': 2}}]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        rows   = [{'lumi':[{'number': [[1,2]]}], 'run':{'run_number':1}},
                  {'lumi':[{'number': [[5,7]]}], 'run':{'run_number':2}}]
        expect = [{'lumi':{'number': 1}, 'run':{'run_number':1}},
                  {'lumi':{'number': 2}, 'run':{'run_number':1}},
                  {'lumi':{'number': 5}, 'run':{'run_number':2}},
                  {'lumi':{'number': 6}, 'run':{'run_number':2}},
                  {'lumi':{'number': 7}, 'run':{'run_number':2}}]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        expect = {'value': 5}
        result = das_count('lumi.number', rows)
        self.assertEqual(expect, result)
Esempio n. 3
0
    def test_das_aggregators(self):
        """test das aggregator functions"""
        rows = []
        data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':1}, {'name':'b', 'size':10}] }}
        data.update({'_id' : 1})
        rows.append(data)
        data = {'block': {'name':'AAA', 'replica': [{'name':'a', 'size':2}, {'name':'b', 'size':20}] }}
        data.update({'_id' : 2})
        rows.append(data)

        expect = {'value': 33}
        result = das_sum('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 4}
        result = das_count('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 1, '_id': 1}
        result = das_min('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 20, '_id': 2}
        result = das_max('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': (1+10+2+20)/4.}
        result = das_avg('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': (10+2)/2}
        result = das_median('block.replica.size', rows)
        self.assertEqual(expect, result)
Esempio n. 4
0
    def test_das_aggregators(self):
        """test das aggregator functions"""
        rows = []
        data = {
            'block': {
                'name': 'AAA',
                'replica': [{
                    'name': 'a',
                    'size': 1
                }, {
                    'name': 'b',
                    'size': 10
                }]
            }
        }
        data.update({'_id': 1})
        rows.append(data)
        data = {
            'block': {
                'name': 'AAA',
                'replica': [{
                    'name': 'a',
                    'size': 2
                }, {
                    'name': 'b',
                    'size': 20
                }]
            }
        }
        data.update({'_id': 2})
        rows.append(data)

        expect = {'value': 33}
        result = das_sum('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 4}
        result = das_count('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 1, '_id': 1}
        result = das_min('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': 20, '_id': 2}
        result = das_max('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': (1 + 10 + 2 + 20) / 4.}
        result = das_avg('block.replica.size', rows)
        self.assertEqual(expect, result)

        expect = {'value': (10 + 2) / 2}
        result = das_median('block.replica.size', rows)
        self.assertEqual(expect, result)
Esempio n. 5
0
    def test_expand_lumis(self):
        "Test expand_lumis function"
        rows = [{'lumi': [{'number': [[1, 2], [5, 7]]}]}]
        expect = [{
            'lumi': {
                'number': 1
            }
        }, {
            'lumi': {
                'number': 2
            }
        }, {
            'lumi': {
                'number': 5
            }
        }, {
            'lumi': {
                'number': 6
            }
        }, {
            'lumi': {
                'number': 7
            }
        }]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        rows = [{'lumi': [{'number': [[1, 2]]}]}]
        expect = [{'lumi': {'number': 1}}, {'lumi': {'number': 2}}]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        rows = [{
            'lumi': [{
                'number': [[1, 2]]
            }],
            'run': {
                'run_number': 1
            }
        }, {
            'lumi': [{
                'number': [[5, 7]]
            }],
            'run': {
                'run_number': 2
            }
        }]
        expect = [{
            'lumi': {
                'number': 1
            },
            'run': {
                'run_number': 1
            }
        }, {
            'lumi': {
                'number': 2
            },
            'run': {
                'run_number': 1
            }
        }, {
            'lumi': {
                'number': 5
            },
            'run': {
                'run_number': 2
            }
        }, {
            'lumi': {
                'number': 6
            },
            'run': {
                'run_number': 2
            }
        }, {
            'lumi': {
                'number': 7
            },
            'run': {
                'run_number': 2
            }
        }]
        result = [r for r in expand_lumis(rows)]
        self.assertEqual(expect, result)

        expect = {'value': 5}
        result = das_count('lumi.number', rows)
        self.assertEqual(expect, result)