module Test.FeatureFlags.AppLock where import qualified Data.Aeson as A import Test.FeatureFlags.Util import Testlib.Prelude testPatchAppLock :: (HasCallStack) => FeatureTable -> App () testPatchAppLock :: HasCallStack => FeatureTable -> App () testPatchAppLock FeatureTable table = do FeatureTable -> Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => FeatureTable -> domain -> String -> Value -> App () checkPatchWithTable FeatureTable table Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [String "lockStatus" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "locked"] FeatureTable -> Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => FeatureTable -> domain -> String -> Value -> App () checkPatchWithTable FeatureTable table Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [String "status" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "disabled"] FeatureTable -> Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => FeatureTable -> domain -> String -> Value -> App () checkPatchWithTable FeatureTable table Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [String "lockStatus" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "locked", String "status" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "disabled"] FeatureTable -> Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => FeatureTable -> domain -> String -> Value -> App () checkPatchWithTable FeatureTable table Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [ String "lockStatus" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "unlocked", String "config" String -> Value -> Pair forall a. ToJSON a => String -> a -> Pair .= [Pair] -> Value object [ String "enforceAppLock" String -> Bool -> Pair forall a. ToJSON a => String -> a -> Pair .= Bool True, String "inactivityTimeoutSecs" String -> Value -> Pair forall a. ToJSON a => String -> a -> Pair .= Scientific -> Value A.Number Scientific 120 ] ] FeatureTable -> Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => FeatureTable -> domain -> String -> Value -> App () checkPatchWithTable FeatureTable table Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [ String "config" String -> Value -> Pair forall a. ToJSON a => String -> a -> Pair .= [Pair] -> Value object [ String "enforceAppLock" String -> Bool -> Pair forall a. ToJSON a => String -> a -> Pair .= Bool True, String "inactivityTimeoutSecs" String -> Value -> Pair forall a. ToJSON a => String -> a -> Pair .= Scientific -> Value A.Number Scientific 240 ] ] testPatchAppLockReadOnly :: (HasCallStack) => App () testPatchAppLockReadOnly :: HasCallStack => App () testPatchAppLockReadOnly = do Domain -> String -> Value -> App () forall domain. (HasCallStack, MakesValue domain) => domain -> String -> Value -> App () checkPatchReadOnly Domain OwnDomain String "appLock" (Value -> App ()) -> Value -> App () forall a b. (a -> b) -> a -> b $ [Pair] -> Value object [String "lockStatus" String -> String -> Pair forall a. ToJSON a => String -> a -> Pair .= String "locked"]