From e2c2560e8ae5820bea33812af6fd0f2f07256bad Mon Sep 17 00:00:00 2001 From: Thiago Moreira Date: Tue, 18 May 2021 09:48:35 -0300 Subject: [PATCH] Add getMemberInformation without parameters method This method is used to retrieve member's information of the current user accessing the API. The endpoint is '/1/members/me' and it isn't documented on Trello's API but it is available. --- README.md | 1 + .../java/com/julienvey/trello/Trello.java | 2 ++ .../com/julienvey/trello/impl/TrelloImpl.java | 7 +++++++ .../trello/unit/MemberGetUnitTest.java | 21 +++++++++++++++++++ 4 files changed, 31 insertions(+) diff --git a/README.md b/README.md index a591aff..fc67ef3 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ The new test code is implemented using Scala. The prod code is only Java - to av | PUT /1/lists/[idList]/subscribed | POST /1/lists | POST /1/lists/[idList]/cards +| GET /1/members/me | Yes | Yes | GET /1/members/[idMember or username] | Yes | GET /1/members/[idMember or username]/[field] | GET /1/members/[idMember or username]/actions | Yes | Yes | Yes diff --git a/src/main/java/com/julienvey/trello/Trello.java b/src/main/java/com/julienvey/trello/Trello.java index 7d420fb..89ada21 100644 --- a/src/main/java/com/julienvey/trello/Trello.java +++ b/src/main/java/com/julienvey/trello/Trello.java @@ -258,6 +258,8 @@ List getBoardMemberActivity(String boardId, String memberId, Member getMemberInformation(String username); + Member getMemberInformation(); + List getMemberBoards(String userId, Argument... args); List getMemberCards(String userId, Argument... args); diff --git a/src/main/java/com/julienvey/trello/impl/TrelloImpl.java b/src/main/java/com/julienvey/trello/impl/TrelloImpl.java index 9d7acc6..d2e2e78 100644 --- a/src/main/java/com/julienvey/trello/impl/TrelloImpl.java +++ b/src/main/java/com/julienvey/trello/impl/TrelloImpl.java @@ -494,6 +494,13 @@ public Member getMemberInformation(String username) { return member; } + @Override + public Member getMemberInformation() { + Member member = get(createUrl(GET_MEMBER).asString(), Member.class, "me"); + member.setInternalTrello(this); + return member; + } + @Override public List getMemberBoards(String userId, Argument... args) { return asList(() -> get(createUrl(GET_MEMBER_BOARDS).params(args).asString(), Board[].class, userId)); diff --git a/src/test/java/com/julienvey/trello/unit/MemberGetUnitTest.java b/src/test/java/com/julienvey/trello/unit/MemberGetUnitTest.java index 7310bad..adca977 100644 --- a/src/test/java/com/julienvey/trello/unit/MemberGetUnitTest.java +++ b/src/test/java/com/julienvey/trello/unit/MemberGetUnitTest.java @@ -4,6 +4,7 @@ import com.julienvey.trello.TrelloHttpClient; import com.julienvey.trello.domain.Action; import com.julienvey.trello.domain.Board; +import com.julienvey.trello.domain.Member; import com.julienvey.trello.impl.TrelloImpl; import org.junit.Before; import org.junit.Test; @@ -81,4 +82,24 @@ public void testGetMemberActions() { eq(Action[].class), eq("idMember"), eq(""), eq("")); verifyNoMoreInteractions(httpClient); } + + @Test + public void testGetMemberInformation() { + // Given + Member expected = new Member(); + + when(httpClient.get(anyString(), any(Class.class), (String[]) anyVararg())).thenReturn(expected); + + // When + Member member = trello.getMemberInformation(); + + // Then + assertThat(member) + .isNotNull() + .isEqualTo(expected); + + verify(httpClient).get(eq("https://api.trello.com/1/members/{username}?key={applicationKey}&token={userToken}"), + eq(Member.class), eq("me"), eq(""), eq("")); + verifyNoMoreInteractions(httpClient); + } }