// AUTO-GENERATED by gen_test_tables.py — include from ch05.typ #import "common.typ": pz-test-table #pz-test-table( [Реестр модульных unit-тестов], 4, table.header( [№], [Модуль], [Метод], [Проверяемое поведение], ), [1], [domain], [mapsFileNotFoundException], [исключение преобразуется в типизированную ошибку Wallenc], [2], [domain], [mapsGenericExceptionToUnknown], [исключение преобразуется в типизированную ошибку Wallenc], [3], [domain], [mapsIOExceptionToIoFailed], [исключение преобразуется в типизированную ошибку Wallenc], [4], [domain], [preservesWallencException], [сохранение уже типизированного WallencException], [5], [domain], [test bytes encryption with the same key], [симметрия шифрования и дешифрования при верном ключе], [6], [domain], [test bytes encryption with the wrong key], [дешифрование с неверным ключом завершается ошибкой], [7], [domain], [test correct key for StorageEncryptionInfo], [верный ключ проходит проверку checkKey], [8], [domain], [test incorrect key for StorageEncryptionInfo], [верный ключ проходит проверку checkKey], [9], [domain], [test stream encryption with the same key], [симметрия шифрования и дешифрования при верном ключе], [10], [domain], [test stream encryption with the wrong key], [дешифрование с неверным ключом завершается ошибкой], [11], [domain], [test string encryption with the same key], [симметрия шифрования и дешифрования при верном ключе], [12], [domain], [test string encryption with the wrong key], [дешифрование с неверным ключом завершается ошибкой], [13], [domain-vault], [diskInfoParsesResponse], [разбор ответа API diskInfo], [14], [domain-vault], [diskInfoThrowsAuthExceptionOn401], [AuthException при HTTP 401], [15], [domain-vault], [flushRestoresPendingOnWriteFailure], [откат буфера журнала при сбое записи], [16], [domain-vault], [listReturnsEmptyEmbeddedOn404], [пустой список при HTTP 404], [17], [domain-vault], [mapsFileNotFoundToStorageFileNotFound], [исключение преобразуется в типизированную ошибку Wallenc], [18], [domain-vault], [mapsHttpExceptionToNetworkHttpFailed], [исключение преобразуется в типизированную ошибку Wallenc], [19], [domain-vault], [mapsIllegalStateNotAFile], [исключение преобразуется в типизированную ошибку Wallenc], [20], [domain-vault], [mapsMissingOAuthTokenIoToTokenMissing], [исключение преобразуется в типизированную ошибку Wallenc], [21], [domain-vault], [mapsSocketTimeoutToOperationTimedOut], [исключение преобразуется в типизированную ошибку Wallenc], [22], [domain-vault], [mapsYandexDiskAuthToAuthFailed], [исключение преобразуется в типизированную ошибку Wallenc], [23], [task-runtime], [cancelAllMarksRunningTaskCancelled], [жизненный цикл фоновой задачи], [24], [task-runtime], [cancelMarksTaskCancelled], [жизненный цикл фоновой задачи], [25], [task-runtime], [enqueueCompletesTask], [жизненный цикл фоновой задачи], [26], [task-runtime], [failRecordsFailedState], [жизненный цикл фоновой задачи], [27], [task-runtime], [logAppendsLine], [log appends line], [28], [task-runtime], [progressUpdatesRunningState], [жизненный цикл фоновой задачи], [29], [ui], [clearContentProgress_mapsToStringRes], [маршрутизация, deep link или подписи UI], [30], [ui], [mapsFeatureStorageNotFound], [исключение преобразуется в типизированную ошибку Wallenc], [31], [ui], [mapsStorageIncorrectKey], [исключение преобразуется в типизированную ошибку Wallenc], [32], [ui], [mapsUnknown], [исключение преобразуется в типизированную ошибку Wallenc], [33], [ui], [matchesTasksAndSettingsHosts], [matches tasks and settings hosts], [34], [ui], [matchesWallencViewIntent], [маршрутизация, deep link или подписи UI], [35], [ui], [parsesStandardTotpUri], [корректность TOTP/OTP: parses standard totp uri], [36], [ui], [rejectsMissingSecret], [разбор и валидация входных данных], [37], [ui], [rejectsNonOtpauthScheme], [корректность TOTP/OTP: rejects non otpauth scheme], [38], [ui], [rejectsUnrelatedIntent], [разбор и валидация входных данных], [39], [ui], [startTestTaskEnqueuesWork], [постановка тестовой задачи в очередь orchestrator], [40], [ui], [storageHomeRouteCarriesVaultAndStorageIds], [маршрутизация, deep link или подписи UI], [41], [ui], [syncNoGroups_mapsToStringRes], [сценарий синхронизации: no groups_maps to string res], [42], [ui], [textSecretsRoutesCarryRequiredArguments], [маршрутизация, deep link или подписи UI], [43], [ui], [vaultTask_mapsToStringRes], [маршрутизация, deep link или подписи UI], [44], [usecases], [buildTwoFaCodeStateMatchesJavaOtpForKnownSecret], [корректность TOTP/OTP: build two fa code state matches java otp for known secret], [45], [usecases], [buildTwoFaCodeStateReturnsNullForInvalidSecret], [build two fa code state returns null for invalid secret], [46], [usecases], [deleteWithRecordSyncJournalFalseDoesNotBumpSequence], [удаление без записи в журнал не увеличивает sequence], [47], [usecases], [isSyncableUserPathExcludesEncDirAndJournal], [пользовательский путь исключает служебные каталоги], [48], [usecases], [mergeKeepsSingleEntryPerPath], [слияние журнала оставляет одну запись на путь], [49], [usecases], [openReadDoesNotChangeJournal], [чтение без записи не изменяет журнал синхронизации], [50], [usecases], [storageWithEncInfoIsIncompatible], [хранилище с шифрованием несовместимо в одной группе sync], [51], [usecases], [storageWithoutEncInfoIsCompatible], [хранилище без метаданных шифрования совместимо с синхронизацией], [52], [usecases], [syncAllGroupsReportsNoGroupsWhenEmpty], [сценарий синхронизации: all groups reports no groups when empty], [53], [usecases], [syncGroupCooperativeCancellationReleasesLocks], [снятие блокировок при отмене задачи пользователем], [54], [usecases], [syncGroupCopiesFileFromSourceToTarget], [копирование файла с источника на целевое хранилище в группе], [55], [usecases], [syncGroupDeleteRemovesFileOnTarget], [удаление файла на целевом хранилище при синхронизации], [56], [usecases], [syncGroupReleasesLocksAfterSuccessfulSync], [снятие блокировок после успешной синхронизации], [57], [usecases], [syncGroupReleasesLocksWhenJournalEmpty], [снятие блокировок при пустом журнале], [58], [usecases], [syncGroupReleasesLocksWhenJournalReadFails], [снятие блокировок при ошибке чтения журнала], [59], [usecases], [syncGroupSkippedWhenFewerThanTwoStorages], [синхронизация пропускается, если в группе меньше двух хранилищ], [60], [usecases], [syncGroupStopsWhenLockCannotBeAcquired], [остановка при невозможности захватить блокировку группы], [61], [usecases], [syncGroupTrashSoftDeletesOnTarget], [мягкое удаление (trash) на целевом хранилище], [62], [usecases], [syncSkipsWhenTargetRevisionAlreadyWinner], [пропуск синхронизации, если ревизия цели уже новее], [63], [usecases], [textSecretsCrudWorksWithOptionalLabels], [CRUD-операции и сохранение данных], [64], [usecases], [textSecretsInvalidJsonFallsBackToEmptyList], [text secrets invalid json falls back to empty list], [65], [usecases], [totpPeriodProgressIsContinuousWithinPeriod], [корректность TOTP/OTP: totp period progress is continuous within period], [66], [usecases], [totpSecondsUntilRefreshCountsDownWithinPeriod], [корректность TOTP/OTP: totp seconds until refresh counts down within period], [67], [usecases], [twoFaCrudWorksAndPersists], [CRUD-операции и сохранение данных], [68], [usecases], [twoFaInvalidJsonFallsBackToEmptyList], [two fa invalid json falls back to empty list], )