packages feed

cachix-0.3.8: test/NixVersionSpec.hs

module NixVersionSpec where

import Cachix.Client.NixVersion
import Protolude
import Test.Hspec

spec :: Spec
spec = describe "parseNixVersion" $ do
  it "parses 'nix-env (Nix) 2.0' as Nix20" $
    parseNixVersion "nix-env (Nix) 2.0"
      `shouldBe` Left "Nix 2.0.2 or lower is not supported. Please upgrade: https://nixos.org/nix/"
  it "parses 'nix-env (Nix) 2.0.1' as Nix201" $
    parseNixVersion "nix-env (Nix) 2.0.1"
      `shouldBe` Right ()
  it "parses 'nix-env (Nix) 1.11.13' as Nix1XX" $
    parseNixVersion "nix-env (Nix) 1.11.13"
      `shouldBe` Left "Nix 2.0.2 or lower is not supported. Please upgrade: https://nixos.org/nix/"
  it "parses 'nix-env (Nix) 2.0.2' as Nix202" $
    parseNixVersion "nix-env (Nix) 2.0.2"
      `shouldBe` Right ()
  it "fails with unknown string 'foobar'" $
    parseNixVersion "foobar"
      `shouldBe` Left "Couldn't parse 'nix-env --version' output: foobar"