-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
QA-5253: started TA impl. of e-service templates
- Added .pom file entry that forces code generation despite the input OpenApi file not being well-formed - Modified the pointing in the .pom file to the new OpenApi file - Started implementing automatic tests
- Loading branch information
1 parent
8c3a444
commit b1fa580
Showing
9 changed files
with
196 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
...-qa-tests/src/main/java/it/pagopa/interop/e_service_template/IEServiceTemplateClient.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package it.pagopa.interop.e_service_template; | ||
|
||
import it.pagopa.interop.authorization.service.utils.SettableBearerToken; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.CreatedEServiceTemplateVersion; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTemplateSeed; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTemplateVersionDetails; | ||
import java.util.UUID; | ||
|
||
public interface IEServiceTemplateClient extends SettableBearerToken { | ||
CreatedEServiceTemplateVersion createEServiceTemplate(String xCorrelationId, EServiceTemplateSeed eserviceSeed); | ||
EServiceTemplateVersionDetails getEServiceTemplateVersion(String xCorrelationId, UUID eServiceTemplateId, UUID eServiceTemplateVersionId); | ||
} |
53 changes: 53 additions & 0 deletions
53
...rc/main/java/it/pagopa/interop/e_service_template/impl/EServiceTemplateApiClientImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package it.pagopa.interop.e_service_template.impl; | ||
|
||
import it.pagopa.interop.conf.InteropClientConfigs; | ||
import it.pagopa.interop.e_service_template.IEServiceTemplateClient; | ||
import it.pagopa.interop.generated.openapi.clients.bff.ApiClient; | ||
import it.pagopa.interop.generated.openapi.clients.bff.api.EserviceTemplatesApi; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.CreatedEServiceTemplateVersion; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTemplateSeed; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTemplateVersionDetails; | ||
import java.util.UUID; | ||
import org.springframework.beans.factory.config.ConfigurableBeanFactory; | ||
import org.springframework.context.annotation.Scope; | ||
import org.springframework.stereotype.Component; | ||
import org.springframework.web.client.RestTemplate; | ||
|
||
@Component | ||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) | ||
public class EServiceTemplateApiClientImpl implements IEServiceTemplateClient { | ||
private final EserviceTemplatesApi eserviceTemplatesApi; | ||
private final RestTemplate restTemplate; | ||
private final String basePath; | ||
|
||
public EServiceTemplateApiClientImpl(RestTemplate restTemplate, InteropClientConfigs interopClientConfigs) { | ||
this.restTemplate = restTemplate; | ||
this.basePath = interopClientConfigs.getBaseUrl(); | ||
this.eserviceTemplatesApi = new EserviceTemplatesApi(createApiClient("dummyBearer")); | ||
} | ||
|
||
private ApiClient createApiClient(String bearerToken) { | ||
ApiClient apiClient = new ApiClient(restTemplate); | ||
apiClient.setBasePath(basePath); | ||
apiClient.setBearerToken(bearerToken); | ||
return apiClient; | ||
} | ||
|
||
@Override | ||
public CreatedEServiceTemplateVersion createEServiceTemplate(String xCorrelationId, | ||
EServiceTemplateSeed eserviceSeed) { | ||
return eserviceTemplatesApi.createEServiceTemplate(xCorrelationId, eserviceSeed); | ||
} | ||
|
||
@Override | ||
public EServiceTemplateVersionDetails getEServiceTemplateVersion(String xCorrelationId, | ||
UUID eServiceTemplateId, UUID eServiceTemplateVersionId) { | ||
return eserviceTemplatesApi.getEServiceTemplateVersion(xCorrelationId, eServiceTemplateId, | ||
eServiceTemplateVersionId); | ||
} | ||
|
||
@Override | ||
public void setBearerToken(String bearerToken) { | ||
this.eserviceTemplatesApi.setApiClient(createApiClient(bearerToken)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
...st/java/it/pagopa/pn/interop/cucumber/steps/e_service_template/EServiceTemplateSteps.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package it.pagopa.pn.interop.cucumber.steps.e_service_template; | ||
|
||
import io.cucumber.java.en.When; | ||
import it.pagopa.interop.authorization.service.utils.IdentityService; | ||
import it.pagopa.interop.authorization.service.utils.PollingService; | ||
import it.pagopa.interop.e_service_template.IEServiceTemplateClient; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceMode; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTechnology; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.EServiceTemplateSeed; | ||
import it.pagopa.interop.generated.openapi.clients.bff.model.VersionSeedForEServiceTemplateCreation; | ||
import it.pagopa.pn.interop.cucumber.steps.ClientTokenConfigurator; | ||
import it.pagopa.pn.interop.cucumber.steps.DataPreparationService; | ||
import it.pagopa.pn.interop.cucumber.steps.SharedStepsContext; | ||
import java.util.concurrent.ThreadLocalRandom; | ||
import lombok.Data; | ||
|
||
@Data | ||
public class EServiceTemplateSteps { | ||
private ClientTokenConfigurator clientTokenConfigurator; | ||
private DataPreparationService dataPreparationService; | ||
private IdentityService identityService; | ||
private SharedStepsContext sharedStepsContext; | ||
private IEServiceTemplateClient eServiceTemplateClient; | ||
private PollingService pollingService; | ||
|
||
public EServiceTemplateSteps(ClientTokenConfigurator clientTokenConfigurator, | ||
DataPreparationService dataPreparationService, | ||
SharedStepsContext sharedStepsContext) { | ||
this.clientTokenConfigurator = clientTokenConfigurator; | ||
this.dataPreparationService = dataPreparationService; | ||
this.sharedStepsContext = sharedStepsContext; | ||
this.identityService = sharedStepsContext.getIdentityService(); | ||
this.eServiceTemplateClient = clientTokenConfigurator.getEServiceTemplateClient(); | ||
this.pollingService = sharedStepsContext.getPollingService(); | ||
} | ||
|
||
@When("l'utente effettua la creazione di un e-service template") | ||
public void createEServiceTemplate() { | ||
clientTokenConfigurator.setBearerToken(sharedStepsContext.getUserToken()); | ||
int randomInt = ThreadLocalRandom.current().nextInt(0, Integer.MAX_VALUE); | ||
String templateName = String.format("eservice-template-%d-%d", sharedStepsContext.getTestSeed(), randomInt); | ||
VersionSeedForEServiceTemplateCreation version = new VersionSeedForEServiceTemplateCreation() | ||
.voucherLifespan(86400); | ||
EServiceTemplateSeed templateSeed = new EServiceTemplateSeed() | ||
.audienceDescription("Audience description per il template " + templateName) | ||
.name(templateName) | ||
.eserviceDescription("Descrizione del servizio associato al template " + templateName) | ||
.mode(EServiceMode.DELIVER) | ||
.version(version) | ||
.technology(EServiceTechnology.REST); | ||
dataPreparationService.createEServiceTemplate(templateSeed); | ||
} | ||
} |
37 changes: 37 additions & 0 deletions
37
...ts/src/test/resources/it/pagopa/pn/cucumber/e-service-template/e-service-template.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
@e-service-template | ||
Feature: Test API of e-service template | ||
#Background: | ||
# Given l'ente "PA2" rimuove la disponibilità a ricevere deleghe in fruizione | ||
# And l'ente "PA1" rimuove la disponibilità a ricevere deleghe in fruizione | ||
# And l'ente "GSP2" rimuove la disponibilità a ricevere deleghe in fruizione | ||
|
||
Scenario Outline: [INCARICATO-EST-001] La creazione di un e-service template NON può essere fatta da parte un ente NON erogatore di e-service | ||
Given l'utente è un "<ruolo>" di "PA1" | ||
When l'utente effettua la creazione di un e-service template | ||
Then si ottiene status code <statusCode> | ||
Examples: | ||
| ruolo | statusCode | | ||
| admin | 403 | | ||
| api | 403 | | ||
| security | 403 | | ||
| api,security| 403 | | ||
| support | 403 | | ||
|
||
Scenario Outline: [INCARICATO-EST-002] La creazione di un e-service template può essere fatta da parte un ente erogatore di e-service in veste di ADMIN o API | ||
Given l'utente è un "<ruolo>" di "PA1" | ||
And "PA1" ha già creato e pubblicato 1 e-service | ||
When l'utente effettua la creazione di un e-service template | ||
Then si ottiene status code <statusCode> | ||
Examples: | ||
| ruolo | statusCode | | ||
| admin | 200 | | ||
| api | 200 | | ||
| security | 403 | | ||
| api,security| 403 | | ||
| support | 403 | | ||
|
||
#TODO: test in cui vengono specificati tutti i campi nella api di creazione | ||
#TODO: test dove vengono specificati meno dei campi obbligatori nella api di creazione | ||
|
||
#TODO test in cui vengono specificati tutti i campi nella api di creazione, oggetto Versione | ||
#TODO: test dove vengono specificati meno dei campi obbligatori nella api di creazione, oggetto Versione |