use of io.gravitee.gateway.handlers.api.validator.ValidationException in project gravitee-gateway by gravitee-io.
the class ApiManagerTest method add_simpleApi_validationError.
@Test
public void add_simpleApi_validationError() {
Api api = new ApiDefinitionBuilder().name("api-test").proxy(new ProxyDefinitionBuilder().contextPath("/team").target("default", "http://localhost/target").build()).build();
doThrow(new ValidationException()).when(validator).validate(api);
apiManager.deploy(api);
verify(eventManager, never()).publishEvent(ReactorEvent.DEPLOY, api);
}
use of io.gravitee.gateway.handlers.api.validator.ValidationException in project gravitee-gateway by gravitee-io.
the class ApiManagerImpl method deploy.
@Override
public void deploy(Api api) {
MDC.put("api", api.getId());
logger.info("Deployment of {}", api);
// Deploy the API only if there is at least one plan
if (!api.getPlans().isEmpty()) {
logger.info("Deploying {} plan(s) for API {}:", api.getPlans().size(), api.getId());
for (Plan plan : api.getPlans()) {
logger.info("\t- {}", plan.getName());
}
try {
validator.validate(api);
apis.put(api.getId(), api);
if (api.isEnabled()) {
eventManager.publishEvent(ReactorEvent.DEPLOY, api);
} else {
logger.debug("{} is not enabled. Skip deployment.", api);
}
} catch (ValidationException ve) {
logger.error("API {} can't be deployed because of validation errors", api, ve);
}
} else {
logger.warn("There is no published plan associated to this API, skipping deployment...");
}
MDC.remove("api");
}
use of io.gravitee.gateway.handlers.api.validator.ValidationException in project gravitee-gateway by gravitee-io.
the class ApiManagerImpl method update.
@Override
public void update(Api api) {
MDC.put("api", api.getId());
logger.info("Updating {}", api);
if (!api.getPlans().isEmpty()) {
logger.info("Deploying {} plan(s) for API {}:", api.getPlans().size(), api.getId());
for (Plan plan : api.getPlans()) {
logger.info("\t- {}", plan.getName());
}
try {
validator.validate(api);
apis.put(api.getId(), api);
eventManager.publishEvent(ReactorEvent.UPDATE, api);
} catch (ValidationException ve) {
logger.error("API {} can't be updated because of validation errors", api, ve);
}
} else {
logger.warn("There is no published plan associated to this API, undeploy it...");
undeploy(api.getId());
}
MDC.remove("api");
}
Aggregations