1{-# LANGUAGE OverloadedStrings #-} 2module Pantry.CasaSpec (spec) where 3 4import Distribution.Types.Version (mkVersion) 5import Pantry 6import Pantry.SHA256 7import Test.Hspec 8 9spec :: Spec 10spec = do 11 loadHackagePackageSpec 12 completeSpec 13 14completeSpec :: Spec 15completeSpec = 16 it 17 "completePackageLocation: unliftio_0_2_12" 18 (shouldReturn 19 (runPantryAppClean 20 (cplComplete <$> completePackageLocation (argsRlpi unliftio_0_2_12))) 21 ( PLIHackage 22 (PackageIdentifier 23 { pkgName = "unliftio" 24 , pkgVersion = mkVersion [0, 2, 12] 25 }) 26 (argsCabalKey unliftio_0_2_12) 27 (argsTreeKey unliftio_0_2_12))) 28 29loadHackagePackageSpec :: Spec 30loadHackagePackageSpec = do 31 it 32 "loadPackageRaw Exact hackage lookup" 33 (shouldReturn 34 (fmap 35 packageTreeKey 36 (runPantryAppClean (loadPackageRaw (argsRlpi unliftio_0_2_12)))) 37 (argsTreeKey unliftio_0_2_12)) 38 it 39 "loadHackagePackageRaw Exact hackage lookup" 40 (shouldReturn 41 (fmap 42 packageTreeKey 43 (runPantryAppClean (loadPackageRaw (argsRlpi unliftio_0_2_12)))) 44 (argsTreeKey unliftio_0_2_12)) 45 it 46 "loadHackagePackageRawViaCasa Exact hackage lookup" 47 (shouldReturn 48 (fmap 49 (fmap packageTreeKey) 50 (runPantryAppClean 51 (tryLoadPackageRawViaCasa 52 (argsRlpi unliftio_0_2_12) 53 (argsTreeKey unliftio_0_2_12)))) 54 (Just (argsTreeKey unliftio_0_2_12))) 55 56data Args = 57 Args 58 { argsRlpi :: !RawPackageLocationImmutable 59 , argsTreeKey :: !TreeKey 60 , argsRevision :: !PackageIdentifierRevision 61 , argsCabalKey :: !BlobKey 62 } 63 64unliftio_0_2_12 :: Args 65unliftio_0_2_12 = 66 let cabalHash = (either 67 (error . show) 68 id 69 (fromHexText 70 "b089fbc2ff2628a963c2c4b12143f2020874e3e5144ffd6c62b25639a0ca1483")) 71 cabalLen = FileSize 3325 72 cabalFileHash = 73 CFIHash 74 cabalHash 75 (Just cabalLen) 76 casaTreeKey = 77 TreeKey 78 (BlobKey 79 (either 80 (error . show) 81 id 82 (fromHexText 83 "4971b43f3d473eff868eb1a0c359729b49f1779e78c462ba45ef0d1eda677699")) 84 (FileSize 2229)) 85 pir = 86 PackageIdentifierRevision 87 "unliftio" 88 (mkVersion [0, 2, 12]) 89 cabalFileHash 90 in Args 91 { argsRevision = pir 92 , argsRlpi = RPLIHackage pir (Just casaTreeKey) 93 , argsTreeKey = casaTreeKey 94 , argsCabalKey = BlobKey cabalHash cabalLen 95 } 96