Skip to content

Commit e2f0462

Browse files
committed
Merge remote-tracking branch 'origin/main' into dependabot/maven/org.mockito-mockito-inline-5.2.0
2 parents 4eee6d6 + 2b9a4ff commit e2f0462

13 files changed

Lines changed: 1398 additions & 213 deletions

File tree

.github/workflows/test.yml

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,31 @@ name: Publish Test Coverage Report
33
on:
44
push:
55
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
68

79
jobs:
810
publish-code-coverage-report:
9-
name: JAVA
11+
name: JAVA
1012
runs-on: ubuntu-latest
1113
if: "! contains(toJSON(github.event.head_commit.message), 'skip ci')"
1214
steps:
13-
- uses: actions/checkout@v3
14-
- name: Set up JDK 8
15-
uses: actions/setup-java@v3
16-
with:
17-
java-version: '8'
18-
distribution: 'temurin'
19-
cache: maven
20-
- name: Upload coverage report
21-
uses: paambaati/codeclimate-action@v3.2.0
22-
env:
23-
# Set CC_TEST_REPORTER_ID as secret of your repo
24-
CC_TEST_REPORTER_ID: ${{secrets.CODE_CLIMATE_TEST_REPORTER_ID}}
25-
JACOCO_SOURCE_PATH: "${{github.workspace}}/src/main/java"
26-
with:
27-
# The report file must be there, otherwise Code Climate won't find it
28-
coverageCommand: mvn test
29-
coverageLocations: ${{github.workspace}}/target/site/jacoco/jacoco.xml:jacoco
15+
- name: Checkout Repository
16+
uses: actions/checkout@v3
17+
18+
- name: Set up JDK 8
19+
uses: actions/setup-java@v3
20+
with:
21+
java-version: '8'
22+
distribution: 'temurin'
23+
cache: maven
24+
25+
- name: Build and Run Tests with Coverage
26+
run: mvn test
27+
28+
- name: SonarQube Scan
29+
if: ${{ github.actor != 'dependabot[bot]' }}
30+
uses: SonarSource/sonarqube-scan-action@v6.0.0
31+
env:
32+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
33+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
[![Maven Central][maven-badge]][maven-url]
44
[![Tests][test-badge]][test-url]
55
[![Lint Code][lint-badge]][lint-url]
6-
[![Test Coverage][test-coverage-url]][code-climate-url]
6+
[![Test Coverage][coverage-badge]][coverage-url]
7+
[![Maintainability Rating][maintainability-badge]][maintainability-url]
8+
[![Vulnerabilities][vulnerabilities-badge]][vulnerabilities-url]
79
[![Licence][license-badge]][license-url]
810

911
## Introduction
@@ -47,19 +49,20 @@ Core lib's Maven group ID is `io.apimatic`, and its artifact ID is `core`.
4749
| [`Or`](./src/main/java/io/apimatic/core/authentication/multiple/Or.java) | A class to hold the algorithm for `Or` combination of auth schemes |
4850
| [`Single`](./src/main/java/io/apimatic/core/authentication/multiple/Single.java) | A class to hold the logic for single auth scheme, it is used as leaf node for auth combination or it could be used directly to apply one auth only to the http request |
4951
| [`CoreHttpClientConfiguration`](./src/main/java/io/apimatic/core/configurations/http/client/CoreHttpClientConfiguration.java) | To hold HTTP Client Configuration |
52+
| [`CoreProxyConfiguration`](./src/main/java/io/apimatic/core/configurations/http/client/CoreProxyConfiguration.java) | To hold the Proxy configuration for the underlying HTTP client instance. |
5053
| [`EndpointConfiguration`](./src/main/java/io/apimatic/core/configurations/http/request/EndpointConfiguration.java) | The configuration for an endpoint |
5154
| [`AsyncExecutor`](./src/main/java/io/apimatic/core/request/async/AsyncExecutor.java) | Executor service for asynchronous HTTP endpoint call |
5255
| [`OptionalNullable`](./src/main/java/io/apimatic/core/types/OptionalNullable.java) | Class to encapsulate fields which are Optional as well as Nullable |
5356
| [`BaseModel`](./src/main/java/io/apimatic/core/types/BaseModel.java) | Base model for all the models |
5457
| [`CoreApiException`](./src/main/java/io/apimatic/core/types/CoreApiException.java) | This is the base class for all exceptions that represent an error response from the server |
5558
| [`MultipartFileWrapper`](./src/main/java/io/apimatic/core/types/http/request/MultipartFileWrapper.java) | To wrap file and headers to be sent as part of a multipart request |
5659
| [`MultipartWrapper`](./src/main/java/io/apimatic/core/types/http/request/MultipartWrapper.java) | To wrap byteArray and headers to be sent as part of a multipart request |
57-
| [`PaginatedData`](./src/main/java/io/apimatic/core/types/pagination/PaginatedData.java) | To provide pagination functionality for both synchronous and asynchronous pagination types |
58-
| [`PageWrapper`](./src/main/java/io/apimatic/core/types/pagination/PageWrapper.java) | To wrap a single page along with its items and meta-data in the paginated data |
59-
| [`CursorPagination`](./src/main/java/io/apimatic/core/types/pagination/CursorPagination.java) | Provides cursor based pagination strategy |
60-
| [`LinkPagination`](./src/main/java/io/apimatic/core/types/pagination/LinkPagination.java) | Provides link based pagination strategy |
61-
| [`OffsetPagination`](./src/main/java/io/apimatic/core/types/pagination/OffsetPagination.java) | Provides offset based pagination strategy |
62-
| [`PagePagination`](./src/main/java/io/apimatic/core/types/pagination/PagePagination.java) | Provides page based pagination strategy |
60+
| [`PaginatedData`](./src/main/java/io/apimatic/core/types/pagination/PaginatedData.java) | To provide pagination functionality for both synchronous and asynchronous pagination types |
61+
| [`PageWrapper`](./src/main/java/io/apimatic/core/types/pagination/PageWrapper.java) | To wrap a single page along with its items and meta-data in the paginated data |
62+
| [`CursorPagination`](./src/main/java/io/apimatic/core/types/pagination/CursorPagination.java) | Provides cursor based pagination strategy |
63+
| [`LinkPagination`](./src/main/java/io/apimatic/core/types/pagination/LinkPagination.java) | Provides link based pagination strategy |
64+
| [`OffsetPagination`](./src/main/java/io/apimatic/core/types/pagination/OffsetPagination.java) | Provides offset based pagination strategy |
65+
| [`PagePagination`](./src/main/java/io/apimatic/core/types/pagination/PagePagination.java) | Provides page based pagination strategy |
6366
| [`CoreHelper`](./src/main/java/io/apimatic/core/utilities/CoreHelper.java) | This is a Helper class with commonly used utilities for the SDK |
6467
| [`DateHelper`](./src/main/java/io/apimatic/core/utilities/DateHelper.java) | This is a utility class for LocalDate operations |
6568
| [`LocalDateTimeHelper`](./src/main/java/io/apimatic/core/utilities/LocalDateTimeHelper.java) | This is a utility class for LocalDateTime operations |
@@ -70,8 +73,10 @@ Core lib's Maven group ID is `io.apimatic`, and its artifact ID is `core`.
7073
| [`CoreJsonObject`](./src/main/java/io/apimatic/core/utilities/CoreJsonObject.java) | Wrapper class for JSON object |
7174
| [`CoreJsonValue`](./src/main/java/io/apimatic/core/utilities/CoreJsonValue.java) | Wrapper class for JSON value |
7275
| [`TestHelper`](./src/main/java/io/apimatic/core/utilities/TestHelper.java) | Contains utility methods for comparing objects, arrays and files |
73-
| [`AdditionalProperties`](./src/main/java/io/apimatic/core/types/AdditionalProperties.java) | A generic class for managing additional properties in a model. |
76+
| [`AdditionalProperties`](./src/main/java/io/apimatic/core/types/AdditionalProperties.java) | A generic class for managing additional properties in a model. |
7477
| [`ConversionHelper`](./src/main/java/io/apimatic/core/utilities/ConversionHelper.java) | A Helper class for the coversion of type (provided as function) for all structures (array, map, array of map, n-dimensional arrays etc) supported in the SDK. |
78+
| [`HmacSignatureVerifier`](./src/main/java/io/apimatic/core/security/HmacSignatureVerifier.java) | HMAC-based signature verifier for HTTP requests. |
79+
| [`DigestCodecFactory`](./src/main/java/io/apimatic/core/security/DigestCodecFactory.java) | Factory class for creating digest codecs based on encoding type (Hex, Base64, Base64Url). |
7580

7681
## Interfaces
7782

@@ -82,6 +87,7 @@ Core lib's Maven group ID is `io.apimatic`, and its artifact ID is `core`.
8287
| [`RequestSupplier`](./src/main/java/io/apimatic/core/request/async/RequestSupplier.java) | A Request Supplier that supplies the request |
8388
| [`TypeCombinator`](./src/main/java/io/apimatic/core/annotations/TypeCombinator.java) | This is a container of annotations for oneOf/anyOf cases |
8489
| [`PaginationStrategy`](./src/main/java/io/apimatic/core/types/pagination/PaginationStrategy.java) | Provides the functionality to apply pagination parameters and return new request |
90+
| [`DigestCodec`](./src/main/java/io/apimatic/core/security/DigestCodec.java) | Interface for encoding and decoding digest values |
8591

8692
## Links
8793

@@ -100,11 +106,17 @@ Core lib's Maven group ID is `io.apimatic`, and its artifact ID is `core`.
100106

101107
[test-url]: https://github.com/apimatic/core-lib-java/actions/workflows/build-and-test.yml
102108

103-
[code-climate-url]: https://codeclimate.com/github/apimatic/core-lib-java
109+
[coverage-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_core-lib-java&metric=coverage
104110

105-
[maintainability-url]: https://api.codeclimate.com/v1/badges/74e497222508f9e858d6/maintainability
111+
[coverage-url]: https://sonarcloud.io/summary/new_code?id=apimatic_core-lib-java
106112

107-
[test-coverage-url]: https://api.codeclimate.com/v1/badges/74e497222508f9e858d6/test_coverage
113+
[maintainability-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_core-lib-java&metric=sqale_rating
114+
115+
[maintainability-url]: https://sonarcloud.io/summary/new_code?id=apimatic_core-lib-java
116+
117+
[vulnerabilities-badge]: https://sonarcloud.io/api/project_badges/measure?project=apimatic_core-lib-java&metric=vulnerabilities
118+
119+
[vulnerabilities-url]: https://sonarcloud.io/summary/new_code?id=apimatic_core-lib-java
108120

109121
[lint-badge]: https://github.com/apimatic/core-lib-java/actions/workflows/linter.yml/badge.svg
110122

0 commit comments

Comments
 (0)