mirror of
https://github.com/google/nomulus.git
synced 2025-05-14 00:17:20 +02:00
Fix NPE in StackdriverWriter
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=131603566
This commit is contained in:
parent
942dc58251
commit
d77dced024
2 changed files with 24 additions and 1 deletions
|
@ -232,7 +232,7 @@ public class StackdriverWriter implements MetricWriter {
|
||||||
logger.info(String.format("Registered new metric descriptor %s", descriptor.getType()));
|
logger.info(String.format("Registered new metric descriptor %s", descriptor.getType()));
|
||||||
} catch (GoogleJsonResponseException jsonException) {
|
} catch (GoogleJsonResponseException jsonException) {
|
||||||
// Not the error we were expecting, just give up
|
// Not the error we were expecting, just give up
|
||||||
if (!jsonException.getStatusMessage().equals("ALREADY_EXISTS")) {
|
if (!"ALREADY_EXISTS".equals(jsonException.getStatusMessage())) {
|
||||||
throw jsonException;
|
throw jsonException;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -203,6 +203,8 @@ public class StackdriverWriterTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void registerMetric_fetchesStackdriverDefinition() throws Exception {
|
public void registerMetric_fetchesStackdriverDefinition() throws Exception {
|
||||||
|
// Stackdriver throws an Exception with the status message "ALREADY_EXISTS" when you try to
|
||||||
|
// register a metric that's already been registered, so we fake one here.
|
||||||
ByteArrayInputStream inputStream = new ByteArrayInputStream("".getBytes(UTF_8));
|
ByteArrayInputStream inputStream = new ByteArrayInputStream("".getBytes(UTF_8));
|
||||||
HttpResponse response = GoogleJsonResponseExceptionHelper.createHttpResponse(400, inputStream);
|
HttpResponse response = GoogleJsonResponseExceptionHelper.createHttpResponse(400, inputStream);
|
||||||
HttpResponseException.Builder httpResponseExceptionBuilder =
|
HttpResponseException.Builder httpResponseExceptionBuilder =
|
||||||
|
@ -220,6 +222,27 @@ public class StackdriverWriterTest {
|
||||||
verify(client.projects().metricDescriptors().get("metric")).execute();
|
verify(client.projects().metricDescriptors().get("metric")).execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void registerMetric_rethrowsException() throws Exception {
|
||||||
|
ByteArrayInputStream inputStream = new ByteArrayInputStream("".getBytes(UTF_8));
|
||||||
|
HttpResponse response = GoogleJsonResponseExceptionHelper.createHttpResponse(400, inputStream);
|
||||||
|
HttpResponseException.Builder httpResponseExceptionBuilder =
|
||||||
|
new HttpResponseException.Builder(response);
|
||||||
|
httpResponseExceptionBuilder.setStatusCode(404);
|
||||||
|
GoogleJsonResponseException exception =
|
||||||
|
new GoogleJsonResponseException(httpResponseExceptionBuilder, null);
|
||||||
|
when(metricDescriptorCreate.execute()).thenThrow(exception);
|
||||||
|
StackdriverWriter writer =
|
||||||
|
new StackdriverWriter(client, PROJECT, MONITORED_RESOURCE, MAX_QPS, MAX_POINTS_PER_REQUEST);
|
||||||
|
|
||||||
|
try {
|
||||||
|
writer.registerMetric(metric);
|
||||||
|
fail("Expected GoogleJsonResponseException");
|
||||||
|
} catch (GoogleJsonResponseException expected) {
|
||||||
|
assertThat(exception.getStatusCode()).isEqualTo(404);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getEncodedTimeSeries_nullLabels_encodes() throws Exception {
|
public void getEncodedTimeSeries_nullLabels_encodes() throws Exception {
|
||||||
ByteArrayInputStream inputStream = new ByteArrayInputStream("".getBytes(UTF_8));
|
ByteArrayInputStream inputStream = new ByteArrayInputStream("".getBytes(UTF_8));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue