Skip to content
Snippets Groups Projects

Update to api-common v0.8, and fix tests that broke from the changes

Merged Martin Lowe requested to merge (removed):malowe/main/code-smell-tests into main
10 files
+ 257
197
Compare changes
  • Side-by-side
  • Inline
Files
10
@@ -31,6 +31,7 @@ import org.apache.http.HttpStatus;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.eclipse.microprofile.rest.client.inject.RestClient;
import org.eclipsefoundation.core.helper.DateTimeHelper;
import org.eclipsefoundation.core.helper.LoggingHelper;
import org.eclipsefoundation.core.model.RequestWrapper;
import org.eclipsefoundation.core.service.APIMiddleware;
import org.eclipsefoundation.git.eca.api.GithubAPI;
@@ -103,7 +104,8 @@ public class GithubValidationHelper {
* the request.
*/
public ValidationResponse validateIncomingRequest(RequestWrapper wrapper, String org, String repoName, Integer prNo) {
String fullRepoName = org + '/' + repoName;
// use logging helper to sanitize newlines as they aren't needed here
String fullRepoName = LoggingHelper.format(org + '/' + repoName);
// get the installation ID for the given repo if it exists, and if the PR noted exists
String installationId = ghAppService.getInstallationForRepo(fullRepoName);
Optional<PullRequest> prResponse = ghAppService.getPullRequest(installationId, fullRepoName, prNo);
@@ -167,7 +169,12 @@ public class GithubValidationHelper {
.getAll(i -> ghApi
.getCommits(jwtHelper.getGhBearerString(installationId), apiVersion, repositoryFullName, pullRequestNumber),
GithubCommit.class);
LOGGER.trace("Retrieved {} commits for PR {} in repo {}", commits.size(), pullRequestNumber, repositoryUrl);
if (LOGGER.isTraceEnabled()) {
LOGGER
.trace("Retrieved {} commits for PR {} in repo {}", commits.size(), pullRequestNumber,
LoggingHelper.format(repositoryUrl));
}
// set up the validation request from current data
return ValidationRequest
.builder()
@@ -260,6 +267,7 @@ public class GithubValidationHelper {
*/
public GithubWebhookTracking updateGithubTrackingIfMissing(RequestWrapper wrapper, Optional<GithubWebhookTracking> tracking,
PullRequest request, String installationId, String fullRepoName) {
String sanitizedRepoName = LoggingHelper.format(fullRepoName);
// if there is no tracking present, create the missing tracking and persist it
GithubWebhookTracking updatedTracking;
if (tracking.isEmpty()) {
@@ -268,14 +276,14 @@ public class GithubValidationHelper {
updatedTracking.setInstallationId(installationId);
updatedTracking.setLastUpdated(DateTimeHelper.now());
updatedTracking.setPullRequestNumber(request.getNumber());
updatedTracking.setRepositoryFullName(fullRepoName);
updatedTracking.setRepositoryFullName(sanitizedRepoName);
updatedTracking.setLastKnownState(request.getState());
updatedTracking.setNeedsRevalidation(false);
updatedTracking.setManualRevalidationCount(0);
if (!"open".equalsIgnoreCase(request.getState())) {
LOGGER
.warn("The PR {} in {} is not in an open state, and will not be validated to follow our validation practice",
updatedTracking.getPullRequestNumber(), fullRepoName);
updatedTracking.getPullRequestNumber(), sanitizedRepoName);
}
} else {
// at least update the state on every run
@@ -287,11 +295,11 @@ public class GithubValidationHelper {
List<GithubWebhookTracking> savedTracking = dao
.add(new RDBMSQuery<>(wrapper, filters.get(GithubWebhookTracking.class)), Arrays.asList(updatedTracking));
if (savedTracking.isEmpty()) {
LOGGER.warn("Unable to create new GH tracking record for request to validate {}#{}", fullRepoName, request.getNumber());
LOGGER.warn("Unable to create new GH tracking record for request to validate {}#{}", sanitizedRepoName, request.getNumber());
return null;
}
// return the updated tracking when successful
LOGGER.debug("Created/updated GH tracking record for request to validate {}#{}", fullRepoName, request.getNumber());
LOGGER.debug("Created/updated GH tracking record for request to validate {}#{}", sanitizedRepoName, request.getNumber());
return savedTracking.get(0);
}
Loading