Class FileKeyValueStoreTests
Behavioral tests for FileKeyValueStore: round-trip get/set, missing-key
semantics, key sanitization (deterministic, injective, root-escape-proof), and the
never-throw health check contract.
Inheritance
FileKeyValueStoreTests
Assembly: Tests.dll
Syntax
public class FileKeyValueStoreTests
Constructors
FileKeyValueStoreTests()
Declaration
public FileKeyValueStoreTests()
Methods
Ctor_NullBlobStore_ThrowsArgumentNullException()
Declaration
public void Ctor_NullBlobStore_ThrowsArgumentNullException()
Ctor_WhitespaceNamespace_DefaultsToFileKeyValue()
Declaration
public void Ctor_WhitespaceNamespace_DefaultsToFileKeyValue()
Ctor_WhitespaceRootDirectory_ThrowsArgumentException()
Declaration
public void Ctor_WhitespaceRootDirectory_ThrowsArgumentException()
DeleteAsync_RemovesStoredValue()
Declaration
public Task DeleteAsync_RemovesStoredValue()
Returns
ExistsAsync_AfterSet_ReturnsTrue()
Declaration
public Task ExistsAsync_AfterSet_ReturnsTrue()
Returns
ExistsAsync_MissingKey_ReturnsFalse()
Declaration
public Task ExistsAsync_MissingKey_ReturnsFalse()
Returns
GetAsync_EmptyKey_ThrowsArgumentException()
Declaration
public Task GetAsync_EmptyKey_ThrowsArgumentException()
Returns
GetAsync_ExistingCorruptEntry_PropagatesReadFailure()
Declaration
public Task GetAsync_ExistingCorruptEntry_PropagatesReadFailure()
Returns
GetAsync_MissingKey_ReturnsNull()
Declaration
public Task GetAsync_MissingKey_ReturnsNull()
Returns
HealthCheckAsync_HealthyBlobStore_ReturnsTrue()
Declaration
public Task HealthCheckAsync_HealthyBlobStore_ReturnsTrue()
Returns
HealthCheckAsync_ThrowingBlobStore_ReturnsFalseInsteadOfThrowing()
Declaration
public Task HealthCheckAsync_ThrowingBlobStore_ReturnsFalseInsteadOfThrowing()
Returns
SanitizeKey_TwoKeysThatWouldCollideUnderNaiveStripping_MapToDifferentPaths()
Declaration
public Task SanitizeKey_TwoKeysThatWouldCollideUnderNaiveStripping_MapToDifferentPaths()
Returns
Declaration
public Task SanitizedPath_DotIsEncoded_SoTraversalSegmentCannotForm()
Returns
SanitizedPath_KeysDifferingOnlyInCase_MapToPathsDistinctEvenCaseInsensitively()
Declaration
public Task SanitizedPath_KeysDifferingOnlyInCase_MapToPathsDistinctEvenCaseInsensitively()
Returns
SanitizedPath_PercentEncodesUnsafeCharactersAndAppendsSegmentHash()
Declaration
public Task SanitizedPath_PercentEncodesUnsafeCharactersAndAppendsSegmentHash()
Returns
SanitizedPath_ReservedDeviceNameKey_DoesNotProduceReservedBasename()
Declaration
public Task SanitizedPath_ReservedDeviceNameKey_DoesNotProduceReservedBasename()
Returns
SanitizedPath_SameKeyAcrossStoreInstances_MapsToSamePath()
Declaration
public Task SanitizedPath_SameKeyAcrossStoreInstances_MapsToSamePath()
Returns
SanitizedPath_SlashBecomesDirectorySeparator_EachSegmentHashedIndependently()
Declaration
public Task SanitizedPath_SlashBecomesDirectorySeparator_EachSegmentHashedIndependently()
Returns
SanitizedPath_VeryLongKey_ProducesBoundedFilenameAndRoundTrips()
Declaration
public Task SanitizedPath_VeryLongKey_ProducesBoundedFilenameAndRoundTrips()
Returns
SetAsync_EmptyKey_ThrowsArgumentException()
Declaration
public Task SetAsync_EmptyKey_ThrowsArgumentException()
Returns
SetAsync_ExistingKey_OverwritesPreviousValue()
Declaration
public Task SetAsync_ExistingKey_OverwritesPreviousValue()
Returns
SetAsync_KeyWithSlash_IsRecoverableViaGetAsync()
Declaration
public Task SetAsync_KeyWithSlash_IsRecoverableViaGetAsync()
Returns
SetAsync_KeyWithUnsafeCharacters_IsRecoverableViaGetAsync()
Declaration
public Task SetAsync_KeyWithUnsafeCharacters_IsRecoverableViaGetAsync()
Returns
SetAsync_NullKey_ThrowsArgumentException()
Declaration
public Task SetAsync_NullKey_ThrowsArgumentException()
Returns
SetAsync_ThenGetAsync_RoundTripsExactBytes()
Declaration
public Task SetAsync_ThenGetAsync_RoundTripsExactBytes()
Returns