Collection<AzureAddress> getAddresses() {
        LOGGER.finest("Fetching OAuth Access Token");
        final String accessToken = fetchAccessToken();
        LOGGER.finest("Fetching instances for subscription '%s' and resourceGroup '%s'",
                subscriptionId, resourceGroup);
        Collection<AzureAddress> addresses = azureComputeApi.instances(subscriptionId, resourceGroup,
                scaleSet, tag, accessToken);
        LOGGER.finest("Found the following instances for project '%s' and zone '%s': %s",
                subscriptionId, resourceGroup,
                addresses);
        return addresses;
    }
@Test
    public void getAddressesCurrentSubscriptionCurrentResourceGroupCurrentScaleSetWithTag() {
        // given
        given(azureComputeApi.instances(SUBSCRIPTION_ID, RESOURCE_GROUP, SCALE_SET, TAG, ACCESS_TOKEN)).willReturn(ADDRESSES);

        AzureConfig azureConfig = AzureConfig.builder().setInstanceMetadataAvailable(true).setTag(TAG).build();
        AzureClient azureClient = new AzureClient(azureMetadataApi, azureComputeApi, azureAuthenticator, azureConfig);

        // when
        Collection<AzureAddress> result = azureClient.getAddresses();

        // then
        assertEquals(ADDRESSES, result);
    }