Example #1
0
    def test_get(self):
        search = Search(config=self.config)

        # Test 1
        params = {}
        res = search.get(**params)
        self.assertEqual(res['total'], 5)

        # Test 2
        params = {
            'products': 'WaterWolf'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 3)

        # Test 3
        params = {
            'products': 'WaterWolf',
            'versions': 'WaterWolf:2.0'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        # Test 4
        params = {
            'products': 'WaterWolf',
            'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'],
            'os': 'win',
            'build_ids': '20001212010203',
            'reasons': 'STACK_OVERFLOW'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 2)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            },
            {
                'signature': 'sig2',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            }],
            'total': 2
        }
        self.assertEqual(res, res_expected)

        # Test 5
        params = {
            'terms': 'sig1'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 4,
                'is_windows': 3,
                'is_linux': 1,
                'is_mac': 0,
                'numhang': 2,
                'numplugin': 1,
                'numcontent': 0
            }],
            'total': 1
        }
        self.assertEqual(res, res_expected)

        # with parameters renaming
        params = {
            'for': 'sig1'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)
        self.assertEqual(res, res_expected)

        # Test 6: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'filename',
            'plugin_terms': 'NPSWF',
            'plugin_search_mode': 'contains',
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        hits = res['hits'][0]
        self.assertEqual(hits['count'], 1)
        self.assertEqual(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll')

        # Test 7: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'name',
            'plugin_terms': 'Flash',
            'plugin_search_mode': 'starts_with',
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        hits = res['hits'][0]
        self.assertEqual(hits['count'], 1)
        self.assertEqual(hits['pluginname'], 'Flash')

        # Test 8: parameters renaming
        params = {
            'to_date': self.twodaysago
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 2)

        res_expected = {
            'hits': [{
                'signature': 'js::functions::call::hello_world',
                'count': 1,
                'is_windows': 0,
                'is_linux': 1,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            },{
                'signature': 'sig1',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 1,
                'numplugin': 0,
                'numcontent': 0
            }],
            'total': 2
        }
        self.assertEqual(res, res_expected)

        # with parameter renaming
        params = {
            'to': self.twodaysago
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 2)
        self.assertEqual(res, res_expected)

        # Test 9: release channels
        params = {
            'release_channels': ['Nightly']
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 2)

        hits = res['hits'][0]
        self.assertEqual(hits['signature'], 'js::functions::call::hello_world')
        hits = res['hits'][1]
        self.assertEqual(hits['signature'], 'sig2')

        # verify that several values work, verify that it's case insensitive
        params = {
            'release_channels': ['NiGhTlY', 'release']
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 5)
Example #2
0
    def test_get(self):
        search = Search(config=self.config)

        # Test 1
        params = {}
        res = search.get(**params)
        eq_(res['total'], 5)

        # Test 2
        params = {
            'products': 'WaterWolf'
        }
        res = search.get(**params)
        eq_(res['total'], 3)

        # Test 3
        params = {
            'products': 'WaterWolf',
            'versions': 'WaterWolf:2.0'
        }
        res = search.get(**params)
        eq_(res['total'], 1)

        # Test 4
        params = {
            'products': 'WaterWolf',
            'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'],
            'os': 'win',
            'build_ids': '20001212010203',
            'reasons': 'STACK_OVERFLOW'
        }
        res = search.get(**params)
        eq_(res['total'], 2)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            },
            {
                'signature': 'sig2',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            }],
            'total': 2
        }
        eq_(res, res_expected)

        # Test 5
        params = {
            'terms': 'sig1'
        }
        res = search.get(**params)
        eq_(res['total'], 1)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 4,
                'is_windows': 3,
                'is_linux': 1,
                'is_mac': 0,
                'numhang': 2,
                'numplugin': 1,
                'numcontent': 0
            }],
            'total': 1
        }
        eq_(res, res_expected)

        # with parameters renaming
        params = {
            'for': 'sig1'
        }
        res = search.get(**params)
        eq_(res['total'], 1)
        eq_(res, res_expected)

        # Test 6: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'filename',
            'plugin_terms': 'NPSWF',
            'plugin_search_mode': 'contains',
        }
        res = search.get(**params)
        eq_(res['total'], 1)

        hits = res['hits'][0]
        eq_(hits['count'], 1)
        eq_(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll')

        # Test 7: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'name',
            'plugin_terms': 'Flash',
            'plugin_search_mode': 'starts_with',
        }
        res = search.get(**params)
        eq_(res['total'], 1)

        hits = res['hits'][0]
        eq_(hits['count'], 1)
        eq_(hits['pluginname'], 'Flash')

        # Test 8: parameters renaming
        params = {
            'to_date': self.twodaysago
        }
        res = search.get(**params)
        eq_(res['total'], 2)

        res_expected = {
            'hits': [{
                'signature': 'js::functions::call::hello_world',
                'count': 1,
                'is_windows': 0,
                'is_linux': 1,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            },{
                'signature': 'sig1',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 1,
                'numplugin': 0,
                'numcontent': 0
            }],
            'total': 2
        }
        eq_(res, res_expected)

        # with parameter renaming
        params = {
            'to': self.twodaysago
        }
        res = search.get(**params)
        eq_(res['total'], 2)
        eq_(res, res_expected)

        # Test 9: release channels
        params = {
            'release_channels': ['Nightly']
        }
        res = search.get(**params)
        eq_(res['total'], 2)

        hits = res['hits'][0]
        eq_(hits['signature'], 'js::functions::call::hello_world')
        hits = res['hits'][1]
        eq_(hits['signature'], 'sig2')

        # verify that several values work, verify that it's case insensitive
        params = {
            'release_channels': ['NiGhTlY', 'release']
        }
        res = search.get(**params)
        eq_(res['total'], 5)
Example #3
0
    def test_get(self):
        search = Search(config=self.config)

        # Test 1
        params = {}
        res = search.get(**params)
        self.assertEqual(res['total'], 5)

        # Test 2
        params = {
            'products': 'WaterWolf'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 3)

        # Test 3
        params = {
            'products': 'WaterWolf',
            'versions': 'WaterWolf:2.0'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        # Test 4
        params = {
            'products': 'WaterWolf',
            'versions': ['WaterWolf:1.0', 'WaterWolf:3.0'],
            'os': 'win',
            'build_ids': '20001212010203',
            'reasons': 'STACK_OVERFLOW'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 2)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            },
            {
                'signature': 'sig2',
                'count': 1,
                'is_windows': 1,
                'is_linux': 0,
                'is_mac': 0,
                'numhang': 0,
                'numplugin': 0,
                'numcontent': 0
            }],
            'total': 2
        }
        self.assertEqual(res, res_expected)

        # Test 5
        params = {
            'terms': 'sig1'
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        res_expected = {
            'hits': [{
                'signature': 'sig1',
                'count': 4,
                'is_windows': 3,
                'is_linux': 1,
                'is_mac': 0,
                'numhang': 2,
                'numplugin': 1,
                'numcontent': 0
            }],
            'total': 1
        }
        self.assertEqual(res, res_expected)

        # Test 6: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'filename',
            'plugin_terms': 'NPSWF',
            'plugin_search_mode': 'contains',
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        hits = res['hits'][0]
        self.assertEqual(hits['count'], 1)
        self.assertEqual(hits['pluginfilename'], 'NPSWF32_11_5_502_146.dll')

        # Test 7: plugins
        params = {
            'report_process': 'plugin',
            'plugin_in': 'name',
            'plugin_terms': 'Flash',
            'plugin_search_mode': 'starts_with',
        }
        res = search.get(**params)
        self.assertEqual(res['total'], 1)

        hits = res['hits'][0]
        self.assertEqual(hits['count'], 1)
        self.assertEqual(hits['pluginname'], 'Flash')