@@ -28,13 +28,14 @@ import Network.Connection (TLSSettings (..))
28import Network.HTTP.Client (newManager)
28import Network.HTTP.Client (newManager)
29import Network.HTTP.Client.TLS
29import Network.HTTP.Client.TLS
30import Network.HTTP.Types.Status
30import Network.HTTP.Types.Status
31+import System.Directory (getCurrentDirectory)
31import System.Environment (lookupEnv)
32import System.Environment (lookupEnv)
32import System.Process (system)
33import System.Process (system)
34import Docker.Client
35import Docker.Client
36-- opts = defaultClientOpts
37-- opts = defaultClientOpts
37−testImageName = "docker-hs-test"
38+testImageName = "docker-hs/test"
39toStrict1 = B.concat . BL.toChunks
40toStrict1 = B.concat . BL.toChunks
@@ -63,11 +64,19 @@ testFindImage :: IO ()
63testFindImage =
64testFindImage =
64 runDocker $
65 runDocker $
65 do images <- listImages defaultListOpts >>= fromRight
66 do images <- listImages defaultListOpts >>= fromRight
66− let xs = filter ((== [imageFullName]) . imageRepoTags) images
67+ let xs = filter (elem imageFullName . imageRepoTags) images
67 lift $ assert $ length xs == 1
68 lift $ assert $ length xs == 1
69 imageFullName = testImageName <> ":latest"
70 imageFullName = testImageName <> ":latest"
72+testBuildFromDockerfile :: IO ()
73+testBuildFromDockerfile = do
74+ cur <- getCurrentDirectory
75+ let ctxDir = cur ++ "/tests"
77+ r <- buildImageFromDockerfile (defaultBuildOpts "docker-hs/dockerfile-test") ctxDir
78+ lift $ assert $ isRight r
71testRunAndReadLog :: IO ()
80testRunAndReadLog :: IO ()
72testRunAndReadLog =
81testRunAndReadLog =
73 runDocker $
82 runDocker $
@@ -159,6 +168,7 @@ integrationTests =
159 testGroup
168 testGroup
160 "Integration Tests"
169 "Integration Tests"
161 [ testCase "Get docker version" testDockerVersion
170 [ testCase "Get docker version" testDockerVersion
171+ , testCase "Build image from Dockerfile" testBuildFromDockerfile
162 , testCase "Find image by name" testFindImage
172 , testCase "Find image by name" testFindImage
163 , testCase "Run a dummy container and read its log" testRunAndReadLog
173 , testCase "Run a dummy container and read its log" testRunAndReadLog
164 , testCase "Try to stop a container that doesn't exist" testStopNonexisting
174 , testCase "Try to stop a container that doesn't exist" testStopNonexisting