mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-03-30 14:16:00 +00:00
* ntf server: PostgreSQL database storage * ntf server: import/export stubs * ntf server postgres db functions * some notifications tests pass * notifications tests pass * import/export notification store logs * fix ntf server CLI * log in parralel * update subscription statuses using executeMany * fix import/export * refactor * fix queries * prohibit token_id and subscription_id updates, dont update tokens and subscriptions on conflict, improve server insertion, remove duplicate tokens for import, remove subscriptions without tokens for import * comment * remame * increase test delay
57 lines
1.8 KiB
Haskell
57 lines
1.8 KiB
Haskell
{-# LANGUAGE CPP #-}
|
|
{-# LANGUAGE DataKinds #-}
|
|
{-# LANGUAGE GADTs #-}
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
{-# LANGUAGE PostfixOperators #-}
|
|
{-# LANGUAGE RankNTypes #-}
|
|
{-# LANGUAGE ScopedTypeVariables #-}
|
|
|
|
module AgentTests (agentCoreTests, agentTests) where
|
|
|
|
import AgentTests.ConnectionRequestTests
|
|
import AgentTests.DoubleRatchetTests (doubleRatchetTests)
|
|
import AgentTests.FunctionalAPITests (functionalAPITests)
|
|
import AgentTests.MigrationTests (migrationTests)
|
|
import AgentTests.ServerChoice (serverChoiceTests)
|
|
import AgentTests.ShortLinkTests (shortLinkTests)
|
|
import Simplex.Messaging.Server.Env.STM (AStoreType (..))
|
|
import Simplex.Messaging.Transport (ATransport (..))
|
|
import Test.Hspec
|
|
|
|
#if defined(dbPostgres)
|
|
import Fixtures
|
|
import Simplex.Messaging.Agent.Store.Postgres.Util (dropAllSchemasExceptSystem)
|
|
#else
|
|
import AgentTests.SQLiteTests (storeTests)
|
|
#endif
|
|
|
|
#if defined(dbServerPostgres)
|
|
import AgentTests.NotificationTests (notificationTests)
|
|
import SMPClient (postgressBracket)
|
|
import NtfClient (ntfTestServerDBConnectInfo)
|
|
#endif
|
|
|
|
agentCoreTests :: Spec
|
|
agentCoreTests = do
|
|
describe "Migration tests" migrationTests
|
|
describe "Connection request" connectionRequestTests
|
|
describe "Double ratchet tests" doubleRatchetTests
|
|
describe "Short link tests" shortLinkTests
|
|
|
|
agentTests :: (ATransport, AStoreType) -> Spec
|
|
agentTests ps = do
|
|
#if defined(dbPostgres)
|
|
after_ (dropAllSchemasExceptSystem testDBConnectInfo) $ do
|
|
#else
|
|
do
|
|
#endif
|
|
describe "Functional API" $ functionalAPITests ps
|
|
describe "Chosen servers" serverChoiceTests
|
|
#if defined(dbServerPostgres)
|
|
around_ (postgressBracket ntfTestServerDBConnectInfo) $
|
|
describe "Notification tests" $ notificationTests ps
|
|
#endif
|
|
#if !defined(dbPostgres)
|
|
describe "SQLite store" storeTests
|
|
#endif
|