merge-tests.py 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from pathlib import Path
  2. root = Path(__file__).parent
  3. rel = Path('pipe-network-service/zksy-admin/src/test/java/com/zksy/web/controller/cockpit/CockpitMonitoringDistributionControllerTest.java')
  4. s = (Path('E:/pipe-ner-server') / rel).read_text(encoding='utf-8')
  5. s = s.replace('distributionExposesEnvelopeSixStateDistributionDistrictIndustryTypeAndMapFilter', 'distributionExposesEnvelopeGlobalEightStateDistributionAndMapFilter')
  6. s = s.replace('pointStatusDistribution", hasSize(6)', 'pointStatusDistribution", hasSize(8)')
  7. s = s.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')
  8. s = s.replace('pointStatusDistribution[0].count").value(0)', 'pointStatusDistribution[0].count").value(1)')
  9. s = s.replace('pointStatusDistribution[1].count").value(2)', 'pointStatusDistribution[1].count").value(1)')
  10. s = s.replace('pointStatusDistribution[4].count").value(2)', 'pointStatusDistribution[4].count").value(1)')
  11. s = s.replace('pointStatusDistribution[4].count").value(0)', 'pointStatusDistribution[4].count").value(1)')
  12. s = s.replace('assertEquals(2, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))', 'assertEquals(1, statusCount(initial, CockpitMonitoringPointStatus.OFFLINE))')
  13. for target in ('applied', 'ignoredOld', 'ignoredUnknown'):
  14. s = s.replace(f'assertEquals(1, statusCount({target}, CockpitMonitoringPointStatus.OFFLINE))', f'assertEquals(0, statusCount({target}, CockpitMonitoringPointStatus.OFFLINE))')
  15. s = s.replace('assertEquals(1, statusCount(all, CockpitMonitoringPointStatus.NORMAL))', 'assertEquals(0, statusCount(all, CockpitMonitoringPointStatus.NORMAL))')
  16. (root / rel).write_text(s, encoding='utf-8', newline='\n')
  17. # Add publication and explicit status-7 regression assertions to the actual fact resolver seam.
  18. rel = Path('pipe-network-service/zksy-admin/src/test/java/com/zksy/web/controller/cockpit/BusinessCockpitDeviceFactResolverTest.java')
  19. s = (Path('E:/pipe-ner-server') / rel).read_text(encoding='utf-8')
  20. s = s.replace('import static org.junit.jupiter.api.Assertions.assertFalse;', 'import static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertNull;')
  21. anchor = ' // ---- fixtures ----'
  22. addition = ''' @Test
  23. void publishedOfflineAndMissingStatusAreDistinctAndDoNotDependOnTimestamp() {
  24. EquipmentStatus offline = status(1, 0, 0);
  25. offline.setStatusUpdateTime(null);
  26. when(equipmentStatusService.getByDeviceCode("DEV-PUBLISHED")).thenReturn(offline);
  27. assertEquals("OFFLINE", resolver.resolve(device("DEV-PUBLISHED"), null).getPublishedDeviceStatus());
  28. assertNull(resolver.resolve(device("DEV-MISSING"), null).getPublishedDeviceStatus());
  29. }
  30. @Test
  31. void cancelledStatusSevenNeverPublishesWorkOrderState() {
  32. when(equipmentStatusService.getByDeviceCode("DEV-CANCELLED")).thenReturn(status(1, 0, 1));
  33. when(workOrderService.list(any(Wrapper.class))).thenReturn(Collections.singletonList(order(7)));
  34. CockpitMonitoringPointDeviceSnapshot fact = resolver.resolve(device("DEV-CANCELLED"), null);
  35. assertFalse(fact.isWorkOrderInProgress());
  36. assertEquals("NORMAL", fact.getPublishedDeviceStatus());
  37. assertEquals(CockpitMonitoringPointStatus.NORMAL,
  38. CockpitMonitoringPointStatusResolver.resolve(Collections.singletonList(fact)));
  39. }
  40. '''
  41. assert anchor in s
  42. s = s.replace(anchor, addition + anchor)
  43. (root / rel).write_text(s, encoding='utf-8', newline='\n')
  44. print('Preserved concurrent distribution tests and added publication/status-7 regressions.')