gitlab-haskell-1.0.0.0: tests/API/MergeRequestsTests.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
module API.MergeRequestsTests (mergeRequestsTests) where
import API.Common
import Data.Aeson
import qualified Data.ByteString.Lazy.Char8 as BSL
import GitLab
import Test.Tasty
-- | https://docs.gitlab.com/ee/api/merge_requests.html
mergeRequestsTests :: [TestTree]
mergeRequestsTests =
concat
[ let fname = "data/api/merge-requests/accept-merge-request.json"
in gitlabJsonParserTests
"accept-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/add-spent-time-merge-request.json"
in gitlabJsonParserTests
"add-spent-time-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO TimeEstimate)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO TimeEstimate
parseOne (encode decodedFile) :: IO TimeEstimate
),
let fname = "data/api/merge-requests/cancel-merge-request-when-pipeline-succeeds.json"
in gitlabJsonParserTests
"cancel-merge-request-when-pipeline-succeeds"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/create-merge-request.json"
in gitlabJsonParserTests
"create-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/create-merge-request-pipeline.json"
in gitlabJsonParserTests
"create-merge-request-pipeline"
fname
(parseOne =<< BSL.readFile fname :: IO Pipeline)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Pipeline
parseOne (encode decodedFile) :: IO Pipeline
),
let fname = "data/api/merge-requests/create-todo-item.json"
in gitlabJsonParserTests
"create-todo-item"
fname
(parseOne =<< BSL.readFile fname :: IO Todo)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO Todo
parseOne (encode decodedFile) :: IO Todo
),
let fname = "data/api/merge-requests/list-group-merge-requests.json"
in gitlabJsonParserTests
"list-group-merge-requests"
fname
(parseOne =<< BSL.readFile fname :: IO [MergeRequest])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [MergeRequest]
parseOne (encode decodedFile) :: IO [MergeRequest]
),
let fname = "data/api/merge-requests/list-merge-request-pipelines.json"
in gitlabJsonParserTests
"list-merge-request-pipelines"
fname
(parseOne =<< BSL.readFile fname :: IO [Pipeline])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [Pipeline]
parseOne (encode decodedFile) :: IO [Pipeline]
),
let fname = "data/api/merge-requests/list-merge-requests.json"
in gitlabJsonParserTests
"list-merge-requests"
fname
(parseOne =<< BSL.readFile fname :: IO [MergeRequest])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [MergeRequest]
parseOne (encode decodedFile) :: IO [MergeRequest]
),
let fname = "data/api/merge-requests/list-project-merge-requests.json"
in gitlabJsonParserTests
"list-project-merge-requests"
fname
(parseOne =<< BSL.readFile fname :: IO [MergeRequest])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [MergeRequest]
parseOne (encode decodedFile) :: IO [MergeRequest]
),
let fname = "data/api/merge-requests/list-project-merge-requests.json"
in gitlabJsonParserTests
"list-project-merge-requests"
fname
(parseOne =<< BSL.readFile fname :: IO [MergeRequest])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [MergeRequest]
parseOne (encode decodedFile) :: IO [MergeRequest]
),
let fname = "data/api/merge-requests/reset-time-estimate-merge-request.json"
in gitlabJsonParserTests
"reset-time-estimate-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO TimeEstimate)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO TimeEstimate
parseOne (encode decodedFile) :: IO TimeEstimate
),
let fname = "data/api/merge-requests/reset-time-merge-request.json"
in gitlabJsonParserTests
"reset-time-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO TimeEstimate)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO TimeEstimate
parseOne (encode decodedFile) :: IO TimeEstimate
),
let fname = "data/api/merge-requests/single-merge-request-changes.json"
in gitlabJsonParserTests
"single-merge-request-changes"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/single-merge-request-participants.json"
in gitlabJsonParserTests
"single-merge-request-participants"
fname
(parseOne =<< BSL.readFile fname :: IO [User])
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO [User]
parseOne (encode decodedFile) :: IO [User]
),
let fname = "data/api/merge-requests/subscribe-merge-request.json"
in gitlabJsonParserTests
"subscribe-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/time-estimate-merge-request.json"
in gitlabJsonParserTests
"time-estimate-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO TimeEstimate)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO TimeEstimate
parseOne (encode decodedFile) :: IO TimeEstimate
),
let fname = "data/api/merge-requests/time-tracking-stats.json"
in gitlabJsonParserTests
"time-tracking-stats"
fname
(parseOne =<< BSL.readFile fname :: IO TimeEstimate)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO TimeEstimate
parseOne (encode decodedFile) :: IO TimeEstimate
),
let fname = "data/api/merge-requests/unsubscribe-merge-request.json"
in gitlabJsonParserTests
"unsubscribe-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
),
let fname = "data/api/merge-requests/update-merge-request.json"
in gitlabJsonParserTests
"update-merge-request"
fname
(parseOne =<< BSL.readFile fname :: IO MergeRequest)
( do
decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
parseOne (encode decodedFile) :: IO MergeRequest
)
-- let fname = "data/api/merge-requests/single-merge-request.json"
-- in gitlabJsonParserTests
-- "single-merge-request"
-- fname
-- (parseOne =<< BSL.readFile fname :: IO MergeRequest)
-- ( do
-- decodedFile <- parseOne =<< BSL.readFile fname :: IO MergeRequest
-- parseOne (encode decodedFile) :: IO MergeRequest
-- )
]
{- untested -}
-- -- testCase
-- -- "merge-request-comments-on-merge-requests"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/comments-on-merge-requests.json"
-- -- ),
-- -- testCase
-- -- "merge-request-get-merge-request-diff-versions"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/get-merge-request-diff-versions.json"
-- -- ),
-- -- testCase
-- -- "merge-request-merge-to-default-merge-path"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/merge-to-default-merge-path.json"
-- -- ),
-- -- testCase
-- -- "merge-request-rebase-merge-request"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/rebase-merge-request.json"
-- -- ),
-- -- testCase
-- -- "merge-request-single-merge-request-commits"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/single-merge-request-commits.json"
-- -- ),
-- -- testCase
-- -- "merge-request-single-merge-request-diff-version"
-- -- ( gitlabParseTestMany
-- -- undefined
-- -- "data/api/merge-requests/single-merge-request-diff-version.json"
-- -- ),