diff --git a/src/Arcus.Testing.Tests.Integration/Configuration/AzureEnvironment.cs b/src/Arcus.Testing.Tests.Integration/Configuration/AzureEnvironment.cs
new file mode 100644
index 00000000..c4bd5c21
--- /dev/null
+++ b/src/Arcus.Testing.Tests.Integration/Configuration/AzureEnvironment.cs
@@ -0,0 +1,45 @@
+namespace Arcus.Testing.Tests.Integration.Configuration
+{
+ ///
+ /// Represents the environment on Azure where a set of test resources are located.
+ ///
+ public class AzureEnvironment
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public AzureEnvironment(
+ string subscriptionId,
+ string resourceGroupName)
+ {
+ SubscriptionId = subscriptionId;
+ ResourceGroupName = resourceGroupName;
+ }
+
+ ///
+ /// Gets the subscription ID for the set of test resources.
+ ///
+ public string SubscriptionId { get; }
+
+ ///
+ /// Gets the resource group name for the set of test resources.
+ ///
+ public string ResourceGroupName { get; }
+ }
+
+ ///
+ /// Extensions on the for more test-friendly interaction.
+ ///
+ public static partial class TestConfigExtensions
+ {
+ ///
+ /// Loads the from the current test .
+ ///
+ public static AzureEnvironment GetAzureEnvironment(this TestConfig config)
+ {
+ return new AzureEnvironment(
+ config["Arcus:SubscriptionId"],
+ config["Arcus:ResourceGroup:Name"]);
+ }
+ }
+}
diff --git a/src/Arcus.Testing.Tests.Integration/Configuration/ServicePrincipal.cs b/src/Arcus.Testing.Tests.Integration/Configuration/ServicePrincipal.cs
index d984bc17..3eabbdb2 100644
--- a/src/Arcus.Testing.Tests.Integration/Configuration/ServicePrincipal.cs
+++ b/src/Arcus.Testing.Tests.Integration/Configuration/ServicePrincipal.cs
@@ -15,11 +15,11 @@ public ServicePrincipal(string tenantId, string clientId, string clientSecret)
public string TenantId { get; }
public string ClientId { get; }
-
+
public string ClientSecret { get; }
}
- public static class TestConfigExtensions
+ public static partial class TestConfigExtensions
{
public static ServicePrincipal GetServicePrincipal(this TestConfig config)
{
diff --git a/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Configuration/DataFactoryConfig.cs b/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Configuration/DataFactoryConfig.cs
index 559d18fd..2efc904e 100644
--- a/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Configuration/DataFactoryConfig.cs
+++ b/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Configuration/DataFactoryConfig.cs
@@ -1,5 +1,7 @@
using System;
+using Arcus.Testing.Tests.Integration.Configuration;
using Azure.Core;
+using Azure.ResourceManager.DataFactory;
// ReSharper disable once CheckNamespace
namespace Arcus.Testing
@@ -13,16 +15,14 @@ public class DataFactoryConfig
/// Initializes a new instance of the class.
///
public DataFactoryConfig(
- string subscriptionId,
- string resourceGroupName,
- string resourceName)
+ string factoryName,
+ ResourceIdentifier factoryResourceId)
{
- ArgumentException.ThrowIfNullOrWhiteSpace(subscriptionId);
- ArgumentException.ThrowIfNullOrWhiteSpace(resourceGroupName);
- ArgumentException.ThrowIfNullOrWhiteSpace(resourceName);
+ ArgumentException.ThrowIfNullOrWhiteSpace(factoryName);
+ ArgumentNullException.ThrowIfNull(factoryResourceId);
- Name = resourceName;
- ResourceId = ResourceIdentifier.Parse($"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{resourceName}");
+ Name = factoryName;
+ ResourceId = factoryResourceId;
}
///
@@ -37,7 +37,7 @@ public DataFactoryConfig(
}
///
- /// Extensions on the for more easier access to the .
+ /// Extensions on the for easier access to the .
///
public static class TestConfigExtensions
{
@@ -46,10 +46,15 @@ public static class TestConfigExtensions
///
public static DataFactoryConfig GetDataFactory(this TestConfig config)
{
+ AzureEnvironment env = config.GetAzureEnvironment();
+
+ string factoryName = config["Arcus:DataFactory:Name"];
+ ResourceIdentifier factoryResourceId =
+ DataFactoryResource.CreateResourceIdentifier(env.SubscriptionId, env.ResourceGroupName, factoryName);
+
return new DataFactoryConfig(
- config["Arcus:SubscriptionId"],
- config["Arcus:ResourceGroup:Name"],
- config["Arcus:DataFactory:Name"]);
+ factoryName,
+ factoryResourceId);
}
}
}
\ No newline at end of file
diff --git a/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Fixture/TemporaryDataFactoryDataFlow.cs b/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Fixture/TemporaryDataFactoryDataFlow.cs
index ee083217..25ce9817 100644
--- a/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Fixture/TemporaryDataFactoryDataFlow.cs
+++ b/src/Arcus.Testing.Tests.Integration/Integration/DataFactory/Fixture/TemporaryDataFactoryDataFlow.cs
@@ -3,6 +3,7 @@
using System.IO;
using System.Linq;
using System.Threading.Tasks;
+using Arcus.Testing.Tests.Integration.Configuration;
using Arcus.Testing.Tests.Integration.Storage.Configuration;
using Azure;
using Azure.Core;
@@ -50,6 +51,10 @@ private TemporaryDataFactoryDataFlow(DataFlowDataType dataType, TestConfig confi
_config = config;
_logger = logger;
+ var env = config.GetAzureEnvironment();
+ SubscriptionId = env.SubscriptionId;
+ ResourceGroupName = env.ResourceGroupName;
+
Name = RandomizeWith("dataFlow");
SourceName = RandomizeWith("sourceName");
SinkName = RandomizeWith("sinkName");
@@ -57,8 +62,8 @@ private TemporaryDataFactoryDataFlow(DataFlowDataType dataType, TestConfig confi
SourceDataSetName = RandomizeWith("sourceDataSet");
}
- private string SubscriptionId => _config["Arcus:SubscriptionId"];
- private string ResourceGroupName => _config["Arcus:ResourceGroup:Name"];
+ private string SubscriptionId { get; }
+ private string ResourceGroupName { get; }
private DataFactoryConfig DataFactory => _config.GetDataFactory();
private StorageAccount StorageAccount => _config.GetStorageAccount();
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/Configuration/CosmosDbConfig.cs b/src/Arcus.Testing.Tests.Integration/Storage/Configuration/CosmosDbConfig.cs
index 3e206a0d..3b7c017a 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/Configuration/CosmosDbConfig.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/Configuration/CosmosDbConfig.cs
@@ -1,5 +1,7 @@
using System;
+using Arcus.Testing.Tests.Integration.Configuration;
using Azure.Core;
+using Azure.ResourceManager.CosmosDB;
// ReSharper disable once CheckNamespace
namespace Arcus.Testing
@@ -9,88 +11,71 @@ public class CosmosDbConfig
///
/// Initializes a new instance of the class.
///
- public CosmosDbConfig(ResourceIdentifier resourceId, MongoDbConfig mongoDb, NoSqlConfig noSql)
+ public CosmosDbConfig(ResourceIdentifier accountResourceId, string accountName, string databaseName)
{
- Name = resourceId.Name;
- Endpoint = new Uri("https://arcus-testing-cosmos.mongo.cosmos.azure.com/").ToString();
- ResourceId = resourceId;
- MongoDb = mongoDb;
- NoSql = noSql;
- }
+ ArgumentNullException.ThrowIfNull(accountResourceId);
+ ArgumentException.ThrowIfNullOrWhiteSpace(accountName);
+ ArgumentException.ThrowIfNullOrWhiteSpace(databaseName);
- public string Name { get; }
- public string Endpoint { get; }
- public ResourceIdentifier ResourceId { get; }
- public MongoDbConfig MongoDb { get; }
- public NoSqlConfig NoSql { get; }
- }
+ AccountName = accountName;
+ AccountEndpoint = new Uri($"https://{accountName}.documents.azure.com/");
+ AccountResourceId = accountResourceId;
+ DatabaseName = databaseName;
+ }
- public class MongoDbConfig
- {
///
- /// Initializes a new instance of the class.
+ /// Gets the name of the Cosmos DB account associated with the current test setup.
///
- public MongoDbConfig(ResourceIdentifier resourceId, string accountName, string databaseName)
- {
- ResourceId = resourceId;
- Name = accountName;
- DatabaseName = databaseName;
- }
+ public string AccountName { get; }
- public string Name { get; }
- public ResourceIdentifier ResourceId { get; }
- public string DatabaseName { get; }
- }
+ ///
+ /// Gets the endpoint of the Cosmos DB account associated with the current test setup.
+ ///
+ public Uri AccountEndpoint { get; }
- public class NoSqlConfig
- {
///
- /// Initializes a new instance of the class.
+ /// Gets the resource ID of the Cosmos DB account associated with the current test setup.
///
- public NoSqlConfig(ResourceIdentifier resourceId, string accountName, string databaseName)
- {
- ResourceId = resourceId;
- DatabaseName = databaseName;
- Endpoint = new Uri($"https://{accountName}.documents.azure.com/").ToString();
- }
+ public ResourceIdentifier AccountResourceId { get; }
- public string Endpoint { get; }
- public ResourceIdentifier ResourceId { get; }
+ ///
+ /// Gets the name of the default database that was created on the Cosmos DB account associated with the current test setup.
+ ///
public string DatabaseName { get; }
}
+ ///
+ /// Extensions on the for more test-friendly interaction.
+ ///
public static class CosmosDbTestConfigExtensions
{
- public static MongoDbConfig GetMongoDb(this TestConfig config)
+ ///
+ /// Loads the specific for the Mongo storage.
+ ///
+ public static CosmosDbConfig GetMongoDb(this TestConfig config)
{
- string subscriptionId = config["Arcus:SubscriptionId"];
- string resourceGroupName = config["Arcus:ResourceGroup:Name"];
- string cosmosDbName = config["Arcus:Cosmos:MongoDb:Name"];
- var resourceId = ResourceIdentifier.Parse($"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbName}");
- string databaseName = config["Arcus:Cosmos:MongoDb:DatabaseName"];
-
- return new MongoDbConfig(
- resourceId,
- cosmosDbName,
- databaseName);
+ return config.GetCosmosDb(CosmosDbType.MongoDb);
}
- public static NoSqlConfig GetNoSql(this TestConfig config)
+ ///
+ /// Loads the specific for the NoSql storage.
+ ///
+ public static CosmosDbConfig GetNoSql(this TestConfig config)
{
- ResourceIdentifier resourceId = CreateResourceId(config, config["Arcus:Cosmos:NoSql:Name"]);
-
- return new NoSqlConfig(
- resourceId,
- config["Arcus:Cosmos:NoSql:Name"],
- config["Arcus:Cosmos:NoSql:DatabaseName"]);
+ return config.GetCosmosDb(CosmosDbType.NoSql);
}
- private static ResourceIdentifier CreateResourceId(TestConfig config, string accountName)
+ private enum CosmosDbType { NoSql, MongoDb }
+
+ private static CosmosDbConfig GetCosmosDb(this TestConfig config, CosmosDbType cosmosDbType)
{
- string subscriptionId = config["Arcus:SubscriptionId"];
- string resourceGroupName = config["Arcus:ResourceGroup:Name"];
-
- return ResourceIdentifier.Parse($"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}");
+ AzureEnvironment env = config.GetAzureEnvironment();
+
+ string cosmosDbName = config[$"Arcus:Cosmos:{cosmosDbType}:Name"];
+ string databaseName = config[$"Arcus:Cosmos:{cosmosDbType}:DatabaseName"];
+ ResourceIdentifier resourceId = CosmosDBAccountResource.CreateResourceIdentifier(env.SubscriptionId, env.ResourceGroupName, cosmosDbName);
+
+ return new CosmosDbConfig(resourceId, cosmosDbName, databaseName);
}
}
}
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/Fixture/MongoDbTestContext.cs b/src/Arcus.Testing.Tests.Integration/Storage/Fixture/MongoDbTestContext.cs
index 00a0cb21..110222d9 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/Fixture/MongoDbTestContext.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/Fixture/MongoDbTestContext.cs
@@ -62,9 +62,10 @@ private static async Task AuthenticateMongoDbClientAsync(TestConfig
var tokenProvider = new DefaultAzureCredential();
AccessToken accessToken = await tokenProvider.GetTokenAsync(new TokenRequestContext(scopes: new[] { scope }));
- string subscriptionId = config["Arcus:SubscriptionId"];
- string resourceGroupName = config["Arcus:ResourceGroup:Name"];
- string cosmosDbName = config["Arcus:Cosmos:MongoDb:Name"];
+ AzureEnvironment env = config.GetAzureEnvironment();
+ string subscriptionId = env.SubscriptionId;
+ string resourceGroupName = env.ResourceGroupName;
+ string cosmosDbName = config.GetMongoDb().AccountName;
var listConnectionStringUrl = $"https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbName}/listConnectionStrings?api-version=2021-04-15";
@@ -201,7 +202,7 @@ public async Task ShouldStoreDocumentAsync(string collectionName, BsonValue i
}
///
- /// Verifies that a document does not exists in the MongoDb collection.
+ /// Verifies that a document does not exist in the MongoDb collection.
///
public async Task ShouldNotStoreDocumentAsync(string collectionName, BsonValue id)
{
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/Fixture/NoSqlTestContext.cs b/src/Arcus.Testing.Tests.Integration/Storage/Fixture/NoSqlTestContext.cs
index 0ea12f82..e8514a43 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/Fixture/NoSqlTestContext.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/Fixture/NoSqlTestContext.cs
@@ -6,13 +6,12 @@
using Arcus.Testing.Tests.Integration.Fixture;
using Azure;
using Azure.Identity;
-using Azure.ResourceManager.CosmosDB.Models;
-using Azure.ResourceManager.CosmosDB;
using Azure.ResourceManager;
+using Azure.ResourceManager.CosmosDB;
+using Azure.ResourceManager.CosmosDB.Models;
using Microsoft.Azure.Cosmos;
using Microsoft.Extensions.Logging;
using Xunit;
-using Xunit.Sdk;
namespace Arcus.Testing.Tests.Integration.Storage.Fixture
{
@@ -35,7 +34,7 @@ public interface INoSqlItem : INoSqlItem
public class NoSqlTestContext : IAsyncDisposable
{
private readonly TemporaryManagedIdentityConnection _connection;
- private readonly NoSqlConfig _config;
+ private readonly CosmosDbConfig _config;
private readonly CosmosClient _client;
private readonly Collection _containerNames = new();
private readonly ILogger _logger;
@@ -44,7 +43,7 @@ private NoSqlTestContext(
TemporaryManagedIdentityConnection connection,
CosmosClient client,
Database database,
- NoSqlConfig config,
+ CosmosDbConfig config,
ILogger logger)
{
_connection = connection;
@@ -65,16 +64,16 @@ private NoSqlTestContext(
public static NoSqlTestContext Given(TestConfig config, ILogger logger)
{
var connection = TemporaryManagedIdentityConnection.Create(config.GetServicePrincipal());
- NoSqlConfig noSql = config.GetNoSql();
+ CosmosDbConfig noSql = config.GetNoSql();
- var client = new CosmosClient(noSql.Endpoint, new DefaultAzureCredential());
+ var client = new CosmosClient(noSql.AccountEndpoint.ToString(), new DefaultAzureCredential());
Database database = client.GetDatabase(noSql.DatabaseName);
return new NoSqlTestContext(connection, client, database, noSql, logger);
}
///
- /// Provides a new container name that does not exists in the NoSql database.
+ /// Provides a new container name that does not exist in the NoSql database.
///
public string WhenContainerNameUnavailable()
{
@@ -85,7 +84,7 @@ public string WhenContainerNameUnavailable()
}
///
- /// Provides a new container name that does exists in the NoSql database.
+ /// Provides a new container name that does exist in the NoSql database.
///
public async Task WhenContainerNameAvailableAsync(string partitionKeyPath = "/pk")
{
@@ -93,13 +92,13 @@ public async Task WhenContainerNameAvailableAsync(string partitionKeyPat
_logger.LogTrace("[Test] create NoSql container '{ContainerName}' outside the fixture's scope", containerName);
var arm = new ArmClient(new DefaultAzureCredential());
- CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.ResourceId);
+ CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.AccountResourceId);
CosmosDBSqlDatabaseResource database = await cosmosDb.GetCosmosDBSqlDatabaseAsync(_config.DatabaseName);
CosmosDBAccountResource resource = await cosmosDb.GetAsync();
var newContainer = new CosmosDBSqlContainerResourceInfo(containerName)
{
- PartitionKey = new CosmosDBContainerPartitionKey { Paths = { partitionKeyPath }}
+ PartitionKey = new CosmosDBContainerPartitionKey { Paths = { partitionKeyPath } }
};
var request = new CosmosDBSqlContainerCreateOrUpdateContent(resource.Data.Location, newContainer);
await database.GetCosmosDBSqlContainers()
@@ -116,7 +115,7 @@ public async Task WhenContainerDeletedAsync(string containerName)
_logger.LogTrace("[Test] delete NoSql container '{ContainerName}' outside test fixture's scope", containerName);
var arm = new ArmClient(new DefaultAzureCredential());
- CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.ResourceId);
+ CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.AccountResourceId);
CosmosDBSqlDatabaseResource database = await cosmosDb.GetCosmosDBSqlDatabaseAsync(_config.DatabaseName);
CosmosDBSqlContainerResource container = await database.GetCosmosDBSqlContainerAsync(containerName);
@@ -183,7 +182,7 @@ await Poll.UntilAvailableAsync(async () =>
}
///
- /// Verifies that n item does not exists in a NoSql container.
+ /// Verifies that n item does not exist in a NoSql container.
///
public async Task ShouldNotStoreItemAsync(string containerName, T expected) where T : INoSqlItem
{
@@ -206,7 +205,7 @@ public async ValueTask DisposeAsync()
disposables.Add(AsyncDisposable.Create(async () =>
{
var arm = new ArmClient(new DefaultAzureCredential());
- CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.ResourceId);
+ CosmosDBAccountResource cosmosDb = arm.GetCosmosDBAccountResource(_config.AccountResourceId);
CosmosDBSqlDatabaseResource database = await cosmosDb.GetCosmosDBSqlDatabaseAsync(_config.DatabaseName);
foreach (var containerName in _containerNames)
@@ -219,7 +218,7 @@ public async ValueTask DisposeAsync()
}
catch (CosmosException exception) when (exception.StatusCode is HttpStatusCode.NotFound)
{
- // Ignore when the container does not exists.
+ // Ignore when the container does not exist.
}
catch (RequestFailedException exception) when (exception.Status is 404)
{
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbCollectionTests.cs b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbCollectionTests.cs
index 563659ef..50cd9955 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbCollectionTests.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbCollectionTests.cs
@@ -19,7 +19,7 @@ public TemporaryMongoDbCollectionTests(ITestOutputHelper outputWriter) : base(ou
{
}
- private MongoDbConfig MongoDb => Configuration.GetMongoDb();
+ private CosmosDbConfig MongoDb => Configuration.GetMongoDb();
[Fact]
public async Task CreateTempMongoDbCollection_OnNonExistingCollection_SucceedsByExistingDuringLifetimeFixture()
@@ -114,7 +114,7 @@ public async Task CreateTempMongoDbCollectionWithCleanMatchingOnSetup_OnExisting
// Assert
await context.ShouldNotStoreDocumentAsync(collectionName, matchedId);
await context.ShouldStoreDocumentAsync(collectionName, unmatchedId);
-
+
await collection.DisposeAsync();
await context.ShouldStoreDocumentAsync(collectionName, unmatchedId);
}
@@ -236,8 +236,8 @@ public async Task CreateTempMongoDbCollection_WhenCollectionWasDeletedOutsideFix
private async Task WhenTempCollectionCreatedAsync(string collectionName, Action configureOptions = null)
{
var collection = configureOptions is null
- ? await TemporaryMongoDbCollection.CreateIfNotExistsAsync(MongoDb.ResourceId, MongoDb.DatabaseName, collectionName, Logger)
- : await TemporaryMongoDbCollection.CreateIfNotExistsAsync(MongoDb.ResourceId, MongoDb.DatabaseName, collectionName, Logger, configureOptions);
+ ? await TemporaryMongoDbCollection.CreateIfNotExistsAsync(MongoDb.AccountResourceId, MongoDb.DatabaseName, collectionName, Logger)
+ : await TemporaryMongoDbCollection.CreateIfNotExistsAsync(MongoDb.AccountResourceId, MongoDb.DatabaseName, collectionName, Logger, configureOptions);
Assert.Equal(collectionName, collection.Name);
return collection;
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbDocumentTests.cs b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbDocumentTests.cs
index 8e411ace..cc1418a4 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbDocumentTests.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryMongoDbDocumentTests.cs
@@ -20,7 +20,7 @@ public TemporaryMongoDbDocumentTests(ITestOutputHelper outputWriter) : base(outp
{
}
- private MongoDbConfig MongoDb => Configuration.GetMongoDb();
+ private CosmosDbConfig MongoDb => Configuration.GetMongoDb();
[Fact]
public async Task CreateTempMongoDbDocument_OnNonExistingDocumentId_SucceedsByExistingDuringLifetimeFixture()
@@ -53,7 +53,7 @@ public async Task CreateTempMongoDbDocument_OnExistingDocumentId_SucceedsByRever
BsonValue id = await context.WhenDocumentAvailableAsync(collectionName, original);
Product replacement = CreateProduct();
- replacement.Id = (ObjectId)id;
+ replacement.Id = (ObjectId) id;
TemporaryMongoDbDocument temp = await WhenTempDocumentCreatedAsync(collectionName, replacement);
await context.ShouldStoreDocumentAsync(collectionName, id, stored => AssertProduct(replacement, stored));
@@ -69,7 +69,7 @@ private async Task WhenTempDocumentCreatedAsync(
where TDoc : class
{
return await TemporaryMongoDbDocument.InsertIfNotExistsAsync(
- MongoDb.ResourceId,
+ MongoDb.AccountResourceId,
MongoDb.DatabaseName,
collectionName,
doc,
@@ -113,7 +113,7 @@ public async Task CreateTempMongoDbDocument_WithOtherThanObjectIdPropertyType_Su
BsonValue id = await context.WhenDocumentAvailableAsync(collectionName, original);
var replacement = DocWithStringId.Generate();
- replacement.Id = (string)id;
+ replacement.Id = (string) id;
TemporaryMongoDbDocument temp = await WhenTempDocumentCreatedAsync(collectionName, replacement);
await context.ShouldStoreDocumentAsync(collectionName, id, stored => Assert.Equal(replacement.Name, stored.Name));
diff --git a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryNoSqlContainerTests.cs b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryNoSqlContainerTests.cs
index ada3cd5f..41341428 100644
--- a/src/Arcus.Testing.Tests.Integration/Storage/TemporaryNoSqlContainerTests.cs
+++ b/src/Arcus.Testing.Tests.Integration/Storage/TemporaryNoSqlContainerTests.cs
@@ -13,7 +13,7 @@ namespace Arcus.Testing.Tests.Integration.Storage
[Collection(TestCollections.NoSql)]
public class TemporaryNoSqlContainerTests : IntegrationTest
{
- private string[] PartitionKeyPaths => new[]
+ private static string[] PartitionKeyPaths => new[]
{
"/" + nameof(Ship.Destination) + "/" + nameof(Destination.Country)
};
@@ -25,7 +25,7 @@ public TemporaryNoSqlContainerTests(ITestOutputHelper outputWriter) : base(outpu
{
}
- private NoSqlConfig NoSql => Configuration.GetNoSql();
+ private CosmosDbConfig NoSql => Configuration.GetNoSql();
[Fact]
public async Task CreateTempNoSqlContainer_WithNonExistingContainer_SucceedsByExistingDuringLifetimeFixture()
@@ -182,7 +182,7 @@ public async Task CreateTempNoSqlContainerWithCleanAllOnTeardown_WhenExistingIte
string containerName = await WhenContainerAlreadyAvailableAsync(context);
Ship createdBefore = await context.WhenItemAvailableAsync(containerName, CreateShip("before"));
-
+
TemporaryNoSqlContainer container = await WhenTempContainerCreatedAsync(containerName);
container.OnTeardown.CleanAllItems();
await context.ShouldStoreItemAsync(containerName, createdBefore);
@@ -206,7 +206,7 @@ private NoSqlTestContext GivenCosmosNoSql()
return NoSqlTestContext.Given(Configuration, Logger);
}
- private async Task WhenContainerAlreadyAvailableAsync(NoSqlTestContext context)
+ private static async Task WhenContainerAlreadyAvailableAsync(NoSqlTestContext context)
{
return await context.WhenContainerNameAvailableAsync(PartitionKeyPaths.Single());
}
@@ -215,10 +215,10 @@ private async Task WhenTempContainerCreatedAsync(
string containerName,
Action configureOptions = null)
{
- var container =
+ var container =
configureOptions is null
- ? await TemporaryNoSqlContainer.CreateIfNotExistsAsync(NoSql.ResourceId, NoSql.DatabaseName, containerName, PartitionKeyPaths.Single(), Logger)
- : await TemporaryNoSqlContainer.CreateIfNotExistsAsync(NoSql.ResourceId, NoSql.DatabaseName, containerName, PartitionKeyPaths.Single(), Logger, configureOptions);
+ ? await TemporaryNoSqlContainer.CreateIfNotExistsAsync(NoSql.AccountResourceId, NoSql.DatabaseName, containerName, PartitionKeyPaths.Single(), Logger)
+ : await TemporaryNoSqlContainer.CreateIfNotExistsAsync(NoSql.AccountResourceId, NoSql.DatabaseName, containerName, PartitionKeyPaths.Single(), Logger, configureOptions);
Assert.Equal(NoSql.DatabaseName, container.Client.Database.Id);
Assert.Equal(containerName, container.Name);