| File: KustoPublicApiTests.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Azure.Kusto.Tests\Aspire.Hosting.Azure.Kusto.Tests.csproj (Aspire.Hosting.Azure.Kusto.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Aspire.Hosting.Azure.Kusto.Tests; public class KustoPublicApiTests { [Fact] public void AzureKustoClusterResourceShouldThrowWhenNameIsNull() { // Act var action = () => new AzureKustoClusterResource(null!, _ => { }); // Assert Assert.Throws<ArgumentNullException>(action); } [Theory] [InlineData("")] [InlineData(" ")] public void AzureKustoClusterResourceShouldThrowWhenNameIsInvalid(string name) { // Act var action = () => new AzureKustoClusterResource(name, _ => { }); // Assert Assert.Throws<ArgumentException>(action); } [Fact] public void AzureKustoClusterResourceShouldReturnValidReferenceExpression() { // Arrange var resource = new AzureKustoClusterResource("test-kusto", _ => { }); // Act var connectionStringExpression = resource.ConnectionStringExpression; // Assert // For Azure provisioned resources (default when directly constructed), should use cluster URI output Assert.Equal("{test-kusto.outputs.clusterUri}", connectionStringExpression.ValueExpression); } [Fact] public void AzureKustoDatabaseResourceShouldThrowWhenNameIsNull() { // Arrange var parentResource = new AzureKustoClusterResource("kusto", _ => { }); // Act var action = () => new AzureKustoReadWriteDatabaseResource(null!, "db", parentResource); // Assert Assert.Throws<ArgumentNullException>(action); } [Theory] [InlineData("")] [InlineData(" ")] public void AzureKustoDatabaseResourceShouldThrowWhenNameIsInvalid(string name) { // Arrange var parentResource = new AzureKustoClusterResource("kusto", _ => { }); // Act var action = () => new AzureKustoReadWriteDatabaseResource("kusto-db", name, parentResource); // Assert Assert.Throws<ArgumentException>(action); } [Fact] public void AzureKustoDatabaseResourceShouldThrowWhenDatabaseNameIsNull() { // Arrange var parentResource = new AzureKustoClusterResource("kusto", _ => { }); // Act var action = () => new AzureKustoReadWriteDatabaseResource("kusto-db", null!, parentResource); // Assert Assert.Throws<ArgumentNullException>(action); } [Theory] [InlineData("")] [InlineData(" ")] public void AzureKustoDatabaseResourceShouldThrowWhenDatabaseNameIsInvalid(string name) { // Arrange var parentResource = new AzureKustoClusterResource("kusto", _ => { }); // Act var action = () => new AzureKustoReadWriteDatabaseResource("kusto-db", name, parentResource); // Assert Assert.Throws<ArgumentException>(action); } [Fact] public void AzureKustoDatabaseResourceShouldThrowWhenKustoParentResourceIsNull() { // Arrange AzureKustoClusterResource kustoParentResource = null!; // Act var action = () => new AzureKustoReadWriteDatabaseResource("kusto-db", "db1", kustoParentResource); // Assert Assert.Throws<ArgumentNullException>(action); } [Fact] public void AzureKustoDatabaseResourceShouldReturnValidReferenceExpression() { // Arrange var resource = new AzureKustoReadWriteDatabaseResource("kusto-db", "myDatabase", new AzureKustoClusterResource("kusto", _ => { })); // Act var connectionStringExpression = resource.ConnectionStringExpression; // Assert Assert.Equal("{kusto.connectionString};Initial Catalog=myDatabase", connectionStringExpression.ValueExpression); } [Fact] public void KustoEmulatorResourceShouldThrowWhenInnerResourceIsNull() { // Act var action = () => new AzureKustoEmulatorResource(null!); // Assert Assert.Throws<ArgumentNullException>(action); } }