fix(client): accept evidenced rolled target color
This commit is contained in:
@@ -1730,6 +1730,30 @@ class SkuExitSpikeCapturerTests(unittest.TestCase):
|
||||
self.assertEqual(_actions(device, "click"), [])
|
||||
self.assertEqual(_actions(device, "swipe"), [])
|
||||
|
||||
def test_evidence_bound_rolled_target_color_variant_is_exactly_accepted(self) -> None:
|
||||
hierarchy = _M_FIXTURE.read_text(encoding="utf-8")
|
||||
old_bounds = "[372,1000][684,1024]"
|
||||
new_bounds = "[126,1000][438,1024]"
|
||||
self.assertEqual(hierarchy.count(old_bounds), 4)
|
||||
device = _ExitEvidenceDevice(hierarchy.replace(old_bounds, new_bounds))
|
||||
|
||||
with TemporaryDirectory() as temporary:
|
||||
target = Path(temporary) / "exit-evidence"
|
||||
result = self._capturer(_FakeAdb(), device).capture("device-1", target)
|
||||
manifest = json.loads(result.manifest_path.read_text(encoding="utf-8"))
|
||||
|
||||
self.assertEqual(manifest["back_attempts"], 1)
|
||||
self.assertEqual(manifest["post_exit_status"], "human_review_required")
|
||||
self.assertEqual(len(_actions(device, "pressKey")), 1)
|
||||
|
||||
unknown_device = _ExitEvidenceDevice(hierarchy.replace(old_bounds, "[127,1000][439,1024]"))
|
||||
with TemporaryDirectory() as temporary:
|
||||
target = Path(temporary) / "unknown"
|
||||
with self.assertRaises(SkuSelectionError):
|
||||
self._capturer(_FakeAdb(), unknown_device).capture("device-1", target)
|
||||
self.assertEqual(_actions(unknown_device, "pressKey"), [])
|
||||
self.assertFalse(target.exists())
|
||||
|
||||
def test_precondition_mismatch_or_drift_never_sends_back_or_leaves_artifacts(self) -> None:
|
||||
class WrongScreen(_ExitEvidenceDevice):
|
||||
def window_size(self) -> tuple[int, int]:
|
||||
|
||||
Reference in New Issue
Block a user