hadolint-2.1.0: test/DL4004.hs
module DL4004 (tests) where
import Data.Text as Text
import Helpers
import Test.Hspec
tests :: SpecWith ()
tests = do
let ?rulesConfig = mempty
describe "DL4004" $ do
it "no cmd" $ ruleCatchesNot "DL4004" "FROM busybox"
it "many entrypoints" $
let dockerFile =
[ "FROM debian",
"ENTRYPOINT bash",
"RUN foo",
"ENTRYPOINT another"
]
in ruleCatches "DL4004" $ Text.unlines dockerFile
it "single entrypoint, different stages" $
let dockerFile =
[ "FROM debian as distro1",
"ENTRYPOINT bash",
"RUN foo",
"FROM debian as distro2",
"ENTRYPOINT another"
]
in ruleCatchesNot "DL4004" $ Text.unlines dockerFile
it "many entrypoints, different stages" $
let dockerFile =
[ "FROM debian as distro1",
"ENTRYPOINT bash",
"RUN foo",
"ENTRYPOINT another",
"FROM debian as distro2",
"ENTRYPOINT another"
]
in ruleCatches "DL4004" $ Text.unlines dockerFile
it "single entry" $ ruleCatchesNot "DL4004" "ENTRYPOINT /bin/true"
it "no entry" $ ruleCatchesNot "DL4004" "FROM busybox"