module Main where
import Control.Monad
import qualified Data.ByteString.Char8 as CBS
import Network.HTTP.Client.TLS
import Network.HTTP.Conduit
import System.Environment
import Test.Tasty
import Coinbase.Exchange.Types
import qualified Coinbase.Exchange.MarketData.Test as MarketData
import qualified Coinbase.Exchange.Private.Test as Private
main :: IO ()
main = do
mgr <- newManager tlsManagerSettings
tKey <- liftM CBS.pack $ getEnv "COINBASE_KEY"
tSecret <- liftM CBS.pack $ getEnv "COINBASE_SECRET"
tPass <- liftM CBS.pack $ getEnv "COINBASE_PASSPHRASE"
case mkToken tKey tSecret tPass of
Right tok -> defaultMain (tests $ ExchangeConf mgr (Just tok) Sandbox)
Left er -> error $ show er
tests :: ExchangeConf -> TestTree
tests conf = testGroup "Tests"
[ MarketData.tests conf
, Private.tests conf
]