File indexing completed on 2026-08-12 09:36:16
0001 import json
0002
0003 from django.test import SimpleTestCase
0004
0005 from monitor_app.panda.queries import _error_distribution_views
0006
0007
0008 class PandaErrorDistributionTests(SimpleTestCase):
0009 def test_cross_site_checksum_pattern_preserves_correlations(self):
0010 views = _error_distribution_views([
0011 {
0012 'site': 'BNL_ePIC_GOOGLE',
0013 'taskid': 38511,
0014 'count': 5703,
0015 'representative_pandaid': 1669921,
0016 },
0017 {
0018 'site': 'BNL_OSG_EPIC_PROD_1',
0019 'taskid': 38512,
0020 'count': 2770,
0021 'representative_pandaid': 1690091,
0022 },
0023 {
0024 'site': 'UM_GREX_PanDA_1',
0025 'taskid': 38508,
0026 'count': 1779,
0027 'representative_pandaid': 1685001,
0028 },
0029 {
0030 'site': 'UM_GREX_PanDA_1',
0031 'taskid': 38509,
0032 'count': 1562,
0033 'representative_pandaid': 1685002,
0034 },
0035 ])
0036
0037 self.assertTrue(views['multi_site'])
0038 self.assertEqual(
0039 views['site_counts'],
0040 [
0041 {'site': 'BNL_ePIC_GOOGLE', 'count': 5703},
0042 {'site': 'UM_GREX_PanDA_1', 'count': 3341},
0043 {'site': 'BNL_OSG_EPIC_PROD_1', 'count': 2770},
0044 ],
0045 )
0046 self.assertEqual(
0047 views['task_counts'][0],
0048 {'taskid': 38511, 'count': 5703},
0049 )
0050 self.assertEqual(
0051 views['representative_pandaids'],
0052 [1669921, 1690091, 1685001, 1685002],
0053 )
0054
0055 def test_postgres_json_text_is_decoded_explicitly(self):
0056 views = _error_distribution_views(json.dumps([{
0057 'site': 'BNL_ePIC_GOOGLE',
0058 'taskid': 38511,
0059 'count': 5703,
0060 'representative_pandaid': 1669921,
0061 }]))
0062
0063 self.assertFalse(views['multi_site'])
0064 self.assertEqual(
0065 views['site_counts'],
0066 [{'site': 'BNL_ePIC_GOOGLE', 'count': 5703}],
0067 )