mirror of
https://github.com/SonarSource/sonarqube.git
synced 2024-08-26 05:57:24 +02:00
SONAR-7037 Improve logging on authentication failure
This commit is contained in:
parent
0ef2119bf5
commit
5634bf6895
@ -19,8 +19,9 @@
|
||||
*/
|
||||
package org.sonar.batch.repository;
|
||||
|
||||
import org.sonar.api.utils.HttpDownloader.HttpException;
|
||||
import com.google.common.base.Throwables;
|
||||
|
||||
import org.sonar.api.utils.HttpDownloader.HttpException;
|
||||
import com.google.common.collect.HashBasedTable;
|
||||
import com.google.common.collect.Table;
|
||||
|
||||
@ -59,7 +60,7 @@ public class DefaultProjectRepositoriesLoader implements ProjectRepositoriesLoad
|
||||
fromCache.setValue(result.isFromCache());
|
||||
}
|
||||
return processStream(result.get(), projectKey);
|
||||
} catch (IllegalStateException e) {
|
||||
} catch (RuntimeException e) {
|
||||
if (shouldThrow(e)) {
|
||||
throw e;
|
||||
}
|
||||
@ -81,9 +82,11 @@ public class DefaultProjectRepositoriesLoader implements ProjectRepositoriesLoad
|
||||
}
|
||||
|
||||
private static boolean shouldThrow(Exception e) {
|
||||
if (e.getCause() != null && e.getCause() instanceof HttpException) {
|
||||
HttpException http = (HttpException) e.getCause();
|
||||
return http.getResponseCode() != 404;
|
||||
for (Throwable t : Throwables.getCausalChain(e)) {
|
||||
if (t instanceof HttpException) {
|
||||
HttpException http = (HttpException) t;
|
||||
return http.getResponseCode() != 404;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -19,6 +19,8 @@
|
||||
*/
|
||||
package org.sonar.batch.repository;
|
||||
|
||||
import org.sonar.api.utils.MessageException;
|
||||
|
||||
import com.google.common.io.Resources;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
@ -81,6 +83,17 @@ public class DefaultProjectRepositoriesLoaderTest {
|
||||
when(wsLoader.loadStream(anyString())).thenThrow(e);
|
||||
loader.load(PROJECT_KEY, false, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void failFastHttpErrorMessageException() {
|
||||
thrown.expect(MessageException.class);
|
||||
thrown.expectMessage("http error");
|
||||
|
||||
HttpException http = new HttpException(URI.create("uri"), 403);
|
||||
MessageException e = MessageException.of("http error", http);
|
||||
when(wsLoader.loadStream(anyString())).thenThrow(e);
|
||||
loader.load(PROJECT_KEY, false, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void passIssuesModeParameter() {
|
||||
|
Loading…
Reference in New Issue
Block a user