Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path

name: Publish package to the Maven Central Repository and GitHub Packages
name: CD Release

on:
release:
Expand All @@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Set up JDK 11
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
java-version: '11'
distribution: 'temurin'
Expand All @@ -34,4 +34,4 @@ jobs:
MAVEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
run: |
mvn --no-transfer-progress --batch-mode clean deploy
mvn --no-transfer-progress --batch-mode clean deploy -Dlombok.delombok.skip=true
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path

name: Publish SNAPSHOT package
name: CD Snapshot

on:
release:
Expand All @@ -18,7 +18,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Set up JDK 11
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
java-version: '11'
distribution: 'temurin'
Expand All @@ -35,4 +35,4 @@ jobs:
MAVEN_PASSWORD: ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
run: |
mvn --no-transfer-progress --batch-mode clean deploy
mvn --no-transfer-progress --batch-mode clean deploy -Dlombok.delombok.skip=true
39 changes: 39 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: CI

on:
push:
branches: ["master", "develop"]
pull_request:
branches: ["master", "develop"]

jobs:
test:
name: Test on Java ${{ matrix.java-version }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
java-version: ["11", "17", "21"]

steps:
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4

- name: Setup Java ${{ matrix.java-version }}
uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5
with:
java-version: ${{ matrix.java-version }}
distribution: "temurin"

- name: Compile
run: mvn compile --no-transfer-progress -Dlombok.delombok.skip=true

- name: Run unit tests
run: mvn test --no-transfer-progress -Dtest="**/*Test" -DfailIfNoTests=false -Dlombok.delombok.skip=true

- name: Dependency review
if: github.event_name == 'pull_request'
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v4
with:
fail-on-severity: high
43 changes: 0 additions & 43 deletions .github/workflows/main.yml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,86 @@ void searchSuccess() throws IOException, MPException, MPApiException {
assertEquals(1, result.getPaging().getTotal());
assertEquals(20458724L, result.getResults().get(0).getId());
}

@Test
void captureSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.capture(20458724L);

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
assertEquals(20458724L, payment.getId());
}

@Test
void captureWithRequestOptionsSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.capture(20458724L, buildRequestOptions());

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
}

@Test
void cancelSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.cancel(20458724L);

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
assertEquals(20458724L, payment.getId());
}

@Test
void cancelWithRequestOptionsSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.cancel(20458724L, buildRequestOptions());

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
}

@Test
void updateReleaseDateSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.updateReleaseDate(20458724L, "2024-12-31");

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
assertEquals(20458724L, payment.getId());
}

@Test
void updateReleaseDateWithRequestOptionsSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentBaseJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

AdvancedPayment payment = client.updateReleaseDate(20458724L, "2024-12-31", buildRequestOptions());

assertNotNull(payment.getResponse());
assertEquals(OK, payment.getResponse().getStatusCode());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.mercadopago.BaseClientTest;
import com.mercadopago.client.common.IdentificationRequest;
import com.mercadopago.client.common.PhoneRequest;
import com.mercadopago.client.customer.CustomerCardCreateRequest;
import com.mercadopago.exceptions.MPApiException;
import com.mercadopago.exceptions.MPException;
import com.mercadopago.helper.MockHelper;
Expand Down Expand Up @@ -420,4 +421,50 @@ private void assertCustomerFields(Customer customer) {
assertEquals("01313000", customer.getAddresses().get(0).getZipCode());
assertFalse(customer.getLiveMode());
}

private CustomerCardCreateRequest buildCardRequest() {
return CustomerCardCreateRequest.builder().token("tok_abc").build();
}

@Test
public void searchAllReturnsIterable() throws MPException, MPApiException, ParseException, IOException {
MPSearchRequest searchRequest = MPSearchRequest.builder().limit(10).offset(0).build();

Iterable<Customer> result = customerClient.searchAll(searchRequest);

assertNotNull(result);
assertNotNull(result.iterator());
}

@Test
public void updateCardSuccess() throws MPException, MPApiException, IOException {
HttpResponse httpResponse =
MockHelper.generateHttpResponseFromFile("/card/card_single.json", HttpStatus.OK);
httpResponse.setHeader(org.apache.http.HttpHeaders.CONTENT_TYPE, APPLICATION_JSON);

doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

CustomerCard card = customerClient.updateCard(customerId, "1562188766852", buildCardRequest());

assertNotNull(card);
assertEquals("1562188766852", card.getId());
}

@Test
public void updateCardWithRequestOptionsSuccess() throws MPException, MPApiException, IOException {
HttpResponse httpResponse =
MockHelper.generateHttpResponseFromFile("/card/card_single.json", HttpStatus.OK);
httpResponse.setHeader(org.apache.http.HttpHeaders.CONTENT_TYPE, APPLICATION_JSON);

doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

CustomerCard card = customerClient.updateCard(customerId, "1562188766852", buildCardRequest(), buildRequestOptions());

assertNotNull(card);
assertEquals("1562188766852", card.getId());
}
}
29 changes: 29 additions & 0 deletions src/test/java/com/mercadopago/client/order/OrderClientTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -566,4 +566,33 @@ void searchWithRequestOptionsSuccess() throws MPException, MPApiException, IOExc
Assertions.assertEquals(10, result.getPaging().getTotal());
Assertions.assertEquals(1, result.getData().size());
}

@Test
void cancelSuccess() throws MPException, MPApiException, IOException {
HttpResponse httpResponse =
generateHttpResponseFromFile(CREATE_ORDER_RESPONSE_FILE, HttpStatus.OK);
Mockito.doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

Order result = client.cancel("123");

Assertions.assertNotNull(result);
Assertions.assertEquals(HttpStatus.OK, result.getResponse().getStatusCode());
Assertions.assertEquals("123", result.getId());
}

@Test
void cancelWithRequestOptionsSuccess() throws MPException, MPApiException, IOException {
HttpResponse httpResponse =
generateHttpResponseFromFile(CREATE_ORDER_RESPONSE_FILE, HttpStatus.OK);
Mockito.doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

Order result = client.cancel("123", buildRequestOptions());

Assertions.assertNotNull(result);
Assertions.assertEquals(HttpStatus.OK, result.getResponse().getStatusCode());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -973,4 +973,56 @@ private PaymentCreateRequest newPsePayment() {
.additionalInfo(additionalInfo)
.build();
}

@Test
public void captureAmountSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentCapturedJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

BigDecimal captureAmount = new BigDecimal("75.00");
Payment paymentCaptured = client.capture(paymentTestId, captureAmount);

assertNotNull(paymentCaptured.getResponse());
assertEquals(OK, paymentCaptured.getResponse().getStatusCode());
assertTrue(paymentCaptured.isCaptured());
}

@Test
public void captureAmountWithRequestOptionsSuccess() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentCapturedJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

BigDecimal captureAmount = new BigDecimal("75.00");
Payment paymentCaptured = client.capture(paymentTestId, captureAmount, buildRequestOptions());

assertNotNull(paymentCaptured.getResponse());
assertEquals(OK, paymentCaptured.getResponse().getStatusCode());
}

@Test
public void searchAllReturnsIterable() throws IOException, MPException, MPApiException {
HttpResponse httpResponse = generateHttpResponseFromFile(paymentSearchJson, OK);
doReturn(httpResponse)
.when(HTTP_CLIENT)
.execute(any(HttpRequestBase.class), any(HttpContext.class));

MPSearchRequest searchRequest = MPSearchRequest.builder().limit(5).offset(0).build();
Iterable<Payment> result = client.searchAll(searchRequest);

assertNotNull(result);
assertNotNull(result.iterator());
}

@Test
public void searchAllWithRequestOptionsReturnsIterable() throws IOException, MPException, MPApiException {
MPSearchRequest searchRequest = MPSearchRequest.builder().limit(5).offset(0).build();
Iterable<Payment> result = client.searchAll(searchRequest, buildRequestOptions());

assertNotNull(result);
assertNotNull(result.iterator());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -246,4 +246,22 @@ private PreapprovalCreateRequest buildPreapprovalCreateRequest() {
.autoRecurring(autoRecurring)
.build();
}

@Test
void searchAllReturnsIterable() throws IOException, MPException, MPApiException {
MPSearchRequest searchRequest = MPSearchRequest.builder().limit(10).offset(0).build();
Iterable<Preapproval> result = client.searchAll(searchRequest);

assertNotNull(result);
assertNotNull(result.iterator());
}

@Test
void searchAllWithRequestOptionsReturnsIterable() throws IOException, MPException, MPApiException {
MPSearchRequest searchRequest = MPSearchRequest.builder().limit(10).offset(0).build();
Iterable<Preapproval> result = client.searchAll(searchRequest, buildRequestOptions());

assertNotNull(result);
assertNotNull(result.iterator());
}
}
Loading