gitlab-haskell-1.0.0.0: tests/API/MembersTests.hs
{-# LANGUAGE FlexibleInstances #-}
module API.MembersTests (membersTests) 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/members.html
membersTests :: [TestTree]
membersTests =
concat
[ let fname = "data/api/members/list-pending-members.json"
in gitlabJsonParserTests
"list-project-repository-tags"
fname
(parseOne =<< BSL.readFile fname :: IO [Member])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Member]
parseOne (encode decodedFile) :: IO [Member]
),
let fname = "data/api/members/billable-members-of-group.json"
in gitlabJsonParserTests
"billable-members-of-group"
fname
(parseOne =<< BSL.readFile fname :: IO [Member])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Member]
parseOne (encode decodedFile) :: IO [Member]
),
let fname = "data/api/members/removed-override-flag-member-group.json"
in gitlabJsonParserTests
"removed-override-flag-member-group"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/member-group-or-project-including-inherited-invited.json"
in gitlabJsonParserTests
"member-group-or-project-including-inherited-invited"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/override-flag-member-group.json"
in gitlabJsonParserTests
"override-flag-member-group"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/member-group-or-project.json"
in gitlabJsonParserTests
"member-group-or-project"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/edit-member-group-project.json"
in gitlabJsonParserTests
"edit-member-group-project"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/list-all-memembers-group-or-project-including-inherited-invited.json"
in gitlabJsonParserTests
"list-all-memembers-group-or-project-including-inherited-invited"
fname
(parseOne =<< BSL.readFile fname :: IO [Member])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Member]
parseOne (encode decodedFile) :: IO [Member]
),
let fname = "data/api/members/add-member-group-project.json"
in gitlabJsonParserTests
"add-member-group-project"
fname
(parseOne =<< BSL.readFile fname :: IO Member)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
parseOne (encode decodedFile) :: IO Member
),
let fname = "data/api/members/list-all-memembers-group-or-project.json"
in gitlabJsonParserTests
"list-all-memembers-group-or-project"
fname
(parseOne =<< BSL.readFile fname :: IO [Member])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Member]
parseOne (encode decodedFile) :: IO [Member]
)
-- let fname = "data/api/members/membership-billable-member-of-group.json"
-- in gitlabJsonParserTests
-- "membership-billable-member-of-group"
-- fname
-- (parseOne =<< BSL.readFile fname :: IO Member)
-- ( do
-- decodedFile <- parseOne =<< BSL.readFile fname :: IO Member
-- parseOne (encode decodedFile) :: IO Member
-- )
]