Мне интересно, как я могу написать тест, который будет работать в сонаре, который будет тестировать следующий метод?
Это кажется почти невозможным, поскольку гидролокатор не сможет фактически получить лазурную подписку, так что все это нужно будет высмеивать.
Любая помощь или указатели будут оценены.
public AzureMetricRecords getVmMetrics(String azureSubscriptionId, String workspace, String vm, String metric, AggregationType aggregationType) {
Azure azure = getAzure(azureSubscriptionId);
String vmId = "/subscriptions/" + azureSubscriptionId + "/resourceGroups/" + workspace + "-" + vm +
"/providers/Microsoft.Compute/virtualMachines/" + vm;
VirtualMachine azureVm = azure.virtualMachines().getByResourceGroup(workspace + "-" + vm, vm);
if (azureVm != null) {
Map<String,MetricDefinition> metricsIndex = new HashMap<>();
List<MetricDefinition> definitions = azure.metricDefinitions().listByResource(vmId);
for (MetricDefinition d : definitions) {
metricsIndex.put(d.name().value(), d);
}
if (!metricsIndex.containsKey(metric)) {
throw new ValidationException("metric not found");
}
return getMetrics(DateTime.now(), metricsIndex.get(metric), aggregationType);
} else {
LOGGER.warn("getVmMetrics: Vm NOT found");
AzureMetricRecords metricRecords = new AzureMetricRecords();
metricRecords.setMetric(metric);
metricRecords.setAggregation(aggregationType.name());
return metricRecords;
}
}