| File: AzureStorageResourceUriExpressionTests.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Azure.Tests\Aspire.Hosting.Azure.Tests.csproj (Aspire.Hosting.Azure.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Hosting.Utils; namespace Aspire.Hosting.Azure.Tests; public class AzureStorageResourceUriExpressionTests { [Theory] [InlineData(true)] [InlineData(false)] public void BlobUriExpressionReturnsExpectedValue(bool isEmulator) { using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Run); var storage = builder.AddAzureStorage("storage"); if (isEmulator) { storage.RunAsEmulator(); } var resource = Assert.Single(builder.Resources.OfType<AzureStorageResource>()); var uriExpression = resource.BlobUriExpression; Assert.Equal( isEmulator ? "{storage.bindings.blob.url}" : "{storage.outputs.blobEndpoint}", uriExpression.ValueExpression); } [Theory] [InlineData(true)] [InlineData(false)] public void DataLakeUriExpressionReturnsExpectedValueOrThrowUnderEmulator(bool isEmulator) { using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Run); var storage = builder.AddAzureStorage("storage"); if (isEmulator) { storage.RunAsEmulator(); } var resource = Assert.Single(builder.Resources.OfType<AzureStorageResource>()); if (isEmulator) { Assert.Throws<InvalidOperationException>(() => resource.DataLakeUriExpression); } else { Assert.Equal("{storage.outputs.dataLakeEndpoint}", resource.DataLakeUriExpression.ValueExpression); } } [Theory] [InlineData(true)] [InlineData(false)] public void QueueUriExpressionReturnsExpectedValue(bool isEmulator) { using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Run); var storage = builder.AddAzureStorage("storage"); if (isEmulator) { storage.RunAsEmulator(); } var resource = Assert.Single(builder.Resources.OfType<AzureStorageResource>()); var uriExpression = resource.QueueUriExpression; Assert.Equal( isEmulator ? "{storage.bindings.queue.url}" : "{storage.outputs.queueEndpoint}", uriExpression.ValueExpression); } [Theory] [InlineData(true)] [InlineData(false)] public void TableUriExpressionReturnsExpectedValue(bool isEmulator) { using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Run); var storage = builder.AddAzureStorage("storage"); if (isEmulator) { storage.RunAsEmulator(); } var resource = Assert.Single(builder.Resources.OfType<AzureStorageResource>()); var uriExpression = resource.TableUriExpression; Assert.Equal( isEmulator ? "{storage.bindings.table.url}" : "{storage.outputs.tableEndpoint}", uriExpression.ValueExpression); } }