Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.vscode
src/DataStax.AstraDB.DataAPI/bin
src/DataStax.AstraDB.DataAPI/obj
test/DataStax.AstraDB.DataAPI.IntegrationTests/bin
test/DataStax.AstraDB.DataAPI.IntegrationTests/obj
test/DataStax.AstraDB.DataAPI.Tests/bin
test/DataStax.AstraDB.DataAPI.Tests/obj
src/DataStax.AstraDB.DataApi/bin
src/DataStax.AstraDB.DataApi/obj
test/DataStax.AstraDB.DataApi.IntegrationTests/bin
test/DataStax.AstraDB.DataApi.IntegrationTests/obj
test/DataStax.AstraDB.DataApi.Tests/bin
test/DataStax.AstraDB.DataApi.Tests/obj
appsettings.json
test/DataStax.AstraDB.DataAPI.UnitTests/bin
test/DataStax.AstraDB.DataAPI.UnitTests/obj
test/DataStax.AstraDB.DataApi.UnitTests/bin
test/DataStax.AstraDB.DataApi.UnitTests/obj
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ internal async Task<DatabaseInfo> GetDatabaseInfoAsync(Guid id, bool runSynchron
{
Guard.NotEmpty(id, nameof(id));
var command = CreateCommand().AddUrlPath("databases").AddUrlPath(id.ToString());
var response = await command.RunAsyncRaw<DatabaseInfo>(HttpMethod.Get, runSynchronously).ConfigureAwait(false);
var response = await command.RunAsyncRaw<DatabaseInfo>(System.Net.Http.HttpMethod.Get, runSynchronously).ConfigureAwait(false);
return response;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.2.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataStax.AstraDB.DataAPI", "DataStax.AstraDB.DataAPI.csproj", "{8D9F6877-0FAB-6D07-B52F-3C51AD59CA7B}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataStax.AstraDB.DataApi", "DataStax.AstraDB.DataApi.csproj", "{8D9F6877-0FAB-6D07-B52F-3C51AD59CA7B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
34 changes: 0 additions & 34 deletions test/DataStax.AstraDB.DataAPI.IntegrationTests/AdminFixture.cs

This file was deleted.

35 changes: 0 additions & 35 deletions test/DataStax.AstraDB.DataAPI.IntegrationTests/Tests/AdminTests.cs

This file was deleted.

51 changes: 51 additions & 0 deletions test/DataStax.AstraDB.DataApi.IntegrationTests/AdminFixture.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using System;
using System.Text.RegularExpressions;

public class AdminFixture : IDisposable
{
public AdminFixture()
{
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true)
.AddEnvironmentVariables(prefix: "ASTRA_DB_")
.Build();

var token = configuration["ADMINTOKEN"] ?? configuration["AstraDB:AdminToken"];
var dbUrl = configuration["URL"]; // ASTRA_DB_URL gets mapped to URL

_databaseId = GetDatabaseIdFromUrl(dbUrl) ?? throw new Exception("Database ID could not be extracted from ASTRA_DB_URL.");

using ILoggerFactory factory = LoggerFactory.Create(builder => builder.AddConsole());
ILogger logger = factory.CreateLogger("IntegrationTests");

var clientOptions = new CommandOptions
{
RunMode = RunMode.Debug
};
Client = new DataApiClient(token, clientOptions, logger);
}

public void Dispose()
{
// ... clean up test data from the database ...
}

private readonly Guid _databaseId;
public Guid DatabaseId => _databaseId;
public DataApiClient Client { get; private set; }

private static Guid? GetDatabaseIdFromUrl(string url)
{
if (string.IsNullOrWhiteSpace(url))
return null;

// Match the first UUID in the URL
var match = Regex.Match(url, @"([0-9a-fA-F-]{36})");
return match.Success? Guid.Parse(match.Value) : null;
}
}
34 changes: 34 additions & 0 deletions test/DataStax.AstraDB.DataApi.IntegrationTests/Tests/AdminTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using DataStax.AstraDB.DataApi;
using DataStax.AstraDB.DataApi.Core;
using DataStax.AstraDB.DataApi.Collections;
using Xunit;

namespace DataStax.AstraDB.DataApi.IntegrationTests.Tests;

[CollectionDefinition("Admin Collection")]
public class AdminCollection : ICollectionFixture<AdminFixture>
{

}

[Collection("Admin Collection")]
public class AdminTests
{
AdminFixture fixture;

public AdminTests(AdminFixture fixture)
{
this.fixture = fixture;
}

[Fact]
public async Task ConnectViaDbId()
{
var dbId = fixture.DatabaseId;
var database = await fixture.Client.GetDatabaseAsync(dbId);
Assert.NotNull(database);

database = fixture.Client.GetDatabase(dbId);
Assert.NotNull(database);
}
}