Skip to content

Commit 2feba97

Browse files
committed
release 3.0.19
1 parent f6f5c1b commit 2feba97

40 files changed

Lines changed: 587 additions & 118 deletions

File tree

RELEASE_NOTES.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1917,3 +1917,37 @@
19171917
| 🔧 zmienione | 4 |
19181918
| ➖ usunięte | 0 |
19191919

1920+
1921+
# Changelog zmian - `## 3.0.19 (2026-03-06)`- `API: 2.2.0`
1922+
1923+
## 1. ksef-client
1924+
1925+
### 1.1 api
1926+
- **Url.java**: 🔧 dodanie enuma `PERMISSION_SEARCH_ENTITIES_GRANTS("permissions/query/entities/grants", "apiV2PermissionsQueryEntitiesGrantsGet")`
1927+
- **DefaultKsefClient.java**: 🔧 dodano metodę `QueryEntityPermissionsResponse searchEntityInvoiceContext(EntityPermissionsQueryRequest request, int pageOffset, int pageSize, String accessToken)` umożliwiającą pobranie listy uprawnień do obsługi faktur w bieżącym kontekście logowania.
1928+
1929+
### 1.3 client.interfaces
1930+
- **KsefClient.java**: 🔧 dodanie metod zgodnie z implementacją w `DefaultKsefClient.java`
1931+
1932+
### 1.3 client.model
1933+
- **auth/AuthenticationChallengeResponse.java**: 🔧 dodano pole `String clientIp`
1934+
- **permission/search/EntityPermissionItem.java**: ➕ dodano klasę
1935+
- **permission/search/EntityPermissionItemScope.java**: ➕ dodano enuma
1936+
- **permission/search/EntityPermissionsQueryRequest.java**: ➕ dodano klasę
1937+
- **permission/search/QueryEntityPermissionsResponse.java**: ➕ dodano klasę
1938+
1939+
## 2. demo-web-app
1940+
1941+
### 2.1 integrationTest
1942+
- **SearchEntityPermissionsIntegrationTest.java**: ➕ dodano scenariusz testowy dla pobrania listy uprawnień do obsługi faktur w bieżącym kontekście logowania
1943+
- **@.java**: 🔧 refactor - w scenariuszach testowych do `Awaitility.await()` dodano `pollDelay(Duration.ZERO)`
1944+
1945+
---
1946+
## 3. Podsumowanie
1947+
1948+
| Typ zmiany | Liczba plików |
1949+
|-------------|---------------|
1950+
| ➕ dodane | 5 |
1951+
| 🔧 zmienione | 32 |
1952+
| ➖ usunięte | 0 |
1953+

demo-web-app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "pl.akmf.ksef"
11-
version = "3.0.18"
11+
version = "3.0.19"
1212

1313
java {
1414
toolchain {

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/AuthorizationIntegrationTest.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.io.IOException;
3232
import java.security.PrivateKey;
3333
import java.security.cert.X509Certificate;
34+
import java.time.Duration;
3435
import java.time.OffsetDateTime;
3536
import java.util.List;
3637

@@ -55,8 +56,8 @@ void refreshTokenE2EIntegrationTest() throws JAXBException, IOException, ApiExce
5556

5657
//then
5758
Assertions.assertNotNull(refreshTokenResult);
58-
String newAccessToken = refreshTokenResult.getAccessToken().getToken();
59-
Assertions.assertNotEquals(initialAccessToken,newAccessToken);
59+
String newAccessToken = refreshTokenResult.getAccessToken().getToken();
60+
Assertions.assertNotEquals(initialAccessToken, newAccessToken);
6061
}
6162

6263
@Test
@@ -71,7 +72,8 @@ void authorizeByKSeFCertificateWithECDSaEncoding() throws Exception {
7172

7273
String referenceNumber = sendEnrollment(csr, accessToken);
7374

74-
await().atMost(30, SECONDS)
75+
await().pollDelay(Duration.ZERO)
76+
.atMost(30, SECONDS)
7577
.pollInterval(2, SECONDS)
7678
.until(() -> isEnrolmentStatusReady(referenceNumber, accessToken));
7779

@@ -103,7 +105,8 @@ void authorizeByKSeFCertificateWithECDSaEncoding() throws Exception {
103105
SignatureResponse submitAuthTokenResponse = ksefClient.submitAuthTokenRequest(signedXml, false);
104106

105107
//Czekanie na zakończenie procesu
106-
await().atMost(14, SECONDS)
108+
await().pollDelay(Duration.ZERO)
109+
.atMost(14, SECONDS)
107110
.pollInterval(1, SECONDS)
108111
.until(() -> isAuthProcessReady(submitAuthTokenResponse.getReferenceNumber(), submitAuthTokenResponse.getAuthenticationToken().getToken()));
109112

@@ -123,7 +126,8 @@ void authorizeByKSeFCertificateWithRSaEncoding() throws Exception {
123126

124127
String referenceNumber = sendEnrollment(csr, accessToken);
125128

126-
await().atMost(30, SECONDS)
129+
await().pollDelay(Duration.ZERO)
130+
.atMost(30, SECONDS)
127131
.pollInterval(2, SECONDS)
128132
.until(() -> isEnrolmentStatusReady(referenceNumber, accessToken));
129133

@@ -155,7 +159,8 @@ void authorizeByKSeFCertificateWithRSaEncoding() throws Exception {
155159
SignatureResponse submitAuthTokenResponse = ksefClient.submitAuthTokenRequest(signedXml, false);
156160

157161
//Czekanie na zakończenie procesu
158-
await().atMost(14, SECONDS)
162+
await().pollDelay(Duration.ZERO)
163+
.atMost(14, SECONDS)
159164
.pollInterval(1, SECONDS)
160165
.until(() -> isAuthProcessReady(submitAuthTokenResponse.getReferenceNumber(), submitAuthTokenResponse.getAuthenticationToken().getToken()));
161166

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/BatchIntegrationTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.nio.charset.StandardCharsets;
3636
import java.security.NoSuchAlgorithmException;
3737
import java.security.SecureRandom;
38+
import java.time.Duration;
3839
import java.util.ArrayList;
3940
import java.util.Base64;
4041
import java.util.List;
@@ -525,7 +526,8 @@ private String getBatchSessionStatus(String referenceNumber, String accessToken)
525526
private SessionStatusResponse getBatchSessionStatus(String referenceNumber, String accessToken, int expectedStatusCode,
526527
Integer expectedInvoiceCount, Integer expectedSuccessfulInvoiceCount,
527528
Integer expectedFailedInvoicesCount) throws ApiException {
528-
await().atMost(30, SECONDS)
529+
await().pollDelay(Duration.ZERO)
530+
.atMost(30, SECONDS)
529531
.pollInterval(2, SECONDS)
530532
.until(() -> {
531533
SessionStatusResponse response = ksefClient.getSessionStatus(referenceNumber, accessToken);

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/CertificateIntegrationTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
3636

3737
import java.io.IOException;
38+
import java.time.Duration;
3839
import java.time.OffsetDateTime;
3940
import java.util.List;
4041

@@ -57,7 +58,8 @@ void certificateE2EIntegrationTest() throws JAXBException, IOException, ApiExcep
5758
//grant credential to delegate
5859
String grantReferenceNumber = grantPermission(delegateNip, accessToken);
5960

60-
await().atMost(15, SECONDS)
61+
await().pollDelay(Duration.ZERO)
62+
.atMost(15, SECONDS)
6163
.pollInterval(1, SECONDS)
6264
.until(() -> isOperationFinish(grantReferenceNumber, accessToken));
6365

@@ -73,7 +75,8 @@ void certificateE2EIntegrationTest() throws JAXBException, IOException, ApiExcep
7375
//generate certificate
7476
String referenceNumber = sendEnrollment(enrollmentInfo, delegateAccessToken);
7577

76-
await().atMost(30, SECONDS)
78+
await().pollDelay(Duration.ZERO)
79+
.atMost(30, SECONDS)
7780
.pollInterval(2, SECONDS)
7881
.until(() -> isEnrolmentStatusReady(referenceNumber, delegateAccessToken));
7982

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/DuplicateInvoiceIntegrationTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.io.IOException;
3838
import java.io.InputStream;
3939
import java.nio.charset.StandardCharsets;
40+
import java.time.Duration;
4041
import java.time.LocalDate;
4142
import java.util.ArrayList;
4243
import java.util.Base64;
@@ -193,7 +194,8 @@ private OpenBatchSessionRequest buildOpenBatchSessionRequestForStream(FileMetada
193194
}
194195

195196
private void checkSessionStatus(String sessionReferenceNumber, String accessToken, int expectedStatus, Integer expectedSuccessfulInvoice, Integer expectedFailedInvoice) {
196-
await().atMost(40, SECONDS)
197+
await().pollDelay(Duration.ZERO)
198+
.atMost(40, SECONDS)
197199
.pollInterval(2, SECONDS)
198200
.until(() -> {
199201
SessionStatusResponse statusResponse = ksefClient.getSessionStatus(sessionReferenceNumber, accessToken);
@@ -246,7 +248,8 @@ private String openOnlineSessionAndSendInvoice(EncryptionData encryptionData, St
246248
private List<SessionInvoiceStatusResponse> getFailedInvoicesList(String sessionRef, String accessToken) {
247249
List<SessionInvoiceStatusResponse> failedInvoicesList = new ArrayList<>();
248250

249-
await().atMost(120, SECONDS)
251+
await().pollDelay(Duration.ZERO)
252+
.atMost(120, SECONDS)
250253
.pollInterval(2, SECONDS)
251254
.until(() -> {
252255
SessionInvoicesResponse failedInvoices = ksefClient.getSessionFailedInvoices(sessionRef, null, 10, accessToken);

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/EnforcementOperationIntegrationTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
2727

2828
import java.io.IOException;
29+
import java.time.Duration;
2930
import java.util.List;
3031

3132
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -47,7 +48,8 @@ void grantEnforcementOperationAsEnforcementAuthorityE2E() throws JAXBException,
4748
//Nadawanie uprawnienia EnforcementOperations dla osoby uwierzytelniającej się nipem `authorizedNip`
4849
String operationNumber = grantPermission(authorizedNip, accessToken);
4950

50-
await().atMost(50, SECONDS)
51+
await().pollDelay(Duration.ZERO)
52+
.atMost(50, SECONDS)
5153
.pollInterval(5, SECONDS)
5254
.until(() -> isPermissionStatusReady(operationNumber, accessToken));
5355

@@ -61,7 +63,8 @@ void grantEnforcementOperationAsEnforcementAuthorityE2E() throws JAXBException,
6163
// Wycofanie wszystkich znalezionych uprawnień
6264
String revokeOperationNumber = revokePermission(grantedPermission.getId(), accessToken);
6365

64-
await().atMost(50, SECONDS)
66+
await().pollDelay(Duration.ZERO)
67+
.atMost(50, SECONDS)
6568
.pollInterval(5, SECONDS)
6669
.until(() -> isPermissionStatusReady(revokeOperationNumber, accessToken));
6770

@@ -87,7 +90,8 @@ void grantEnforcementOperationAsCourtBailiffE2E() throws JAXBException, IOExcept
8790
//Nadawanie uprawnienia EnforcementOperations dla osoby uwierzytelniającej się nipem `authorizedNip`
8891
String operationNumber = grantPermission(authorizedNip, accessToken);
8992

90-
await().atMost(50, SECONDS)
93+
await().pollDelay(Duration.ZERO)
94+
.atMost(50, SECONDS)
9195
.pollInterval(5, SECONDS)
9296
.until(() -> isPermissionStatusReady(operationNumber, accessToken));
9397

@@ -101,7 +105,8 @@ void grantEnforcementOperationAsCourtBailiffE2E() throws JAXBException, IOExcept
101105
// Wycofanie wszystkich znalezionych uprawnień
102106
String revokeOperationNumber = revokePermission(grantedPermission.getId(), accessToken);
103107

104-
await().atMost(50, SECONDS)
108+
await().pollDelay(Duration.ZERO)
109+
.atMost(50, SECONDS)
105110
.pollInterval(5, SECONDS)
106111
.until(() -> isPermissionStatusReady(revokeOperationNumber, accessToken));
107112

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/EnforcementOperationNegativeIntegrationTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
2121

2222
import java.io.IOException;
23+
import java.time.Duration;
2324
import java.util.List;
2425

2526
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -40,7 +41,8 @@ void grantEnforcementOperationAsCourtBailiffE2E() throws JAXBException, IOExcept
4041
String operationNumber = grantPermission(authorizedNip, accessToken);
4142

4243
// Odczytywanie statusu operacji aż będzie różny od 200 (niepowodzenie)
43-
await().atMost(50, SECONDS)
44+
await().pollDelay(Duration.ZERO)
45+
.atMost(50, SECONDS)
4446
.pollInterval(5, SECONDS)
4547
.until(() -> isGrantProcessPermissionFinish(operationNumber, accessToken));
4648

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/EntityPermissionAccountingIntegrationTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
1818

1919
import java.io.IOException;
20+
import java.time.Duration;
2021
import java.util.List;
2122

2223
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -39,14 +40,16 @@ void shouldReturnPermissionsSearchedBySubjectInEntityContext() throws JAXBExcept
3940
//nadanie uprawnień biuru rachunkowego
4041
String brGrantInJdg = grantPermission(brNip, accessTokenJdg);
4142

42-
await().atMost(30, SECONDS)
43+
await().pollDelay(Duration.ZERO)
44+
.atMost(30, SECONDS)
4345
.pollInterval(2, SECONDS)
4446
.until(() -> isOperationFinish(brGrantInJdg, accessTokenJdg));
4547

4648
// nadanie uprawnień kancelarii doradztwa podatkowego
4749
String kdpGrantInJdg = grantPermission(kdpNip, accessTokenJdg);
4850

49-
await().atMost(30, SECONDS)
51+
await().pollDelay(Duration.ZERO)
52+
.atMost(30, SECONDS)
5053
.pollInterval(2, SECONDS)
5154
.until(() -> isOperationFinish(kdpGrantInJdg, accessTokenJdg));
5255

@@ -56,14 +59,16 @@ void shouldReturnPermissionsSearchedBySubjectInEntityContext() throws JAXBExcept
5659
// nadanie uprawnień biuru rachunkowemu
5760
String brGRantInOtherJdg = grantPermission(brNip, accessTokenOtherJdg);
5861

59-
await().atMost(30, SECONDS)
62+
await().pollDelay(Duration.ZERO)
63+
.atMost(30, SECONDS)
6064
.pollInterval(2, SECONDS)
6165
.until(() -> isOperationFinish(brGRantInOtherJdg, accessTokenOtherJdg));
6266

6367
// nadanie uprawnień kancelarii doradztwa podatkowego
6468
String kdpGrantInOtherJdg = grantPermission(kdpNip, accessTokenOtherJdg);
6569

66-
await().atMost(30, SECONDS)
70+
await().pollDelay(Duration.ZERO)
71+
.atMost(30, SECONDS)
6772
.pollInterval(2, SECONDS)
6873
.until(() -> isOperationFinish(kdpGrantInOtherJdg, accessTokenOtherJdg));
6974

demo-web-app/src/integrationTest/java/pl/akmf/ksef/sdk/EntityPermissionIntegrationTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import pl.akmf.ksef.sdk.util.IdentifierGeneratorUtils;
2121

2222
import java.io.IOException;
23+
import java.time.Duration;
2324
import java.util.List;
2425

2526
import static java.util.concurrent.TimeUnit.SECONDS;
@@ -37,7 +38,8 @@ void entityPermissionE2EIntegrationTest() throws JAXBException, IOException, Api
3738

3839
String grantReferenceNumber = grantPermission(subjectNip, accessToken);
3940

40-
await().atMost(30, SECONDS)
41+
await().pollDelay(Duration.ZERO)
42+
.atMost(30, SECONDS)
4143
.pollInterval(2, SECONDS)
4244
.until(() -> isOperationFinish(grantReferenceNumber, accessToken));
4345

@@ -46,7 +48,8 @@ void entityPermissionE2EIntegrationTest() throws JAXBException, IOException, Api
4648
permission.forEach(e -> {
4749
String revokeReferenceNumber = revokePermission(e, accessToken);
4850

49-
await().atMost(30, SECONDS)
51+
await().pollDelay(Duration.ZERO)
52+
.atMost(30, SECONDS)
5053
.pollInterval(2, SECONDS)
5154
.until(() -> isOperationFinish(revokeReferenceNumber, accessToken));
5255
});

0 commit comments

Comments
 (0)