Skip to content
Draft
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
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

namespace Microsoft.EntityFrameworkCore;

// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public class CosmosTransactionalBatchTest(CosmosTransactionalBatchTest.CosmosFixture fixture) : IClassFixture<CosmosTransactionalBatchTest.CosmosFixture>, IAsyncLifetime
{
private const string DatabaseName = nameof(CosmosTransactionalBatchTest);

protected CosmosFixture Fixture { get; } = fixture;

[ConditionalFact]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_fails_for_duplicate_key_in_same_partition_prevents_other_inserts_in_same_partition_even_if_staged_before_add()
{
using (var arrangeContext = Fixture.CreateContext())
Expand Down Expand Up @@ -109,6 +109,8 @@ public virtual async Task SaveChanges_transaction_behavior_never_fails_for_dupli
}

[ConditionalFact]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_transaction_behavior_always_fails_for_multiple_partitionkeys()
{
using var context = Fixture.CreateContext();
Expand Down Expand Up @@ -171,6 +173,8 @@ public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_1
}

[ConditionalFact]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_transaction_behavior_always_fails_for_multiple_entities_with_triggers()
{
using var context = Fixture.CreateContext();
Expand All @@ -188,6 +192,8 @@ public virtual async Task SaveChanges_transaction_behavior_always_fails_for_mult
}

[ConditionalFact]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/294
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_single_entity_with_trigger()
{
using var context = Fixture.CreateContext();
Expand Down Expand Up @@ -231,6 +237,8 @@ public virtual async Task SaveChanges_transaction_behavior_always_succeeds_for_s
}

[ConditionalFact]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_transaction_behavior_always_fails_for_single_entity_with_trigger_and_entity_without_trigger()
{
using var context = Fixture.CreateContext();
Expand Down Expand Up @@ -361,6 +369,8 @@ public virtual async Task SaveChanges_exactly_2_mib_does_not_split_and_one_byte_
private const int MaxSpecialCharsInId = MaxKeySize / 3;

[ConditionalTheory, InlineData(true), InlineData(false)]
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/323
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public virtual async Task SaveChanges_update_id_contains_special_chars_which_makes_request_larger_than_2_mib_splits_into_2_batches(bool isIdSpecialChar)
{
using var context = Fixture.CreateContext();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ namespace Microsoft.EntityFrameworkCore.Update;

public class CosmosBulkConcurrencyTest(CosmosBulkConcurrencyTest.ConcurrencyFixture fixture) : CosmosConcurrencyTest(fixture), IClassFixture<CosmosBulkConcurrencyTest.ConcurrencyFixture>
{
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/319
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public override Task Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException()
=> base.Updating_then_deleting_the_same_entity_results_in_DbUpdateConcurrencyException();

// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/292 (Transactional batch limits not enforced)
// https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/319
[CosmosCondition(CosmosCondition.IsNotLinuxEmulator)]
public override Task Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException()
=> base.Updating_then_updating_the_same_entity_results_in_DbUpdateConcurrencyException();
Expand Down