okf-cli-0.1.0.0: test/Main.hs
module Main (main) where
import Control.Monad (unless)
import Options.Applicative
import System.Exit (exitFailure)
import Okf.Cli
main :: IO ()
main = do
let results =
[ parseSucceeds ["validate", "bundle"]
, parseSucceeds ["validate", "bundle", "--strict"]
, parseSucceeds ["index", "bundle", "--write"]
, parseSucceeds ["graph", "bundle", "--json"]
, parseSucceeds ["show", "bundle", "tables/orders"]
, parseFails ["hello"]
]
unless (and results) exitFailure
parseSucceeds :: [String] -> Bool
parseSucceeds args =
case execParserPure defaultPrefs parserInfo args of
Success _ -> True
_ -> False
parseFails :: [String] -> Bool
parseFails args =
case execParserPure defaultPrefs parserInfo args of
Failure _ -> True
CompletionInvoked _ -> True
Success _ -> False