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"