in aws-core-server/src/main/java/jetbrains/buildServer/serverSide/oauth/aws/controllers/AwsTestConnectionController.java [58:102]
protected void doPost(@NotNull final HttpServletRequest request, @NotNull final HttpServletResponse response, @NotNull final Element xmlResponse) {
Loggers.CLOUD.debug("AWS Connection testing has been requested.");
String externalProjectId = request.getParameter("projectId");
String internalProjectId = "";
SProject project = myProjectManager.findProjectByExternalId(externalProjectId);
if (project != null) {
internalProjectId = project.getProjectId();
}
myPermissionChecker.checkUserPermission(internalProjectId, externalProjectId, request);
ActionErrors errors = new ActionErrors();
BasePropertiesBean basePropertiesBean = new BasePropertiesBean(null);
PluginPropertiesUtil.bindPropertiesFromRequest(request, basePropertiesBean);
Map<String, String> connectionProperties = basePropertiesBean.getProperties();
try {
List<InvalidProperty> invalidProperties = myAwsConnectionTester.getInvalidProperties(connectionProperties);
if (invalidProperties.isEmpty()) {
AwsTestConnectionResult testConnectionResult = myAwsConnectionTester.testConnection(
new ProjectFeatureDescriptorImpl(
StringUtil.emptyIfNull(request.getParameter("connectionId")),
AwsConnectionProvider.TYPE,
connectionProperties,
internalProjectId
)
);
GetCallerIdentityResponse getCallerIdentityResult = testConnectionResult.getGetCallerIdentityResult();
xmlResponse.addContent(createCallerIdentityElement(getCallerIdentityResult));
} else {
for (InvalidProperty invalidProp : invalidProperties) {
errors.addError(invalidProp);
}
}
} catch (Exception e) {
handleException(e, errors);
}
if (errors.hasErrors()) {
errors.serialize(xmlResponse);
}
}