on master help sign in
Fix bug where an Image's RepoTags is null
c1c2f02Deni Bertovic
src/Docker/Client/Types.hs+2−2
@@ -562,7 +562,7 @@ data Image = DockerImage {
562 imageId :: ImageID
562 imageId :: ImageID
563 , imageCreated :: Integer
563 , imageCreated :: Integer
564 , imageParentId :: Maybe ImageID
564 , imageParentId :: Maybe ImageID
565− , imageRepoTags :: [Tag]
565+ , imageRepoTags :: Maybe [Tag]
566 , imageRepoDigests :: Maybe [Digest]
566 , imageRepoDigests :: Maybe [Digest]
567 , imageSize :: Integer
567 , imageSize :: Integer
568 , imageVirtualSize :: Integer
568 , imageVirtualSize :: Integer
@@ -580,7 +580,7 @@ instance FromJSON Image where
580 imageId <- o .: "Id"
580 imageId <- o .: "Id"
581 imageCreated <- o .: "Created"
581 imageCreated <- o .: "Created"
582 imageParentId <- o .:? "ParentId"
582 imageParentId <- o .:? "ParentId"
583− imageRepoTags <- o .: "RepoTags"
583+ imageRepoTags <- o .:? "RepoTags"
584 imageRepoDigests <- o .:? "RepoDigests"
584 imageRepoDigests <- o .:? "RepoDigests"
585 imageSize <- o .: "Size"
585 imageSize <- o .: "Size"
586 imageVirtualSize <- o .: "VirtualSize"
586 imageVirtualSize <- o .: "VirtualSize"
tests/tests.hs+8−3
@@ -51,9 +51,14 @@ testDockerVersion = runDocker $ do
51
51
52testFindImage :: IO ()
52testFindImage :: IO ()
53testFindImage = runDocker $ do
53testFindImage = runDocker $ do
54− images <- listImages defaultListOpts >>= fromRight
54+ images <- listImages defaultListOpts >>= fromRight
55+ let xs = filter (tagFilter imageFullName) images
56+ lift $ assert $ length xs == 1
55− let x = filter ((== [testImageName<>":latest"]) . imageRepoTags) images
57+ where imageFullName = testImageName <> ":latest"
56− lift $ assert $ length x == 1
58+ tagFilter :: Text -> Image -> Bool
59+ tagFilter t i = case (imageRepoTags i) of
60+ Nothing -> False
61+ Just tags -> elem t tags
57
62
58testRunAndReadLog :: IO ()
63testRunAndReadLog :: IO ()
59testRunAndReadLog = runDocker $ do
64testRunAndReadLog = runDocker $ do