update-test-assertions.py 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from pathlib import Path
  2. p = Path(__file__).parent / 'pipe-network-service/zksy-admin/src/test/java/com/zksy/web/controller/cockpit/CockpitMonitoringDistributionControllerTest.java'
  3. s = p.read_text(encoding='utf-8')
  4. def replace(old, new):
  5. global s
  6. assert old in s, old
  7. s = s.replace(old, new)
  8. replace('distributionExposesEnvelopeSixStateDistributionDistrictIndustryTypeAndMapFilter', 'distributionExposesEnvelopeGlobalEightBucketsAndRetainsNonRenderableObjects')
  9. replace('value(8)', 'value(12)')
  10. replace('"$.data.monitoringPoints", hasSize(5)', '"$.data.monitoringPoints", hasSize(7)')
  11. replace('"$.data.unassociatedEquipment", hasSize(3)', '"$.data.unassociatedEquipment", hasSize(5)')
  12. replace('"$.data.pointStatusDistribution", hasSize(6)', '"$.data.pointStatusDistribution", hasSize(8)')
  13. replace('monitoringPoints[3]', 'monitoringPoints[5]')
  14. replace('monitoringPoints[4]', 'monitoringPoints[6]')
  15. replace('"$.data.pointStatusDistribution[1].count").value(2)', '"$.data.pointStatusDistribution[1].count").value(1)')
  16. replace('"$.data.pointStatusDistribution[3].count").value(1)', '"$.data.pointStatusDistribution[3].count").value(2)')
  17. replace('"$.data.pointStatusDistribution[4].count").value(2)', '"$.data.pointStatusDistribution[4].count").value(1)')
  18. replace('"$.data.districtDistribution[0].pointCount").value(2)', '"$.data.districtDistribution[0].pointCount").value(4)')
  19. replace('"$.data.districtDistribution[0].deviceCount").value(4)', '"$.data.districtDistribution[0].deviceCount").value(8)')
  20. replace('"$.data.industryDistribution", hasSize(3)', '"$.data.industryDistribution", hasSize(4)')
  21. replace('"$.data.industryDistribution[0].deviceCount").value(4)', '"$.data.industryDistribution[0].deviceCount").value(5)')
  22. replace('"$.data.deviceTypeDistribution", hasSize(3)', '"$.data.deviceTypeDistribution", hasSize(6)')
  23. replace('"$.data.deviceTypeDistribution[0].deviceCount").value(4)', '"$.data.deviceTypeDistribution[0].deviceCount").value(5)')
  24. replace('"$.data.mapFilter.pointCodes", hasSize(5)', '"$.data.mapFilter.pointCodes", hasSize(7)')
  25. replace('"$.data.mapFilter.deviceCodes", hasSize(8)', '"$.data.mapFilter.deviceCodes", hasSize(12)')
  26. for key in ('unknownTypeCount', 'typeKindMismatchCount', 'nonFormalIndustryCount'):
  27. replace(f'"$.data.excluded.{key}").value(1)', f'"$.data.excluded.{key}").value(0)')
  28. replace('"$.data.pointStatusDistribution[0].count").value(0)', '"$.data.pointStatusDistribution[0].count").value(1)')
  29. replace('"$.data.pointStatusDistribution[4].count").value(0)', '"$.data.pointStatusDistribution[4].count").value(1)')
  30. replace('"NO_RESOLVED_DEVICES"', '"NO_OBJECTS"')
  31. replace('pointStatus must be ALARM, WARNING, WORK_ORDER, NORMAL, OFFLINE or EMPTY', 'pointStatus must be ALARM, WARNING, WORK_ORDER, NORMAL, OFFLINE, EMPTY, UNKNOWN or UNASSOCIATED')
  32. # Narrowed facet result sizes changed because coordinate validation no longer drops devices.
  33. for name in ('industryFilterNarrowsDistributionAndMapFilter', 'deviceTypeFilterNarrowsDistribution'):
  34. start = s.index(' void ' + name)
  35. end = s.index(' @Test', start)
  36. block = s[start:end].replace('pagination.total").value(3)', 'pagination.total").value(4)').replace('unassociatedEquipment", hasSize(1)', 'unassociatedEquipment", hasSize(2)')
  37. s = s[:start] + block + s[end:]
  38. # Cross-endpoint global distribution counts only points in six-state buckets.
  39. start = s.index(' void webSocketDeltaRecomputesStatusCounts')
  40. s = s[:start] + s[start:].replace('assertEquals(2, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(1, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))').replace('assertEquals(1, statusCount(initial, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(2, statusCount(initial, CockpitMonitoringPointStatus.NORMAL))').replace('assertEquals(1, statusCount(applied, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(0, statusCount(applied, CockpitMonitoringPointStatus.OFFLINE))').replace('assertEquals(2, statusCount(applied, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(3, statusCount(applied, CockpitMonitoringPointStatus.NORMAL))').replace('assertEquals(1, statusCount(ignoredOld, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(0, statusCount(ignoredOld, CockpitMonitoringPointStatus.OFFLINE))').replace('assertEquals(2, statusCount(ignoredOld, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(3, statusCount(ignoredOld, CockpitMonitoringPointStatus.NORMAL))').replace('assertEquals(1, statusCount(ignoredUnknown, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(0, statusCount(ignoredUnknown, CockpitMonitoringPointStatus.OFFLINE))').replace('assertEquals(2, statusCount(ignoredUnknown, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(3, statusCount(ignoredUnknown, CockpitMonitoringPointStatus.NORMAL))')
  41. p.write_text(s, encoding='utf-8', newline='\n')
  42. print('Updated existing distribution assertions to global counting contract.')