gitlab-haskell-1.0.0.0: tests/API/TagsTests.hs
{-# LANGUAGE FlexibleInstances #-}
module API.TagsTests (tagsTests) where
import API.Common
import Control.Monad.IO.Class
import Data.Aeson
import qualified Data.ByteString.Lazy.Char8 as BSL
import GitLab
import GitLab.SystemHooks.GitLabSystemHooks
import GitLab.SystemHooks.Types
import Test.Tasty
import Test.Tasty.HUnit
-- | https://docs.gitlab.com/ee/api/tags.html
tagsTests :: [TestTree]
tagsTests =
concat
[ let fname = "data/api/tags/list-project-repository-tags.json"
in gitlabJsonParserTests
"list-project-repository-tags"
fname
(parseOne =<< BSL.readFile fname :: IO [Tag])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Tag]
parseOne (encode decodedFile) :: IO [Tag]
),
let fname = "data/api/tags/single-repository-tag.json"
in gitlabJsonParserTests
"single-repository-tag"
fname
(parseOne =<< BSL.readFile fname :: IO Tag)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Tag
parseOne (encode decodedFile) :: IO Tag
),
let fname = "data/api/tags/create-new-tag.json"
in gitlabJsonParserTests
"create-new-tag"
fname
(parseOne =<< BSL.readFile fname :: IO Tag)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Tag
parseOne (encode decodedFile) :: IO Tag
)
]