mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-28 20:29:53 +00:00
* draft remote protocol types and external api * types (it compiles) * add error * move remote controller from http to remote host client protocol * refactor (doesnt compile) * fix compile * Connect remote session * WIP: wire in remote protocol * add commands and events * cleanup * fix desktop shutdown * prepare for testing remote files * Add file IO * update simplexmq to master with http2 to 4.1.4 * use json transcoder * update simplexmq * collapse RemoteHostSession states * fold RemoteHello back into the protocol command move http-command-response-http wrapper to protocol * use sendRemoteCommand with optional attachments use streaming request/response * ditch lazy body streaming * fix formatting * put body builder/processor closer together * wrap handleRemoteCommand around sending files * handle ChatError's too * remove binary, use 32-bit encoding for JSON bodies * enable tests * refactor * refactor request handling * return ChatError * Flatten remote host --------- Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
44 lines
1.4 KiB
Haskell
44 lines
1.4 KiB
Haskell
import Bots.BroadcastTests
|
|
import Bots.DirectoryTests
|
|
import ChatClient
|
|
import ChatTests
|
|
import ChatTests.Utils (xdescribe'')
|
|
import Control.Logger.Simple
|
|
import Data.Time.Clock.System
|
|
import JSONTests
|
|
import MarkdownTests
|
|
import MobileTests
|
|
import ProtocolTests
|
|
import RemoteTests
|
|
import SchemaDump
|
|
import Test.Hspec
|
|
import UnliftIO.Temporary (withTempDirectory)
|
|
import ViewTests
|
|
import ValidNames
|
|
import WebRTCTests
|
|
|
|
main :: IO ()
|
|
main = do
|
|
setLogLevel LogError
|
|
withGlobalLogging logCfg . hspec $ do
|
|
describe "Schema dump" schemaDumpTest
|
|
describe "SimpleX chat markdown" markdownTests
|
|
describe "JSON Tests" jsonTests
|
|
describe "SimpleX chat view" viewTests
|
|
describe "SimpleX chat protocol" protocolTests
|
|
describe "WebRTC encryption" webRTCTests
|
|
describe "Valid names" validNameTests
|
|
around testBracket $ do
|
|
describe "Mobile API Tests" mobileTests
|
|
describe "SimpleX chat client" chatTests
|
|
xdescribe'' "SimpleX Broadcast bot" broadcastBotTests
|
|
xdescribe'' "SimpleX Directory service bot" directoryServiceTests
|
|
describe "Remote session" remoteTests
|
|
where
|
|
testBracket test = do
|
|
t <- getSystemTime
|
|
let ts = show (systemSeconds t) <> show (systemNanoseconds t)
|
|
withSmpServer $ withTmpFiles $ withTempDirectory "tests/tmp" ts test
|
|
|
|
logCfg :: LogConfig
|
|
logCfg = LogConfig {lc_file = Nothing, lc_stderr = True}
|