@@ -24,7 +24,7 @@ import qualified Data.ByteString.Lazy as BL
24import qualified Data.HashMap.Strict as HM
24import qualified Data.HashMap.Strict as HM
25import Data.Int (Int)
25import Data.Int (Int)
26import qualified Data.Map as M
26import qualified Data.Map as M
27−import Data.Maybe (fromJust, isJust, isNothing, listToMaybe)
27+import Data.Maybe (fromJust, isJust)
28import Data.Monoid
28import Data.Monoid
29import Data.Text (Text, unpack)
29import Data.Text (Text, unpack)
30import qualified Data.Vector as V
30import qualified Data.Vector as V
@@ -40,7 +40,6 @@ import Docker.Client
41-- opts = defaultClientOpts
41-- opts = defaultClientOpts
42testImageName = "docker-hs/test"
42testImageName = "docker-hs/test"
43−imageToDeleteFullName = "hello-world:latest"
45toStrict1 = B.concat . BL.toChunks
44toStrict1 = B.concat . BL.toChunks
@@ -74,27 +73,13 @@ testFindImage =
75 imageFullName = testImageName <> ":latest"
74 imageFullName = testImageName <> ":latest"
77−testDeleteImage :: IO ()
78−testDeleteImage = runDocker $ do
79− img <- fmap fromJust findTestImage
80− result <- deleteImage defaultImageDeleteOpts (imageId img)
81− lift $ assert $ isRight result
82− maybeTestImageAfter <- findTestImage
83− lift $ assert $ isNothing maybeTestImageAfter
87− images <- listImages defaultListOpts >>= fromRight
89− $ filter (elem imageToDeleteFullName . imageRepoTags) images
91testListContainers :: IO ()
76testListContainers :: IO ()
92testListContainers =
77testListContainers =
93 runDocker $
78 runDocker $
94 do containerId <- createContainer (defaultCreateOpts (testImageName <> ":latest")) Nothing
79 do containerId <- createContainer (defaultCreateOpts (testImageName <> ":latest")) Nothing
95 c <- fromRight containerId
80 c <- fromRight containerId
96 res <- listContainers $ ListOpts { all=True }
81 res <- listContainers $ ListOpts { all=True }
97− deleteContainer (ContainerDeleteOpts True True) c
82+ deleteContainer (DeleteOpts True True) c
98 lift $ assert $ isRight res
83 lift $ assert $ isRight res
100testBuildFromDockerfile :: IO ()
85testBuildFromDockerfile :: IO ()
@@ -125,7 +110,7 @@ testRunAndReadLogHelper networkingConfig =
125 lift $ assertBool ("starting the container, unexpected status: " ++ show status1) $ isRightUnit status1
110 lift $ assertBool ("starting the container, unexpected status: " ++ show status1) $ isRightUnit status1
126 logs <- getContainerLogs defaultLogOpts c >>= fromRight
111 logs <- getContainerLogs defaultLogOpts c >>= fromRight
127 lift $ assert $ (C.pack "123") `C.isInfixOf` (toStrict1 logs)
112 lift $ assert $ (C.pack "123") `C.isInfixOf` (toStrict1 logs)
128− status3 <- deleteContainer (ContainerDeleteOpts True True) c
113+ status3 <- deleteContainer (DeleteOpts True True) c
129 lift $ assertBool ("deleting container, unexpected status: " ++ show status3) $ isRightUnit status3
114 lift $ assertBool ("deleting container, unexpected status: " ++ show status3) $ isRightUnit status3
130 mapM_ removeNetwork createdNetworks
115 mapM_ removeNetwork createdNetworks
@@ -243,7 +228,6 @@ integrationTests =
243 [ testCase "Get docker version" testDockerVersion
228 [ testCase "Get docker version" testDockerVersion
244 , testCase "Build image from Dockerfile" testBuildFromDockerfile
229 , testCase "Build image from Dockerfile" testBuildFromDockerfile
245 , testCase "Find image by name" testFindImage
230 , testCase "Find image by name" testFindImage
246− , testCase "Delete image" testDeleteImage
247 , testCase "List containers" testListContainers
231 , testCase "List containers" testListContainers
248 , testCase "Run a dummy container and read its log" testRunAndReadLog
232 , testCase "Run a dummy container and read its log" testRunAndReadLog
249 , testCase "Run a dummy container with networking and read its log" testRunAndReadLogWithNetworking
233 , testCase "Run a dummy container with networking and read its log" testRunAndReadLogWithNetworking
@@ -265,11 +249,7 @@ jsonTests =
267setup :: IO ()
251setup :: IO ()
270− [ "docker pull " ++ unpack imageToDeleteFullName
271− , "docker build -t " ++ unpack testImageName ++ " tests"
252+setup = system ("docker build -t " ++ unpack testImageName ++ " tests") >> return ()
274isLeft = not . isRight
254isLeft = not . isRight