Skip to content

TT-17841: improved tests for persistent storage - #158

Open
sredxny wants to merge 10 commits into
mainfrom
improve-tests-fix-postgres-transactions
Open

TT-17841: improved tests for persistent storage#158
sredxny wants to merge 10 commits into
mainfrom
improve-tests-fix-postgres-transactions

fix(postgres): reject non-serializable upsert lock-key values

da1a393
Select commit
Loading
Failed to load commit list.
probelabs / Visor: quality succeeded Aug 10, 2026 in 1m 16s

✅ Check Passed (Warnings Found)

quality check passed. Found 1 warning, but fail_if condition was not met.

Details

📊 Summary

  • Total Issues: 1
  • Warning Issues: 1

🔍 Failure Condition Results

Passed Conditions

  • global_fail_if: Condition passed

Issues by Category

Logic (1)

  • ⚠️ persistent/internal/testutil/suite.go:147 - The new conformance test suite does not validate the behavior of the filters parameter for the Update and Delete methods. The tests for Delete and Update operations (e.g., DeleteByID, UpdateExistingObject) only cover filtering by the object's ID. The PersistentStorage interface contract includes an explicit filters ...model.DBM parameter for these methods, and its functionality should be verified across all drivers to prevent behavioral drift.

Powered by Visor from Probelabs

💡 TIP: You can chat with Visor using /visor ask <your question>

Annotations

Check warning on line 190 in persistent/internal/testutil/suite.go

See this annotation in the file changed.

@probelabs probelabs / Visor: quality

logic Issue

The new conformance test suite does not validate the behavior of the `filters` parameter for the `Update` and `Delete` methods. The tests for `Delete` and `Update` operations (e.g., `DeleteByID`, `UpdateExistingObject`) only cover filtering by the object's ID. The `PersistentStorage` interface contract includes an explicit `filters ...model.DBM` parameter for these methods, and its functionality should be verified across all drivers to prevent behavioral drift.
Raw output
Add new test cases to `RunSuite` that call `Update` and `Delete` with explicit filter arguments. For example, create multiple objects and then use a filter to update or delete a specific one based on a field other than its ID, and verify the outcome.