gerrit 0.1.4.0 → 0.1.5.0
raw patch · 7 files changed
+79/−4 lines, 7 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Gerrit: getClientWithManager :: Manager -> Text -> Maybe (Text, Text) -> GerritClient
+ Gerrit.Data.Event: [changeCreatedOn] :: Change -> Int64
+ Gerrit.Data.Event: [changeTopic] :: Change -> Maybe Text
+ Gerrit.Data.Event: [changeWip] :: Change -> Maybe Bool
- Gerrit.Data.Event: Change :: Text -> Text -> Text -> Int -> Text -> User -> Change
+ Gerrit.Data.Event: Change :: Text -> Text -> Text -> Int -> Text -> User -> Maybe Bool -> Maybe Text -> Int64 -> Change
Files
- CHANGELOG.md +5/−0
- gerrit.cabal +1/−1
- src/Gerrit.hs +1/−0
- src/Gerrit/Client.hs +8/−2
- src/Gerrit/Data/Event.hs +4/−1
- test/Spec.hs +6/−0
- test/data/EventWipStateChanged.json +54/−0
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Changelog +## 0.1.5.0++- Add missing attributes for the Event.Change+- Add getClientWithManager to support custom Manager+ ## 0.1.4.0 - Set GerritAuthor name field as optional
gerrit.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: gerrit-version: 0.1.4.0+version: 0.1.5.0 synopsis: A gerrit client library description: Gerrit is a client library to interface with https://www.gerritcodereview.com/
src/Gerrit.hs view
@@ -6,6 +6,7 @@ GerritClient, withClient, getClient,+ getClientWithManager, -- * Api getVersion,
src/Gerrit/Client.hs view
@@ -8,6 +8,7 @@ gerritGet, gerritPost, getClient,+ getClientWithManager, ) where @@ -29,9 +30,14 @@ -- | Need to be call through withOpenSSL getClient :: Text -> Maybe (Text, Text) -> IO GerritClient getClient url auth = do- let baseUrl = T.dropWhileEnd (== '/') url <> "/" manager <- newOpenSSLManager- pure $ GerritClient {..}+ pure $ getClientWithManager manager url auth++-- | Creates a GerritClient with a provided http manager.+getClientWithManager :: Manager -> Text -> Maybe (Text, Text) -> GerritClient+getClientWithManager manager url auth =+ let baseUrl = T.dropWhileEnd (== '/') url <> "/"+ in GerritClient {..} -- | Create the 'GerritClient' withClient ::
src/Gerrit/Data/Event.hs view
@@ -94,7 +94,10 @@ changeSubject :: Text, changeNumber :: Int, changeUrl :: Text,- changeOwner :: User+ changeOwner :: User,+ changeWip :: Maybe Bool,+ changeTopic :: Maybe Text,+ changeCreatedOn :: Int64 } deriving (Show, Eq, Generic)
test/Spec.hs view
@@ -66,6 +66,9 @@ testCase "Test EventRefUpdated.json" $ assertBool "EventRefUpdated is decoded" $ isEventRefUpdated $ decode $ getRaw "EventRefUpdated.json",+ testCase "Test EventWipStateChanged.json" $+ assertBool "EventWipStateChanged is decoded" $+ isEventWIPChanged $ decode $ getRaw "EventWipStateChanged.json", testCase "Test ReviewResult.json" $ assertBool "ReviewResult is decoded" $ isReviewResult $ decode $ getRaw "ReviewResult.json",@@ -106,6 +109,9 @@ _ -> False isEventRefUpdated = \case Just (Event.EventRefUpdated _) -> True+ _ -> False+ isEventWIPChanged = \case+ Just (Event.EventWorkInProgressStateChanged _) -> True _ -> False isChange :: Maybe GerritChange -> Bool isChange = \case
+ test/data/EventWipStateChanged.json view
@@ -0,0 +1,54 @@+{+ "changer": {+ "name": "Tristan de Cacqueray",+ "email": "tdecacqu@redhat.com",+ "username": "TristanCacqueray"+ },+ "patchSet": {+ "number": 6,+ "revision": "dbe1837841ddd1278677214d77a5365fab68ba88",+ "parents": [+ "3a0179a4f5c3e6149aab53b5176157dfca48ad5f"+ ],+ "ref": "refs/changes/54/23354/6",+ "uploader": {+ "name": "Tristan de Cacqueray",+ "email": "tdecacqu@redhat.com",+ "username": "TristanCacqueray"+ },+ "createdOn": 1642448281,+ "author": {+ "name": "Tristan de Cacqueray",+ "email": "tdecacqu@redhat.com",+ "username": "TristanCacqueray"+ },+ "kind": "REWORK",+ "sizeInsertions": 17,+ "sizeDeletions": 10+ },+ "change": {+ "project": "software-factory/sf-config",+ "branch": "3.6",+ "topic": "gerrit-3.4",+ "id": "I9b8f6a4d8a379b8c82a10a84aa7d9e8850a72ef6",+ "number": 23354,+ "subject": "Add support for gerrit 3.4",+ "owner": {+ "name": "Tristan de Cacqueray",+ "email": "tdecacqu@redhat.com",+ "username": "TristanCacqueray"+ },+ "url": "https://softwarefactory-project.io/r/c/software-factory/sf-config/+/23354",+ "commitMessage": "Add support for gerrit 3.4\n\nChange-Id: I9b8f6a4d8a379b8c82a10a84aa7d9e8850a72ef6\n",+ "createdOn": 1638894090,+ "status": "NEW",+ "wip": true+ },+ "project": "software-factory/sf-config",+ "refName": "refs/heads/3.6",+ "changeKey": {+ "id": "I9b8f6a4d8a379b8c82a10a84aa7d9e8850a72ef6"+ },+ "type": "wip-state-changed",+ "eventCreatedOn": 1642513882+}