@@ -17,13 +17,26 @@ import Hydra.Logging (Tracer, showLogsOnFailure)
17
17
import System.Directory (doesFileExist )
18
18
import Test.Hydra.Cluster.Utils (forEachKnownNetwork )
19
19
20
+ supportedNetworks :: [KnownNetwork ]
21
+ supportedNetworks = [Preview , Preproduction , Mainnet ]
22
+
23
+ supportedCardanoNodeVersion :: String
24
+ supportedCardanoNodeVersion = " 8.9.0"
25
+
26
+ forSupportedKnownNetworks :: String -> (KnownNetwork -> IO () ) -> Spec
27
+ forSupportedKnownNetworks msg action = forEachKnownNetwork msg $ \ network -> do
28
+ unless (network `elem` supportedNetworks) $
29
+ pendingWith $
30
+ " cardano-node " <> supportedCardanoNodeVersion <> " is only supported on " ++ show supportedNetworks
31
+ action network
32
+
20
33
spec :: Spec
21
34
spec = do
22
35
-- NOTE: We also hard-code the cardano-node version here to allow prevent
23
36
-- false positives test errors in case someone uses an "untested" /
24
37
-- different than in shell.nix version of cardano-node and cardano-cli.
25
38
it " has expected cardano-node version available" $
26
- getCardanoNodeVersion >>= (`shouldContain` " 8.9.0 " )
39
+ getCardanoNodeVersion >>= (`shouldContain` supportedCardanoNodeVersion )
27
40
28
41
around (failAfter 5 . setupTracerAndTempDir) $ do
29
42
it " withCardanoNodeDevnet does start a block-producing devnet within 5 seconds" $ \ (tr, tmp) ->
@@ -41,16 +54,18 @@ spec = do
41
54
42
55
describe " findRunningCardanoNode" $ do
43
56
it " returns Nothing on non-matching network" $ \ (tr, tmp) -> do
57
+ unless (Preview `elem` supportedNetworks) $
58
+ pendingWith " Preview is not supported so skipping this test."
44
59
withCardanoNodeOnKnownNetwork tr tmp Preview $ \ _ -> do
45
60
findRunningCardanoNode tr tmp Preproduction `shouldReturn` Nothing
46
61
47
62
it " returns Just running node on matching network" $ \ (tr, tmp) -> do
63
+ unless (Preview `elem` supportedNetworks) $
64
+ pendingWith " Preview is not supported so skipping this test."
48
65
withCardanoNodeOnKnownNetwork tr tmp Preview $ \ runningNode -> do
49
66
findRunningCardanoNode tr tmp Preview `shouldReturn` Just runningNode
50
67
51
- forEachKnownNetwork " withCardanoNodeOnKnownNetwork starts synchronizing within 10 seconds" $ \ network -> do
52
- when (network == Sanchonet ) $
53
- pendingWith " cardano-node 8.9 not anymore supported on sanchonet"
68
+ forSupportedKnownNetworks " withCardanoNodeOnKnownNetwork starts synchronizing within 10 seconds" $ \ network -> do
54
69
-- NOTE: This implies that withCardanoNodeOnKnownNetwork does not
55
70
-- synchronize the whole chain before continuing.
56
71
setupTracerAndTempDir $ \ (tr, tmp) ->
0 commit comments