{-# LANGUAGE OverloadedStrings #-} module Pantry.CasaSpec (spec) where import Distribution.Types.Version (mkVersion) import Pantry import Pantry.SHA256 import Test.Hspec spec :: Spec spec = do loadHackagePackageSpec completeSpec completeSpec :: Spec completeSpec = it "completePackageLocation: unliftio_0_2_12" (shouldReturn (runPantryAppClean (cplComplete <$> completePackageLocation (argsRlpi unliftio_0_2_12))) ( PLIHackage (PackageIdentifier { pkgName = "unliftio" , pkgVersion = mkVersion [0, 2, 12] }) (argsCabalKey unliftio_0_2_12) (argsTreeKey unliftio_0_2_12))) loadHackagePackageSpec :: Spec loadHackagePackageSpec = do it "loadPackageRaw Exact hackage lookup" (shouldReturn (fmap packageTreeKey (runPantryAppClean (loadPackageRaw (argsRlpi unliftio_0_2_12)))) (argsTreeKey unliftio_0_2_12)) it "loadHackagePackageRaw Exact hackage lookup" (shouldReturn (fmap packageTreeKey (runPantryAppClean (loadPackageRaw (argsRlpi unliftio_0_2_12)))) (argsTreeKey unliftio_0_2_12)) it "loadHackagePackageRawViaCasa Exact hackage lookup" (shouldReturn (fmap (fmap packageTreeKey) (runPantryAppClean (tryLoadPackageRawViaCasa (argsRlpi unliftio_0_2_12) (argsTreeKey unliftio_0_2_12)))) (Just (argsTreeKey unliftio_0_2_12))) data Args = Args { argsRlpi :: !RawPackageLocationImmutable , argsTreeKey :: !TreeKey , argsRevision :: !PackageIdentifierRevision , argsCabalKey :: !BlobKey } unliftio_0_2_12 :: Args unliftio_0_2_12 = let cabalHash = (either (error . show) id (fromHexText "b089fbc2ff2628a963c2c4b12143f2020874e3e5144ffd6c62b25639a0ca1483")) cabalLen = FileSize 3325 cabalFileHash = CFIHash cabalHash (Just cabalLen) casaTreeKey = TreeKey (BlobKey (either (error . show) id (fromHexText "4971b43f3d473eff868eb1a0c359729b49f1779e78c462ba45ef0d1eda677699")) (FileSize 2229)) pir = PackageIdentifierRevision "unliftio" (mkVersion [0, 2, 12]) cabalFileHash in Args { argsRevision = pir , argsRlpi = RPLIHackage pir (Just casaTreeKey) , argsTreeKey = casaTreeKey , argsCabalKey = BlobKey cabalHash cabalLen }