Skip to content

Commit

Permalink
feat: Add getter for Azurite blob, queue and table endpoint (#1278)
Browse files Browse the repository at this point in the history
Co-authored-by: Preben Huybrechts <[email protected]>
  • Loading branch information
pregress and Preben Huybrechts authored Oct 14, 2024
1 parent 12cccf9 commit a75cb73
Showing 1 changed file with 33 additions and 3 deletions.
36 changes: 33 additions & 3 deletions src/Testcontainers.Azurite/AzuriteContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,39 @@ public string GetConnectionString()
properties.Add("DefaultEndpointsProtocol", Uri.UriSchemeHttp);
properties.Add("AccountName", AzuriteBuilder.AccountName);
properties.Add("AccountKey", AzuriteBuilder.AccountKey);
properties.Add("BlobEndpoint", new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.BlobPort), AzuriteBuilder.AccountName).ToString());
properties.Add("QueueEndpoint", new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.QueuePort), AzuriteBuilder.AccountName).ToString());
properties.Add("TableEndpoint", new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.TablePort), AzuriteBuilder.AccountName).ToString());
properties.Add("BlobEndpoint", GetBlobEndpoint());
properties.Add("QueueEndpoint", GetQueueEndpoint());
properties.Add("TableEndpoint", GetTableEndpoint());
return string.Join(";", properties.Select(property => string.Join("=", property.Key, property.Value)));
}

/// <summary>
/// Gets the blob endpoint
/// </summary>
/// <returns>The azurite blob endpoint</returns>
public string GetBlobEndpoint()
{
return new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.BlobPort),
AzuriteBuilder.AccountName).ToString();
}

/// <summary>
/// Gets the queue endpoint
/// </summary>
/// <returns>The azurite queue endpoint</returns>
public string GetQueueEndpoint()
{
return new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.QueuePort),
AzuriteBuilder.AccountName).ToString();
}

/// <summary>
/// Gets the table endpoint
/// </summary>
/// <returns>The azurite table endpoint</returns>
public string GetTableEndpoint()
{
return new UriBuilder(Uri.UriSchemeHttp, Hostname, GetMappedPublicPort(AzuriteBuilder.TablePort),
AzuriteBuilder.AccountName).ToString();
}
}

0 comments on commit a75cb73

Please sign in to comment.