Namespace Serenity.StructuredPersistence.Tests.Infrastructure
Classes
EnsureSchemaOnFirstUseStructuredStoreTests
Unit tests for EnsureSchemaOnFirstUseStructuredStore against a recording fake:
the schema is ensured exactly once before the first operation (including under concurrency),
a FAILED ensure is retried on the next operation instead of being latched, every operation
forwards to the inner store, the positional window query forwards, and
HealthCheckAsync never triggers schema creation.
HttpStructuredStoreTests
HttpStructuredStore-specific tests: request URL shapes, non-2xx failures, the
idempotent-read retry-once policy, and timeout handling. Behavior shared with every other
IStructuredStore backend lives in
HttpStructuredStoreContractTests instead.
JsonStructuredRecordArraySerializerTests
Tests for JsonStructuredRecordArraySerializer's human-readable JSON round trip.
KeyValueStructuredStoreTests
KeyValueStructuredStore-specific hardening tests: corrupt-payload resilience,
the required-partition-filter contract, concurrent-write safety, and the never-throw failure
contract. Behavior shared with every other IStructuredStore backend lives in
KeyValueStructuredStoreContractTests instead.
StructuredIdentifierValidatorTests
Tests for StructuredIdentifierValidator — the shared safe-identifier check every relational IStructuredStore provider (MySQL, PostgreSQL, SQLite) delegates to before interpolating a caller-supplied field name into raw SQL.
StructuredQueryEngineTests
Tests for the pure in-memory StructuredQueryEngine — the single semantic reference every backend delegates to: filtering, multi-field directional sorting, distinct-collapsing (including group-key injection resistance), pagination, distinct counting, upsert-comparison strictness, and trim purity.
StructuredRecordArraySerializerTests
Tests for StructuredRecordArraySerializer's binary round trip and corruption handling.
StructuredValueTests
Tests for StructuredValue's kind-aware total order: per-kind comparison semantics, exact double equality, ordinal string comparison, Null ordering, the cross-kind rejection contract, and equality/hash consistency.
StructuredWireJsonTests
Tests for the hand-rolled JSON codec (Serenity.StructuredPersistence.Infrastructure.Http.Json.StructuredWireJson, JsonValue, JsonObjectWriter, JsonStringEscaper): record/query/trim/schema round trips, the quoted-int64/count encoding, and malformed-input error reporting.