24 lines
638 B
Haskell
Raw Permalink Normal View History

module Main where
import MiniParser.Deploy
( DeployCommand (DeployCommand)
, Environment (Production, Staging)
, parseDeployCommand
, renderCommand
)
import System.Exit (die)
main :: IO ()
main =
case
( parseDeployCommand "deploy api production tags=blue,stable"
, parseDeployCommand "deploy worker staging"
, parseDeployCommand "bad input"
) of
( Right (DeployCommand "api" Production ["blue", "stable"])
, Right parsedWorker
, Left _
) | renderCommand parsedWorker == "deploy worker to staging with no tags" ->
putStrLn "test passed"
_ -> die "unexpected parser result"