module Test.FeatureFlags.DigitalSignatures where

import SetupHelpers
import Test.FeatureFlags.Util
import Testlib.Prelude

testPatchDigitalSignatures :: (HasCallStack) => FeatureTable -> App ()
testPatchDigitalSignatures :: HasCallStack => FeatureTable -> App ()
testPatchDigitalSignatures FeatureTable
table = FeatureTable -> Domain -> String -> Value -> App ()
forall domain.
(HasCallStack, MakesValue domain) =>
FeatureTable -> domain -> String -> Value -> App ()
checkPatchWithTable FeatureTable
table Domain
OwnDomain String
"digitalSignatures" Value
enabled

testDigitalSignaturesInternal :: (HasCallStack) => FeatureTable -> App ()
testDigitalSignaturesInternal :: HasCallStack => FeatureTable -> App ()
testDigitalSignaturesInternal FeatureTable
table = do
  (Value
alice, String
tid, [Value]
_) <- Domain -> Int -> App (Value, String, [Value])
forall domain.
(HasCallStack, MakesValue domain) =>
domain -> Int -> App (Value, String, [Value])
createTeam Domain
OwnDomain Int
0
  Domain -> String -> FeatureTable -> App ()
forall domain.
(HasCallStack, MakesValue domain) =>
domain -> String -> FeatureTable -> App ()
updateMigrationState Domain
OwnDomain String
tid FeatureTable
table
  Value -> (WebSocket -> App ()) -> App ()
forall w a.
(HasCallStack, ToWSConnect w) =>
w -> (WebSocket -> App a) -> App a
withWebSocket Value
alice ((WebSocket -> App ()) -> App ())
-> (WebSocket -> App ()) -> App ()
forall a b. (a -> b) -> a -> b
$ \WebSocket
ws -> do
    HasCallStack =>
APIAccess -> WebSocket -> String -> String -> Value -> App ()
APIAccess -> WebSocket -> String -> String -> Value -> App ()
setFlag APIAccess
InternalAPI WebSocket
ws String
tid String
"digitalSignatures" Value
disabled
    HasCallStack =>
APIAccess -> WebSocket -> String -> String -> Value -> App ()
APIAccess -> WebSocket -> String -> String -> Value -> App ()
setFlag APIAccess
InternalAPI WebSocket
ws String
tid String
"digitalSignatures" Value
enabled