summaryrefslogtreecommitdiff
path: root/Biz/Que/Host.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Biz/Que/Host.hs')
-rw-r--r--Biz/Que/Host.hs25
1 files changed, 24 insertions, 1 deletions
diff --git a/Biz/Que/Host.hs b/Biz/Que/Host.hs
index f41c683..ce3f5da 100644
--- a/Biz/Que/Host.hs
+++ b/Biz/Que/Host.hs
@@ -1,6 +1,7 @@
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE NoImplicitPrelude #-}
-- | Interprocess communication
@@ -14,10 +15,13 @@
-- : out que-server
--
-- : dep async
+-- : dep docopt
-- : dep envy
-- : dep protolude
-- : dep scotty
-- : dep stm
+-- : dep tasty
+-- : dep tasty-hunit
-- : dep unagi-chan
-- : dep unordered-containers
module Biz.Que.Host
@@ -26,6 +30,9 @@ module Biz.Que.Host
where
import Alpha hiding (gets, modify, poll)
+import qualified Biz.Cli as Cli
+import Biz.Test ((@=?))
+import qualified Biz.Test as Test
import qualified Control.Concurrent.Go as Go
import qualified Control.Concurrent.STM as STM
import qualified Control.Exception as Exception
@@ -49,7 +56,10 @@ import qualified Prelude
{-# ANN module ("HLint: ignore Reduce duplication" :: Prelude.String) #-}
main :: IO ()
-main = Exception.bracket startup shutdown <| uncurry Warp.run
+main = Cli.main <| Cli.Plan help move test
+
+move :: Cli.Arguments -> IO ()
+move _ = Exception.bracket startup shutdown <| uncurry Warp.run
where
startup =
Envy.decodeWithDefaults Envy.defConfig >>= \c -> do
@@ -64,6 +74,19 @@ main = Exception.bracket startup shutdown <| uncurry Warp.run
shutdown :: a -> IO a
shutdown = pure <. identity
+help :: Cli.Docopt
+help =
+ [Cli.docopt|
+que-server
+
+Usage:
+ que-server
+ que-server test
+|]
+
+test :: Test.Tree
+test = Test.group "Biz.Que.Host" [Test.unit "id" <| 1 @=? (1 :: Integer)]
+
newtype App a = App
{ runApp :: ReaderT (STM.TVar AppState) IO a
}