Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Test.LegalHold
Synopsis
- testLHPreventAddingNonConsentingUsers :: LhApiVersion -> App ()
- testLHMessageExchange :: HasCallStack => TaggedBool "clients1New" -> TaggedBool "clients2New" -> App ()
- data TestClaimKeys
- data LHApprovedOrPending
- testLHClaimKeys :: LHApprovedOrPending -> TestClaimKeys -> App ()
- testLHAddClientManually :: App ()
- testLHDeleteClientManually :: App ()
- testLHRequestDevice :: LhApiVersion -> App ()
- checkChan :: HasCallStack => Chan t -> (t -> App (Maybe a)) -> App a
- checkChanVal :: HasCallStack => Chan (t, LazyByteString) -> (Value -> MaybeT App a) -> App a
- testLHApproveDevice :: App ()
- testLHGetDeviceStatus :: LhApiVersion -> App ()
- setTimeoutTo :: Int -> Env -> Env
- testLHDisableForUser :: App ()
- testLHEnablePerTeam :: LhApiVersion -> App ()
- testLHGetMembersIncludesStatus :: LhApiVersion -> App ()
- testLHConnectionsWithNonConsentingUsers :: LhApiVersion -> App ()
- testLHConnectionsWithConsentingUsers :: LhApiVersion -> App ()
- data GroupConvAdmin
- testLHNoConsentRemoveFromGroup :: LHApprovedOrPending -> GroupConvAdmin -> App ()
- testLHHappyFlow :: LhApiVersion -> App ()
- testLHGetStatus :: LhApiVersion -> App ()
- testLHCannotCreateGroupWithUsersInConflict :: LhApiVersion -> App ()
- testLHNoConsentCannotBeInvited :: HasCallStack => LhApiVersion -> App ()
- testLHDisableBeforeApproval :: HasCallStack => LhApiVersion -> App ()
- testBlockLHForMLSUsers :: HasCallStack => App ()
- testBlockClaimingKeyPackageForLHUsers :: HasCallStack => App ()
- testBlockCreateMLSConvForLHUsers :: HasCallStack => LhApiVersion -> App ()
- testLHApiV1 :: App ()
- testNoCommonVersion :: App ()
Documentation
testLHMessageExchange :: HasCallStack => TaggedBool "clients1New" -> TaggedBool "clients2New" -> App () Source #
data TestClaimKeys Source #
Constructors
TCKConsentMissing | |
TCKConsentAndNewClients |
Instances
Generic TestClaimKeys Source # | |
Defined in Test.LegalHold Associated Types type Rep TestClaimKeys :: Type -> Type # | |
Show TestClaimKeys Source # | |
Defined in Test.LegalHold Methods showsPrec :: Int -> TestClaimKeys -> ShowS # show :: TestClaimKeys -> String # showList :: [TestClaimKeys] -> ShowS # | |
type Rep TestClaimKeys Source # | |
Defined in Test.LegalHold |
data LHApprovedOrPending Source #
Constructors
LHApproved | |
LHPending |
Instances
Generic LHApprovedOrPending Source # | |
Defined in Test.LegalHold Associated Types type Rep LHApprovedOrPending :: Type -> Type # Methods from :: LHApprovedOrPending -> Rep LHApprovedOrPending x # to :: Rep LHApprovedOrPending x -> LHApprovedOrPending # | |
Show LHApprovedOrPending Source # | |
Defined in Test.LegalHold Methods showsPrec :: Int -> LHApprovedOrPending -> ShowS # show :: LHApprovedOrPending -> String # showList :: [LHApprovedOrPending] -> ShowS # | |
type Rep LHApprovedOrPending Source # | |
testLHClaimKeys :: LHApprovedOrPending -> TestClaimKeys -> App () Source #
Cannot fetch prekeys of LH users if requester has not given consent or has old clients.
testLHAddClientManually :: App () Source #
testLHDeleteClientManually :: App () Source #
testLHRequestDevice :: LhApiVersion -> App () Source #
checkChan :: HasCallStack => Chan t -> (t -> App (Maybe a)) -> App a Source #
pops a channel until it finds an event that returns a Just
upon running the matcher function
checkChanVal :: HasCallStack => Chan (t, LazyByteString) -> (Value -> MaybeT App a) -> App a Source #
like checkChan
but throws away the request and decodes the body
testLHApproveDevice :: App () Source #
testLHGetDeviceStatus :: LhApiVersion -> App () Source #
setTimeoutTo :: Int -> Env -> Env Source #
this sets the timeout to a higher number; we need this because the SQS queue on the brig is super slow and that's why client.remove events arrive really late
FUTUREWORK(mangoiv): improve the speed of internal event queuing
testLHDisableForUser :: App () Source #
testLHEnablePerTeam :: LhApiVersion -> App () Source #
testLHGetMembersIncludesStatus :: LhApiVersion -> App () Source #
data GroupConvAdmin Source #
Constructors
LegalholderIsAdmin | |
PeerIsAdmin | |
BothAreAdmins |
Instances
Generic GroupConvAdmin Source # | |
Defined in Test.LegalHold Associated Types type Rep GroupConvAdmin :: Type -> Type # Methods from :: GroupConvAdmin -> Rep GroupConvAdmin x # to :: Rep GroupConvAdmin x -> GroupConvAdmin # | |
Show GroupConvAdmin Source # | |
Defined in Test.LegalHold Methods showsPrec :: Int -> GroupConvAdmin -> ShowS # show :: GroupConvAdmin -> String # showList :: [GroupConvAdmin] -> ShowS # | |
type Rep GroupConvAdmin Source # | |
Defined in Test.LegalHold type Rep GroupConvAdmin = D1 ('MetaData "GroupConvAdmin" "Test.LegalHold" "integration-0.1.0-5hgCuX5nnA5EObefVCnFXZ" 'False) (C1 ('MetaCons "LegalholderIsAdmin" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PeerIsAdmin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BothAreAdmins" 'PrefixI 'False) (U1 :: Type -> Type))) |
testLHNoConsentRemoveFromGroup :: LHApprovedOrPending -> GroupConvAdmin -> App () Source #
If a member of an existing conversation is assigned a LH device, users are removed from the conversation until policy conflicts are resolved.
As to who gets to stay: - admins will stay over members - local members will stay over remote members.
testLHHappyFlow :: LhApiVersion -> App () Source #
testLHGetStatus :: LhApiVersion -> App () Source #
testLHNoConsentCannotBeInvited :: HasCallStack => LhApiVersion -> App () Source #
testLHDisableBeforeApproval :: HasCallStack => LhApiVersion -> App () Source #
testBlockLHForMLSUsers :: HasCallStack => App () Source #
testBlockCreateMLSConvForLHUsers :: HasCallStack => LhApiVersion -> App () Source #
scenario 2.2: charlie is put under legalhold but creates an MLS Group himself since he doesn't need to claim his own keypackage to do so, this would succeed we need to check upon group creation if the user is under legalhold and reject the operation if they are
testLHApiV1 :: App () Source #
testNoCommonVersion :: App () Source #