List<GcpAddress> getAddresses() {
        try {
            return RetryUtils.retry(this::fetchGcpAddresses, RETRIES, NON_RETRYABLE_KEYWORDS);
        } catch (RestClientException e) {
            handleKnownException(e);
            return emptyList();
        }
    }
@Test
    public void getAddressesUnauthorized() {
        // given
        Label label = null;
        String forbiddenMessage = "\"reason\":\"Request had insufficient authentication scopes\"";
        RestClientException exception = new RestClientException(forbiddenMessage, HttpURLConnection.HTTP_UNAUTHORIZED);
        given(gcpComputeApi.instances(CURRENT_PROJECT, CURRENT_ZONE, label, ACCESS_TOKEN)).willThrow(exception);

        GcpConfig gcpConfig = GcpConfig.builder().setLabel(label).build();
        GcpClient gcpClient = new GcpClient(gcpMetadataApi, gcpComputeApi, gcpAuthenticator, gcpConfig);

        // when
        List<GcpAddress> result = gcpClient.getAddresses();

        // then
        assertEquals(emptyList(), result);
    }