mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-03-30 22:55:50 +00:00
* rfc: queue rotation * update rfc * messages for queue rotation * allow multiple subscribed queues per connection in Agent/Client.hs * refactor * fix module name * allow multiple queues in duplex connection type * update commands * add indices * addConnectionRcvQueue * switch connection to another queue (WIP) * update schema/protocol * switching queue works, but sending messages after the switch fails * messages are delivered after rotation * use connection-scoped queue ID * rename queue records fields * refactor using SMPQueue class/instances * simplify queries * QKEY: check queue is not secured, refactor * update rfc * mark queue as primary in QUSE * queue rotation errors * fix async ack * fix async ACK to send OK * correction Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com> * use SWCH command * rename * take into account only active queue subscription when determining connection result if at least one queue is active * remove comment * only enable notifications for connections with enableNtfs = True * async test (WIP) * async queue rotation test * simplify combining results * test with 2 servers * fix unused subscribeConnection * switch to cabal build * increase build timeout * increase delay in async test * skip queue rotation tests * build matrix * step name * use ubuntu-18.04 in build matrix * enable rotation tests Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com>
20 lines
723 B
Haskell
20 lines
723 B
Haskell
module CoreTests.ProtocolErrorTests where
|
|
|
|
import Simplex.Messaging.Agent.Protocol (AgentErrorType)
|
|
import Simplex.Messaging.Encoding.String
|
|
import Simplex.Messaging.Parsers (parseAll)
|
|
import Simplex.Messaging.Protocol (ErrorType)
|
|
import Test.Hspec
|
|
import Test.Hspec.QuickCheck (modifyMaxSuccess)
|
|
import Test.QuickCheck
|
|
|
|
protocolErrorTests :: Spec
|
|
protocolErrorTests = modifyMaxSuccess (const 1000) $ do
|
|
describe "errors parsing / serializing" $ do
|
|
it "should parse SMP protocol errors" . property $ \err ->
|
|
parseAll strP (strEncode err)
|
|
== Right (err :: ErrorType)
|
|
it "should parse SMP agent errors" . property $ \err ->
|
|
parseAll strP (strEncode err)
|
|
== Right (err :: AgentErrorType)
|