verifaied 0.15.0.dev33__tar.gz → 0.16.0.dev35__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/PKG-INFO +1 -1
  2. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/pyproject.toml +1 -1
  3. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/client.py +9 -0
  4. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/testcmd.py +4 -0
  5. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_client.py +2 -0
  6. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_testcmd.py +4 -0
  7. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/uv.lock +1 -1
  8. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/.gitignore +0 -0
  9. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/LICENSE +0 -0
  10. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/README.md +0 -0
  11. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/__init__.py +0 -0
  12. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/__main__.py +0 -0
  13. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/analyzer.py +0 -0
  14. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/audit.py +0 -0
  15. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/cli.py +0 -0
  16. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/config.py +0 -0
  17. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/failure_text.py +0 -0
  18. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/instrument.py +0 -0
  19. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/prompts.py +0 -0
  20. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/record.py +0 -0
  21. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/recorder_driver.js +0 -0
  22. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/recorder_picker.js +0 -0
  23. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/repo_config.py +0 -0
  24. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/run_reporter.js +0 -0
  25. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/suite_report.py +0 -0
  26. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/uploader.py +0 -0
  27. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/src/verifaied/varcmd.py +0 -0
  28. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/__init__.py +0 -0
  29. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/conftest.py +0 -0
  30. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_audit.py +0 -0
  31. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_check.py +0 -0
  32. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_check_done.py +0 -0
  33. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_clear_manual.py +0 -0
  34. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_cli.py +0 -0
  35. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_config.py +0 -0
  36. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_instrument.py +0 -0
  37. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_prompt_parity.py +0 -0
  38. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_record.py +0 -0
  39. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_repo_config.py +0 -0
  40. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_suite_report.py +0 -0
  41. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_uploader.py +0 -0
  42. {verifaied-0.15.0.dev33 → verifaied-0.16.0.dev35}/tests/test_varcmd.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifaied
3
- Version: 0.15.0.dev33
3
+ Version: 0.16.0.dev35
4
4
  Summary: Find what's untested in your code — locally, no account required
5
5
  Project-URL: Homepage, https://pypi.org/project/verifaied/
6
6
  Author: Kyle Richards
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "verifaied"
3
- version = "0.15.0.dev33"
3
+ version = "0.16.0.dev35"
4
4
  description = "Find what's untested in your code — locally, no account required"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -429,6 +429,7 @@ def create_recorded_test(
429
429
  name: str,
430
430
  url: str | None = None,
431
431
  description: str | None = None,
432
+ branch: str | None = None,
432
433
  timeout: float = 30.0,
433
434
  ) -> dict[str, Any]:
434
435
  """Declare a test. Returns the created row, including its ``spec_path``.
@@ -437,6 +438,12 @@ def create_recorded_test(
437
438
  tests whose names differ only in punctuation would compete for one
438
439
  file, and quietly reusing the existing one would record over somebody
439
440
  else's flow.
441
+
442
+ ``branch`` is what this machine has checked out, which the service
443
+ cannot see and stamps on the row: until the spec is committed
444
+ anywhere, the branch it was made on is the only thing that says where
445
+ it belongs. Omitted from the body when there is none, so a request
446
+ from an older client is byte-identical to what it always sent.
440
447
  """
441
448
  request_url = f"{api_url.rstrip('/')}/repositories/{repo_id}/recorded-tests"
442
449
  body: dict[str, Any] = {"feature": feature, "name": name}
@@ -444,6 +451,8 @@ def create_recorded_test(
444
451
  body["url"] = url
445
452
  if description is not None:
446
453
  body["description"] = description
454
+ if branch is not None:
455
+ body["branch"] = branch
447
456
  try:
448
457
  response = httpx.post(
449
458
  request_url,
@@ -2544,6 +2544,10 @@ def resolve_or_create_test(
2544
2544
  name=name,
2545
2545
  url=url,
2546
2546
  description=description,
2547
+ # What is checked out here. The service has no way to see it, and
2548
+ # until the spec is committed the branch it was recorded on is
2549
+ # the only thing that says which branches the test belongs to.
2550
+ branch=branch,
2547
2551
  )
2548
2552
 
2549
2553
 
@@ -950,6 +950,7 @@ def test_create_recorded_test_posts_the_full_shape(httpx_mock: HTTPXMock):
950
950
  name="API tokens",
951
951
  url="http://localhost:3000",
952
952
  description="Create a token.",
953
+ branch="feature-a",
953
954
  )
954
955
  assert row["id"] == str(test_id)
955
956
  assert json.loads(httpx_mock.get_request().content) == {
@@ -957,6 +958,7 @@ def test_create_recorded_test_posts_the_full_shape(httpx_mock: HTTPXMock):
957
958
  "name": "API tokens",
958
959
  "url": "http://localhost:3000",
959
960
  "description": "Create a token.",
961
+ "branch": "feature-a",
960
962
  }
961
963
 
962
964
 
@@ -788,6 +788,10 @@ def test_resolve_or_create_test_creates_an_unknown_name():
788
788
  assert created.call_args.kwargs["feature"] == "Billing"
789
789
  assert created.call_args.kwargs["url"] == "http://localhost:3000/billing"
790
790
  assert created.call_args.kwargs["description"] == "Look at an invoice."
791
+ # What this machine has checked out. The service cannot see it, and
792
+ # until the spec is committed it is the only thing saying which
793
+ # branches the test belongs to.
794
+ assert created.call_args.kwargs["branch"] == "feature-a"
791
795
 
792
796
 
793
797
  def test_resolve_or_create_test_needs_somewhere_to_start_for_a_new_name():
@@ -442,7 +442,7 @@ wheels = [
442
442
 
443
443
  [[package]]
444
444
  name = "verifaied"
445
- version = "0.15.0"
445
+ version = "0.16.0"
446
446
  source = { editable = "." }
447
447
  dependencies = [
448
448
  { name = "httpx" },