graphql-engine/server/src-test/Hasura/Server/VersionSpec.hs
Auke Booij 99f7a0fb87 Amend console assets versioning scheme for CE
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5628
GitOrigin-RevId: 550cc987a7142f46f4c380d8217fe6ad8ce53fe9
2022-08-26 12:39:16 +00:00

42 lines
1.6 KiB
Haskell

module Hasura.Server.VersionSpec (spec) where
import Data.Text qualified as T
import Data.Text.Conversions (FromText (..))
import Hasura.Prelude
import Hasura.Server.Version
import Test.Hspec
versions :: [(Text, Text)]
versions =
[ ("v1.2.4", "channel/stable/v1.2"),
("2.3.4", "channel/stable/v2.3"),
("v1.0.0-alpha45", "channel/alpha/v1.0"),
("v1.0.0-beta.01", "channel/beta/v1.0"),
("v2.3.1-rc.11", "channel/rc/v2.3"),
("v1.2.0-rj.1", "channel/rj/v1.2"),
-- Apparently this one was generated in a different way?
-- ("v2.0.0-pro.9", "channel/stable/v2.0"),
("v2.0.0-alpha.pro.9", "channel/alpha/v2.0"),
("v2.12.0-ce", "channel/versioned/v2.12.0-ce"),
("v2.12.1-ce", "channel/versioned/v2.12.1-ce"),
("v2.12.0-beta.1-ce", "channel/versioned/v2.12.0-beta.1-ce"),
("v2.12.0-beta.2-ce", "channel/versioned/v2.12.0-beta.2-ce"),
("v2.12.0", "channel/stable/v2.12"),
("v2.12.1", "channel/stable/v2.12"),
("v2.12.0-beta.1", "channel/beta/v2.12"),
("v2.12.0-beta.2", "channel/beta/v2.12"),
("v2.12.0-alpha.1", "channel/alpha/v2.12"),
("v2.12.0-alpha.2", "channel/alpha/v2.12")
-- The Haskell server does not seem to be responsible for generating version strings for Cloud
-- ("v2.12.0-cloud.1", "channel/versioned/v2.12.0-cloud.1")
-- ("v2.0.0-cloud.9", "channel/stable/v2.0"),
-- ("v2.0.0-alpha.cloud.9", "channel/alpha/v2.0"),
]
spec :: Spec
spec = describe "console assets version" do
parallel $
for_ versions \(input, output) ->
it ("versionToAssetsVersion returns expected output for " <> T.unpack input) $
versionToAssetsVersion (fromText input) `shouldBe` output