Skip to main content
Glama

Azure MCP Server

Official
MIT License
1,161
  • Linux
  • Apple
QuotaCommandTests.cs6.52 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using System.Text.Json; using AzureMcp.Tests.Client; using AzureMcp.Tests.Client.Helpers; using Xunit; namespace AzureMcp.Tests.Areas.Quota.LiveTests; [Trait("Area", "Quota")] public class QuotaCommandTests : CommandTestsBase, IClassFixture<LiveTestFixture> { private readonly string _subscriptionId; public QuotaCommandTests(LiveTestFixture liveTestFixture, ITestOutputHelper output) : base(liveTestFixture, output) { _subscriptionId = Settings.SubscriptionId; } [Fact] [Trait("Category", "Live")] public async Task Should_check_azure_quota() { // act var resourceTypes = "Microsoft.CognitiveServices, Microsoft.Compute, Microsoft.Storage, Microsoft.App, Microsoft.Network, Microsoft.MachineLearningServices, Microsoft.DBforPostgreSQL, Microsoft.HDInsight, Microsoft.Search, Microsoft.ContainerInstance"; JsonElement? result = await CallToolAsync( "azmcp_quota_usage_check", new() { { "subscription", _subscriptionId }, { "region", "eastus" }, { "resource-types", resourceTypes } }); // assert var quotas = result.AssertProperty("usageInfo"); Assert.Equal(JsonValueKind.Object, quotas.ValueKind); var appQuotas = quotas.AssertProperty("Microsoft.App"); Assert.Equal(JsonValueKind.Array, appQuotas.ValueKind); Assert.NotEmpty(appQuotas.EnumerateArray()); var storageQuotas = quotas.AssertProperty("Microsoft.Storage"); Assert.Equal(JsonValueKind.Array, storageQuotas.ValueKind); Assert.NotEmpty(storageQuotas.EnumerateArray()); var cognitiveQuotas = quotas.AssertProperty("Microsoft.CognitiveServices"); Assert.Equal(JsonValueKind.Array, cognitiveQuotas.ValueKind); Assert.NotEmpty(cognitiveQuotas.EnumerateArray()); var computeQuotas = quotas.AssertProperty("Microsoft.Compute"); Assert.Equal(JsonValueKind.Array, computeQuotas.ValueKind); Assert.NotEmpty(computeQuotas.EnumerateArray()); var networkQuotas = quotas.AssertProperty("Microsoft.Network"); Assert.Equal(JsonValueKind.Array, networkQuotas.ValueKind); Assert.NotEmpty(networkQuotas.EnumerateArray()); var mlQuotas = quotas.AssertProperty("Microsoft.MachineLearningServices"); Assert.Equal(JsonValueKind.Array, mlQuotas.ValueKind); Assert.NotEmpty(mlQuotas.EnumerateArray()); var postgresqlQuotas = quotas.AssertProperty("Microsoft.DBforPostgreSQL"); Assert.Equal(JsonValueKind.Array, postgresqlQuotas.ValueKind); Assert.NotEmpty(postgresqlQuotas.EnumerateArray()); var hdInsightQuotas = quotas.AssertProperty("Microsoft.HDInsight"); Assert.Equal(JsonValueKind.Array, hdInsightQuotas.ValueKind); Assert.NotEmpty(hdInsightQuotas.EnumerateArray()); var searchQuotas = quotas.AssertProperty("Microsoft.Search"); Assert.Equal(JsonValueKind.Array, searchQuotas.ValueKind); Assert.NotEmpty(searchQuotas.EnumerateArray()); var containerInstanceQuotas = quotas.AssertProperty("Microsoft.ContainerInstance"); Assert.Equal(JsonValueKind.Array, containerInstanceQuotas.ValueKind); Assert.NotEmpty(containerInstanceQuotas.EnumerateArray()); } [Fact] [Trait("Category", "Live")] public async Task Should_check_azure_regions() { // act var result = await CallToolAsync( "azmcp_quota_region_availability_list", new() { { "subscription", _subscriptionId }, { "resource-types", "Microsoft.Web/sites, Microsoft.Storage/storageAccounts, microsoft.dbforpostgresql/flexibleServers" }, }); // assert var availableRegions = result.AssertProperty("availableRegions"); Assert.Equal(JsonValueKind.Array, availableRegions.ValueKind); Assert.NotEmpty(availableRegions.EnumerateArray()); var actualRegions = availableRegions.EnumerateArray().Select(x => x.GetString() ?? string.Empty).ToHashSet(); // only available for test subscription // var expectedRegions = new HashSet<string> // { // "southafricanorth","westus","australiaeast","brazilsouth","southeastasia", // "centralus","japanwest","centralindia","uksouth","koreacentral","francecentral", // "northeurope","australiacentral","uaenorth","swedencentral","switzerlandnorth", // "northcentralus","ukwest","australiasoutheast","koreasouth","canadacentral", // "westeurope","southindia","westcentralus","westus3","eastasia","japaneast", // "jioindiawest","polandcentral","italynorth","israelcentral","spaincentral", // "mexicocentral","newzealandnorth","indonesiacentral","malaysiawest","chilecentral", // "eastus2euap","norwaywest","norwayeast","germanynorth","brazilsoutheast", // "swedensouth","switzerlandwest" // }; // Assert.Equal(expectedRegions, actualRegions); } [Fact] [Trait("Category", "Live")] public async Task Should_check_regions_with_cognitive_services() { // act var result = await CallToolAsync( "azmcp_quota_region_availability_list", new() { { "subscription", _subscriptionId }, { "resource-types", "Microsoft.CognitiveServices/accounts" }, { "cognitive-service-model-name", "gpt-4o" }, { "cognitive-service-deployment-sku-name", "Standard" } }); // assert var availableRegions = result.AssertProperty("availableRegions"); Assert.Equal(JsonValueKind.Array, availableRegions.ValueKind); Assert.NotEmpty(availableRegions.EnumerateArray()); var actualRegions = availableRegions.EnumerateArray().Select(x => x.GetString() ?? string.Empty).ToHashSet(); // only available for test subscription // var expectedRegions = new HashSet<string> // { // "australiaeast", "westus", "southcentralus", "eastus", "eastus2", // "japaneast", "uksouth", "francecentral", "northcentralus", // "swedencentral", "switzerlandnorth", "norwayeast", "westus3", // "canadaeast", "southindia" // }; // Assert.Equal(expectedRegions, actualRegions); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Azure/azure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server