cabal-cache-1.0.0.4: test/HaskellWorks/CabalCache/AwsSpec.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
module HaskellWorks.CabalCache.AwsSpec
( spec
) where
import Antiope.Core
import Antiope.Env
import Control.Lens
import Control.Monad
import Control.Monad.IO.Class
import Data.Generics.Product.Any
import Data.Maybe (fromJust, isJust)
import HaskellWorks.CabalCache.AppError
import HaskellWorks.CabalCache.IO.Lazy
import HaskellWorks.Hspec.Hedgehog
import Hedgehog
import System.Environment (lookupEnv)
import Test.Hspec
import Text.RawString.QQ
import qualified Antiope.S3.Lazy as LBS
import qualified Antiope.S3.Types as AWS
import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as LBS
import qualified Data.ByteString.Lazy.Char8 as LBSC
import qualified HaskellWorks.CabalCache.Types as Z
import qualified Network.HTTP.Types as HTTP
import qualified System.Environment as IO
{-# ANN module ("HLint: ignore Redundant do" :: String) #-}
{-# ANN module ("HLint: ignore Reduce duplication" :: String) #-}
{-# ANN module ("HLint: ignore Redundant bracket" :: String) #-}
spec :: Spec
spec = describe "HaskellWorks.CabalCache.QuerySpec" $ do
it "stub" $ requireTest $ do
ci <- liftIO $ IO.lookupEnv "CI" <&> isJust
unless ci $ do
envAws <- liftIO $ mkEnv Oregon (const LBSC.putStrLn)
result <- liftIO $ runResourceT $ headS3Uri envAws $ AWS.S3Uri "jky-mayhem" "hjddhd"
result === Left AwsAppError
{ status = HTTP.Status { HTTP.statusCode = 404 , HTTP.statusMessage = "Not Found" }
}