2023-06-29 18:26:45 +02:00
|
|
|
import o from "@tutao/otest"
|
2022-05-12 16:51:15 +02:00
|
|
|
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/common/error/RestErrorTest.js"
|
|
|
|
|
import "./api/common/error/TutanotaErrorTest.js"
|
|
|
|
|
import "./api/common/mail/CommonMailUtilsTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/common/utils/BirthdayUtilsTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/common/utils/CommonFormatterTest.js"
|
|
|
|
|
import "./api/common/utils/EntityUtilsTest.js"
|
|
|
|
|
import "./api/common/EntityFunctionsTest.js"
|
|
|
|
|
import "./api/common/utils/FileUtilsTest.js"
|
|
|
|
|
import "./api/common/utils/LoggerTest.js"
|
|
|
|
|
import "./api/common/utils/PlainTextSearchTest.js"
|
|
|
|
|
import "./api/main/EntropyCollectorTest.js"
|
|
|
|
|
import "./api/worker/CompressionTest.js"
|
|
|
|
|
import "./api/worker/EventBusClientTest.js"
|
|
|
|
|
import "./api/worker/EventBusEventCoordinatorTest.js"
|
|
|
|
|
import "./api/worker/SuspensionHandlerTest.js"
|
|
|
|
|
import "./api/worker/UrlifierTest.js"
|
2024-09-05 13:11:59 +02:00
|
|
|
import "./api/worker/crypto/AsymmetricCryptoFacadeTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/crypto/CompatibilityTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/crypto/CryptoMapperTest.js"
|
|
|
|
|
import "./api/worker/crypto/CryptoFacadeTest.js"
|
2025-05-05 17:33:47 +02:00
|
|
|
import "./api/worker/crypto/CryptoWrapperTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/crypto/EntityAdapterTest.js"
|
|
|
|
|
import "./api/worker/crypto/ModelMapperTest.js"
|
|
|
|
|
import "./api/worker/crypto/ModelMapperTransformationsTest.js"
|
|
|
|
|
import "./api/worker/crypto/OwnerEncSessionKeysUpdateQueueTest.js"
|
|
|
|
|
import "./api/worker/crypto/TypeMapperTest.js"
|
|
|
|
|
import "./api/worker/facades/ApplicationTypesFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/BlobAccessTokenFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/BlobFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/CalendarFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/ConfigurationDbTest.js"
|
|
|
|
|
import "./api/worker/facades/ContactFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/GroupManagementFacadeTest.js"
|
2025-05-08 15:44:26 +02:00
|
|
|
import "./api/worker/facades/AdminKeyLoaderFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/IdentityKeyCreatorTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/facades/KeyAuthenticationFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/KeyCacheTest.js"
|
|
|
|
|
import "./api/worker/facades/KeyLoaderFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/KeyRotationFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/KyberFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/LoginFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/MailAddressFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/MailExportFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/MailExportTokenFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/MailFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/PQFacadeTest.js"
|
|
|
|
|
import "./api/worker/facades/PQMessageTest.js"
|
2025-06-05 17:07:31 +02:00
|
|
|
import "./api/worker/facades/PublicEncryptionKeyProviderTest.js"
|
|
|
|
|
import "./api/worker/facades/PublicIdentityKeyProviderTest.js"
|
|
|
|
|
import "./api/worker/facades/IdentityKeyTrustDatabaseTest.js"
|
2025-04-14 12:30:27 +02:00
|
|
|
import "./api/worker/facades/RolloutFacadeTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/facades/RsaPqPerformanceTest.js"
|
|
|
|
|
import "./api/worker/facades/UserFacadeTest.js"
|
2025-05-08 15:44:26 +02:00
|
|
|
import "./api/worker/facades/PublicKeySignatureFacadeTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/invoicegen/PdfInvoiceGeneratorTest.js"
|
|
|
|
|
import "./api/worker/invoicegen/XRechnungInvoiceGeneratorTest.js"
|
|
|
|
|
import "./api/worker/pdf/DeflaterTest.js"
|
|
|
|
|
import "./api/worker/pdf/PdfDocumentTest.js"
|
|
|
|
|
import "./api/worker/pdf/PdfObjectTest.js"
|
|
|
|
|
import "./api/worker/pdf/PdfWriterTest.js"
|
|
|
|
|
import "./api/worker/rest/CacheStorageProxyTest.js"
|
|
|
|
|
import "./api/worker/rest/CborDateEncoderTest.js"
|
|
|
|
|
import "./api/worker/rest/CustomCacheHandlerTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/rest/EntityRestCacheTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/rest/EntityRestClientTest.js"
|
add MailDetails feature, #4719
server issues: 1276, 1271, 1279, 1272, 1270, 1258, 1254, 1253, 1242, 1241
2022-11-03 19:03:54 +01:00
|
|
|
import "./api/worker/rest/EphemeralCacheStorageTest.js"
|
2025-07-14 11:01:59 +02:00
|
|
|
import "./api/worker/rest/PatchGeneratorTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/rest/ServiceExecutorTest.js"
|
|
|
|
|
import "./api/worker/search/BulkMailLoaderTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/search/ContactIndexerTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/search/EventQueueTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/search/IndexUtilsTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/search/IndexerCoreTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
import "./api/worker/search/IndexedDbIndexerTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/search/MailIndexerTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
import "./api/worker/search/IndexedDbMailIndexerBackendTest.js"
|
2025-04-04 17:48:53 +02:00
|
|
|
import "./api/worker/search/IndexedDbSearchFacadeTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/search/SearchIndexEncodingTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./api/worker/search/SuggestionFacadeTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./serviceworker/SwTest.js"
|
2025-02-10 13:15:28 +01:00
|
|
|
import "./api/worker/facades/KeyVerificationFacadeTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./api/worker/utils/SleepDetectorTest.js"
|
2025-10-14 12:32:17 +02:00
|
|
|
import "./api/worker/utils/spamClassification/HashingVectorizerTest.js"
|
2025-11-03 18:01:36 +01:00
|
|
|
import "./api/worker/utils/spamClassification/SpamClassificationDataDealerTest.js"
|
2025-10-14 12:32:17 +02:00
|
|
|
import "./api/worker/utils/spamClassification/PreprocessPatternsTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./calendar/AlarmSchedulerTest.js"
|
2023-12-28 12:45:07 +01:00
|
|
|
import "./calendar/CalendarAgendaViewTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./calendar/CalendarGuiUtilsTest.js"
|
|
|
|
|
import "./calendar/CalendarImporterTest.js"
|
|
|
|
|
import "./calendar/CalendarInvitesTest.js"
|
|
|
|
|
import "./calendar/CalendarModelTest.js"
|
|
|
|
|
import "./calendar/CalendarParserTest.js"
|
|
|
|
|
import "./calendar/CalendarUtilsTest.js"
|
|
|
|
|
import "./calendar/CalendarViewModelTest.js"
|
|
|
|
|
import "./calendar/EventDragHandlerTest.js"
|
2023-04-25 16:54:46 +02:00
|
|
|
import "./calendar/eventeditor/CalendarEventAlarmModelTest.js"
|
|
|
|
|
import "./calendar/eventeditor/CalendarEventModelTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./calendar/eventeditor/CalendarEventWhenModelTest.js"
|
|
|
|
|
import "./calendar/eventeditor/CalendarEventWhoModelTest.js"
|
|
|
|
|
import "./calendar/eventeditor/CalendarNotificationModelTest.js"
|
2025-08-27 10:47:40 +02:00
|
|
|
import "./calendar/CalendarEventsRepositoryTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./contacts/ContactListEditorTest.js"
|
|
|
|
|
import "./contacts/ContactMergeUtilsTest.js"
|
|
|
|
|
import "./contacts/ContactUtilsTest.js"
|
|
|
|
|
import "./contacts/VCardExporterTest.js"
|
|
|
|
|
import "./contacts/VCardImporterTest.js"
|
|
|
|
|
import "./file/FileControllerTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./gui/ColorTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./gui/GuiUtilsTest.js"
|
|
|
|
|
import "./gui/ScopedRouterTest.js"
|
|
|
|
|
import "./gui/ThemeControllerTest.js"
|
|
|
|
|
import "./gui/animation/AnimationsTest.js"
|
|
|
|
|
import "./gui/base/WizardDialogNTest.js"
|
|
|
|
|
import "./login/LoginViewModelTest.js"
|
|
|
|
|
import "./login/PostLoginUtilsTest.js"
|
|
|
|
|
import "./mail/InboxRuleHandlerTest.js"
|
2025-11-03 18:01:36 +01:00
|
|
|
import "./mail/ProcessInboxHandlerTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./mail/KnowledgeBaseSearchFilterTest.js"
|
|
|
|
|
import "./mail/MailModelTest.js"
|
|
|
|
|
import "./mail/MailUtilsSignatureTest.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
import "./mail/SendMailModelTest.js"
|
|
|
|
|
import "./mail/TemplateSearchFilterTest.js"
|
|
|
|
|
import "./mail/export/BundlerTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./mail/export/ExporterTest.js"
|
|
|
|
|
import "./mail/model/ConversationListModelTest.js"
|
2022-12-19 16:38:14 +01:00
|
|
|
import "./mail/model/FolderSystemTest.js"
|
2025-01-21 16:16:17 +01:00
|
|
|
import "./mail/model/MailListModelTest.js"
|
2024-03-11 16:25:43 +01:00
|
|
|
import "./mail/view/ConversationViewModelTest.js"
|
2025-02-06 18:37:30 +01:00
|
|
|
import "./mail/view/MailViewModelTest.js"
|
2024-03-11 16:25:43 +01:00
|
|
|
import "./mail/view/MailViewerViewModelTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./misc/ClientDetectorTest.js"
|
|
|
|
|
import "./misc/DeviceConfigTest.js"
|
|
|
|
|
import "./misc/FormatValidatorTest.js"
|
|
|
|
|
import "./misc/FormatterTest.js"
|
have gift card QR code sanitize the whole svg content, not a fragment
On some chromium versions, DOMPurify disallows SVG completely if the
config sets NAMESPACE to anything but the default of
"http://www.w3.org/1999/xhtml". In the non-default case, on chromium, it
will use DOMImplementation.createDocument in combination with
TrustedHTML to get a parsed node tree instead of
DOMParser.parseFromString. TrustedHTML seems to aggressively remove
svg tags on these chromium versions, which leads to DOMPurify running
on an almost empty node tree.
Sanitization without the namespace still works, since DOMPurify manually
checks the namespace of the tags independently of the config NAMESPACE,
forbidding the mixing of SVG and HTML tags.
Therefore, removing the NAMESPACE config only changes the parsing
implementation, but doesn't change DOMPurifies sanitization logic.
DOMPurify then correctly sanitizes complete SVG, but still removes
SVG fragments (with missing <svg></svg>).
The test that sanitizes an SVG fragment was changed to expect an empty
result. Allowing fragments was only relevant for the gift card QR code,
which we put into an <svg> tag right after sanitization anyway. Adding
the <svg> before sanitization allows us to forbid svg fragments in
HtmlSanitizer.sanitizeSVG.
Co-authored-by: bed <bed@tutao.de>
2025-10-24 12:10:01 +02:00
|
|
|
import "./misc/HtmlSanitizerTest.js"
|
2025-04-04 09:55:40 +02:00
|
|
|
import "./misc/UserSatisfactionDialogTests.js"
|
2025-07-23 10:09:53 +02:00
|
|
|
import "./misc/RecipientKeyVerificationRecoveryModelTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./misc/LanguageViewModelTest.js"
|
|
|
|
|
import "./misc/ListElementListModelTest.js"
|
|
|
|
|
import "./misc/ListModelTest.js"
|
|
|
|
|
import "./misc/NewsModelTest.js"
|
|
|
|
|
import "./misc/OutOfOfficeNotificationTest.js"
|
|
|
|
|
import "./misc/ParserTest.js"
|
|
|
|
|
import "./misc/PasswordGeneratorTest.js"
|
|
|
|
|
import "./misc/PasswordModelTest.js"
|
|
|
|
|
import "./misc/PasswordUtilsTest.js"
|
|
|
|
|
import "./misc/RecipientsModelTest.js"
|
|
|
|
|
import "./misc/SchedulerTest.js"
|
|
|
|
|
import "./misc/UsageTestModelTest.js"
|
|
|
|
|
import "./misc/credentials/CredentialsProviderTest.js"
|
|
|
|
|
import "./misc/news/items/ReferralLinkNewsTest.js"
|
|
|
|
|
import "./misc/parsing/MailAddressParserTest.js"
|
|
|
|
|
import "./misc/webauthn/WebauthnClientTest.js"
|
2024-11-29 10:17:40 +01:00
|
|
|
import "./native/main/MailExportControllerTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./settings/TemplateEditorModelTest.js"
|
|
|
|
|
import "./settings/UserDataExportTest.js"
|
|
|
|
|
import "./settings/login/secondfactor/SecondFactorEditModelTest.js"
|
|
|
|
|
import "./settings/mailaddress/MailAddressTableModelTest.js"
|
2025-08-14 17:03:25 +02:00
|
|
|
import "./settings/whitelabel/CustomColorEditorViewModelTest.js"
|
2025-05-13 13:17:30 +02:00
|
|
|
import "./settings/keymanagement/KeyVerificationModelTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./subscription/CreditCardViewModelTest.js"
|
|
|
|
|
import "./subscription/PriceUtilsTest.js"
|
|
|
|
|
import "./subscription/SignupFormTest.js"
|
2025-07-09 15:28:44 +02:00
|
|
|
import "./subscription/CaptchaTest.js"
|
2025-03-10 16:19:11 +01:00
|
|
|
import "./subscription/SubscriptionUtilsTest.js"
|
|
|
|
|
import "./support/FaqModelTest.js"
|
|
|
|
|
import "./translations/TranslationKeysTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
import "./api/worker/search/IndexedDbContactIndexerBackendTest.js"
|
2025-06-06 17:17:18 +02:00
|
|
|
import "./api/worker/search/IndexedDbContactSearchFacadeTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
import "./api/worker/search/OfflineStorageContactIndexerBackendTest.js"
|
2025-06-06 17:17:18 +02:00
|
|
|
import "./api/worker/search/OfflineStorageContactSearchFacadeTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
import "./api/worker/rest/CustomUserCacheHandlerTest.js"
|
2025-04-17 17:22:08 +02:00
|
|
|
import "./api/common/utils/QueryTokenUtilsTest.js"
|
2025-06-13 17:27:15 +02:00
|
|
|
import "./api/worker/offline/PatchMergerTest.js"
|
2025-06-06 17:17:18 +02:00
|
|
|
import "./contacts/ContactModelTest.js"
|
2025-06-13 15:40:37 +02:00
|
|
|
import "./api/worker/search/OfflinestorageIndexerTest.js"
|
2025-06-13 17:27:15 +02:00
|
|
|
import "./api/worker/EventInstancePrefetcherTest.js"
|
2025-08-12 14:11:42 +02:00
|
|
|
import "./misc/parsing/ParserCombinatorTest.js"
|
2025-08-29 17:14:19 +02:00
|
|
|
import "./sharing/GroupSettingsModelTest.js"
|
Autosave drafts
Every five seconds while the user is typing, save a local copy of the
draft to ConfigurationDatabase.
If the draft has not been touched for five minutes, it gets uploaded to
the server.
If the user restarts the client with an autosaved draft, it will open
automatically. Only one draft can be autosaved at a time.
Additionally, if an entity update for a draft is received while the user
has that draft open for editing, saving will prompt a confirmation
dialog to overwrite the draft on the server, as this draft data may be
outdated.
Next, if the user attempts to open a new draft while there is an
autosaved draft, display a confirmation dialog to the user to delete
it.
And lastly, if the user has two separate drafts open on different
windows, we handle this by preventing saving over them.
Closes #4419
2025-09-02 17:45:28 +02:00
|
|
|
import "./mail/editor/OpenLocallySavedDraftActionTest.js"
|
2025-10-14 12:11:22 +02:00
|
|
|
import "./mail/SpamClassificationHandlerTest.js"
|
2025-11-03 17:18:42 +01:00
|
|
|
import "./misc/quickactions/QuickActionsModelTest.js"
|
2025-03-13 16:37:55 +01:00
|
|
|
|
2022-05-12 16:51:15 +02:00
|
|
|
import * as td from "testdouble"
|
2023-01-12 16:48:28 +01:00
|
|
|
import { random } from "@tutao/tutanota-crypto"
|
2024-07-01 17:56:41 +02:00
|
|
|
import { Mode } from "../../src/common/api/common/Env.js"
|
2022-05-12 16:51:15 +02:00
|
|
|
|
2023-06-29 18:26:45 +02:00
|
|
|
export async function run({ integration, filter }: { integration?: boolean; filter?: string } = {}) {
|
|
|
|
|
await setupSuite({ integration })
|
|
|
|
|
const result = await o.run({ filter })
|
2022-05-12 16:51:15 +02:00
|
|
|
|
2023-06-29 18:26:45 +02:00
|
|
|
o.printReport(result)
|
2022-05-12 16:51:15 +02:00
|
|
|
|
2023-06-29 18:26:45 +02:00
|
|
|
return result
|
|
|
|
|
}
|
2022-05-12 16:51:15 +02:00
|
|
|
|
2023-06-29 18:26:45 +02:00
|
|
|
async function setupSuite({ integration }: { integration?: boolean }) {
|
2024-08-20 18:03:03 +02:00
|
|
|
const { WorkerImpl } = await import("../../src/mail-app/workerUtils/worker/WorkerImpl.js")
|
2022-05-12 16:51:15 +02:00
|
|
|
globalThis.testWorker = WorkerImpl
|
|
|
|
|
|
2025-07-18 14:55:36 +02:00
|
|
|
if (typeof process !== "undefined") {
|
2023-06-29 18:26:45 +02:00
|
|
|
if (integration) {
|
2022-05-12 16:51:15 +02:00
|
|
|
console.log("\nRunning with integration tests because was run with -i\n")
|
|
|
|
|
await import("./api/main/WorkerTest.js")
|
|
|
|
|
await import("./IntegrationTest.js")
|
|
|
|
|
} else {
|
|
|
|
|
console.log("\nRunning without integration tests because run without -i\n")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-18 14:55:36 +02:00
|
|
|
if (typeof process !== "undefined") {
|
2022-05-12 16:51:15 +02:00
|
|
|
// setup the Entropy for all testcases
|
2023-01-12 16:48:28 +01:00
|
|
|
await random.addEntropy([{ data: 36, entropy: 256, source: "key" }])
|
2025-11-03 18:01:36 +01:00
|
|
|
await import("./api/worker/utils/spamClassification/SparseVectorCompressorTest.js")
|
2025-10-14 12:11:22 +02:00
|
|
|
await import("./api/worker/utils/spamClassification/SpamClassifierTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./api/worker/offline/OfflineStorageMigratorTest.js")
|
|
|
|
|
await import("./api/worker/offline/OfflineStorageTest.js")
|
|
|
|
|
await import("./api/worker/rest/RestClientTest.js")
|
2022-05-12 16:51:15 +02:00
|
|
|
await import("./desktop/ApplicationWindowTest.js")
|
|
|
|
|
await import("./desktop/DesktopContextMenuTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/DesktopCryptoFacadeTest.js")
|
2023-11-09 13:30:55 +01:00
|
|
|
await import("./desktop/DesktopKeyStoreFacadeTest.js")
|
2025-07-08 18:31:10 +02:00
|
|
|
await import("./desktop/notifications/DesktopNotifierTest.js")
|
2025-08-07 11:26:25 +02:00
|
|
|
await import("./desktop/CommandExecutorTest.js")
|
2025-07-08 18:31:10 +02:00
|
|
|
await import("./desktop/notifications/WindowsNotificationFactoryTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/ElectronUpdaterTest.js")
|
|
|
|
|
await import("./desktop/PathUtilsTest.js")
|
|
|
|
|
await import("./desktop/SocketeerTest.js")
|
2022-12-27 15:37:40 +01:00
|
|
|
await import("./desktop/config/ConfigFileTest.js")
|
2023-05-23 14:27:51 +02:00
|
|
|
await import("./desktop/config/DesktopConfigTest.js")
|
2025-09-22 12:02:23 +02:00
|
|
|
await import("./desktop/DesktopUtilsTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/config/migrations/DesktopConfigMigratorTest.js")
|
|
|
|
|
await import("./desktop/credentials/AppPassHandlerTest.js")
|
|
|
|
|
await import("./desktop/credentials/DesktopCredentialsStorageTest.js")
|
|
|
|
|
await import("./desktop/credentials/DesktopNativeCredentialsFacadeTest.js")
|
|
|
|
|
await import("./desktop/credentials/KeychainEncryptionTest.js")
|
|
|
|
|
await import("./desktop/db/OfflineDbFacadeTest.js")
|
|
|
|
|
await import("./desktop/export/DesktopExportFacadeTest.js")
|
|
|
|
|
await import("./desktop/files/DesktopFileFacadeTest.js")
|
2023-10-12 17:54:38 +02:00
|
|
|
await import("./desktop/files/TempFsTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/files/TempFsTest.js")
|
|
|
|
|
await import("./desktop/integration/DesktopIntegratorTest.js")
|
2025-08-07 11:26:25 +02:00
|
|
|
await import("./desktop/integration/WindowsRegistryFacadeTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/integration/RegistryScriptGeneratorTest.js")
|
|
|
|
|
await import("./desktop/net/ProtocolProxyTest.js")
|
|
|
|
|
await import("./desktop/sse/DesktopAlarmSchedulerTest.js")
|
|
|
|
|
await import("./desktop/sse/DesktopAlarmStorageTest.js")
|
|
|
|
|
await import("./desktop/sse/SecretStorageTest.js")
|
2024-03-11 16:25:43 +01:00
|
|
|
await import("./desktop/sse/SseClientTest.js")
|
|
|
|
|
await import("./desktop/sse/TutaNotificationHandlerTest.js")
|
2025-03-10 16:19:11 +01:00
|
|
|
await import("./desktop/sse/TutaSseFacadeTest.js")
|
2025-04-11 17:00:01 +02:00
|
|
|
await import("./api/worker/search/OfflineStorageMailIndexerBackendTest.js")
|
2025-04-10 15:01:02 +02:00
|
|
|
await import("./api/worker/search/OfflineStoragePersistenceTest.js")
|
2025-04-04 17:48:53 +02:00
|
|
|
await import("./api/worker/search/OfflineStorageSearchFacadeTest.js")
|
2025-10-02 11:35:06 +02:00
|
|
|
await import("./api/worker/facades/OfflineStorageAutosaveFacadeTest.js")
|
2022-05-12 16:51:15 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// testdouble complains about certain mocking related code smells, and also prints a warning whenever you replace a property on an object.
|
|
|
|
|
// it's very very noisy, so we turn it off
|
|
|
|
|
td.config({
|
2022-12-27 15:37:40 +01:00
|
|
|
ignoreWarnings: true,
|
2022-05-12 16:51:15 +02:00
|
|
|
})
|
|
|
|
|
o.before(async function () {
|
|
|
|
|
// setup the Entropy for all testcases
|
2023-01-12 16:48:28 +01:00
|
|
|
await random.addEntropy([{ data: 36, entropy: 256, source: "key" }])
|
2022-05-12 16:51:15 +02:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
o.afterEach(function () {
|
|
|
|
|
td.reset()
|
2023-06-29 18:26:45 +02:00
|
|
|
|
2022-05-12 16:51:15 +02:00
|
|
|
// Reset env.mode in case any tests have fiddled with it
|
|
|
|
|
env.mode = Mode.Test
|
|
|
|
|
})
|
|
|
|
|
}
|