@@ -28,13 +28,14 @@ import Network.Connection (TLSSettings (..))
2828import Network.HTTP.Client (newManager)
2929import Network.HTTP.Client.TLS
3030import Network.HTTP.Types.Status
31+import System.Directory (getCurrentDirectory)
3132import System.Environment (lookupEnv)
3233import System.Process (system)
3334
3435import Docker.Client
3536
3637-- opts = defaultClientOpts
37−testImageName = "docker-hs-test"
38+testImageName = "docker-hs/test"
3839
3940toStrict1 = B.concat . BL.toChunks
4041
@@ -63,11 +64,19 @@ testFindImage :: IO ()
6364testFindImage =
6465 runDocker $
6566 do images <- listImages defaultListOpts >>= fromRight
66− let xs = filter ((== [imageFullName]) . imageRepoTags) images
67+ let xs = filter (elem imageFullName . imageRepoTags) images
6768 lift $ assert $ length xs == 1
6869 where
6970 imageFullName = testImageName <> ":latest"
7071
72+testBuildFromDockerfile :: IO ()
73+testBuildFromDockerfile = do
74+ cur <- getCurrentDirectory
75+ let ctxDir = cur ++ "/tests"
76+ runDocker $ do
77+ r <- buildImageFromDockerfile (defaultBuildOpts "docker-hs/dockerfile-test") ctxDir
78+ lift $ assert $ isRight r
79+
7180testRunAndReadLog :: IO ()
7281testRunAndReadLog =
7382 runDocker $
@@ -159,6 +168,7 @@ integrationTests =
159168 testGroup
160169 "Integration Tests"
161170 [ testCase "Get docker version" testDockerVersion
171+ , testCase "Build image from Dockerfile" testBuildFromDockerfile
162172 , testCase "Find image by name" testFindImage
163173 , testCase "Run a dummy container and read its log" testRunAndReadLog
164174 , testCase "Try to stop a container that doesn't exist" testStopNonexisting