diff --git a/src/Compatibility.StorageTable.AcceptanceTests/CompatibilityAcceptanceTest.cs b/src/Compatibility.StorageTable.AcceptanceTests/CompatibilityAcceptanceTest.cs index 2e797e41..4a90d520 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/CompatibilityAcceptanceTest.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/CompatibilityAcceptanceTest.cs @@ -4,7 +4,7 @@ namespace NServiceBus.AcceptanceTests using System.Net; using System.Threading.Tasks; using Microsoft.Azure.Cosmos.Table; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Testing; public class CompatibilityAcceptanceTest : NServiceBusAcceptanceTest diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/CloudTableExtensions.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/CloudTableExtensions.g.cs similarity index 97% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/CloudTableExtensions.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/CloudTableExtensions.g.cs index a16735d5..cc766a69 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/CloudTableExtensions.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/CloudTableExtensions.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System.Collections.Generic; using System.Linq; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntity.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntity.g.cs similarity index 98% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntity.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntity.g.cs index 0cff18fa..7afe5e44 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntity.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntity.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.Collections; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntityExtensions.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntityExtensions.g.cs similarity index 99% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntityExtensions.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntityExtensions.g.cs index 0d6a2396..4f243717 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/DictionaryTableEntityExtensions.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/DictionaryTableEntityExtensions.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.Collections.Generic; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/LRUCache.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/LRUCache.g.cs similarity index 97% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/LRUCache.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/LRUCache.g.cs index 6604df0d..c817d54f 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/LRUCache.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/LRUCache.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System.Collections.Generic; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/PartitionRowKeyTuple.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/PartitionRowKeyTuple.g.cs similarity index 96% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/PartitionRowKeyTuple.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/PartitionRowKeyTuple.g.cs index 2dfae096..a0fc6a4e 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/PartitionRowKeyTuple.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/PartitionRowKeyTuple.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using Microsoft.Azure.Cosmos.Table; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/README.md b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/README.md new file mode 100644 index 00000000..30fdf94c --- /dev/null +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/README.md @@ -0,0 +1,9 @@ +We looked at several solutions like + +- Referencing the previous nuget package leveraging aliasing +- Using a dedicated repository to verify backward compatibility +- Spinning up custom app domains that load different assemblies + +One of the main goals was to make sure we are backward compatible and detect it early on master so a dedicated repository was ruled out. Custom aliasing didn't work out in the same acceptance test project and spinning up custom app domains was deemed too complex so we settled with a tradeoff of copying the previous saga persister code into master. In order for the code to not trigger analysis the files have been treated as external sources and use `.g.cs` as a file extension. + +The sources used only need to be updated if a patch version on the 2.4 branch introduced changes to the `DictionaryTableEntity` or the secondary index algorithm. \ No newline at end of file diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SafeLinqExtensions.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SafeLinqExtensions.g.cs similarity index 93% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SafeLinqExtensions.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SafeLinqExtensions.g.cs index 0285e7f2..125dd34f 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SafeLinqExtensions.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SafeLinqExtensions.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System.Collections.Generic; using System.Linq; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaDataSerializer.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaDataSerializer.g.cs similarity index 97% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaDataSerializer.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaDataSerializer.g.cs index e0854635..24a4a462 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaDataSerializer.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaDataSerializer.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.Collections.Generic; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaPersisterUsingSecondaryIndexes.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaPersisterUsingSecondaryIndexes.g.cs similarity index 99% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaPersisterUsingSecondaryIndexes.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaPersisterUsingSecondaryIndexes.g.cs index 00c9d6a5..822e3640 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SagaPersisterUsingSecondaryIndexes.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SagaPersisterUsingSecondaryIndexes.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.Collections.Concurrent; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexKeyBuilder.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexKeyBuilder.g.cs similarity index 94% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexKeyBuilder.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexKeyBuilder.g.cs index 3dd2b445..d464a6a8 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexKeyBuilder.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexKeyBuilder.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.IO; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexPersister.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexPersister.g.cs similarity index 99% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexPersister.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexPersister.g.cs index 6d3c4325..3ce05b49 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexPersister.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexPersister.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using System.Net; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexTableEntity.cs b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexTableEntity.g.cs similarity index 84% rename from src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexTableEntity.cs rename to src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexTableEntity.g.cs index d2ab0076..4e8b88d0 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/Previous/SecondaryIndexTableEntity.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/Release_2x/SecondaryIndexTableEntity.g.cs @@ -1,4 +1,4 @@ -namespace NServiceBus.Persistence.AzureTable.Previous +namespace NServiceBus.Persistence.AzureTable.Release_2x { using System; using Microsoft.Azure.Cosmos.Table; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/When_migrated_saga_completed.cs b/src/Compatibility.StorageTable.AcceptanceTests/When_migrated_saga_completed.cs index 1b8e1dcf..5255379a 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/When_migrated_saga_completed.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/When_migrated_saga_completed.cs @@ -7,7 +7,7 @@ namespace NServiceBus.AcceptanceTests using EndpointTemplates; using NUnit.Framework; using Extensibility; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Sagas; public class When_migrated_saga_completed : CompatibilityAcceptanceTest diff --git a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_and_transactionality_required.cs b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_and_transactionality_required.cs index 19cdd8ea..83c47a2e 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_and_transactionality_required.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_and_transactionality_required.cs @@ -9,7 +9,7 @@ namespace NServiceBus.AcceptanceTests using Extensibility; using Sagas; using Microsoft.Azure.Cosmos.Table; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Persistence.AzureTable; using Pipeline; diff --git a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_but_not_completed.cs b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_but_not_completed.cs index d1e0e4e3..8cfe8283 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_but_not_completed.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_but_not_completed.cs @@ -7,7 +7,7 @@ namespace NServiceBus.AcceptanceTests using EndpointTemplates; using NUnit.Framework; using Extensibility; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Sagas; public class When_saga_migrated_but_not_completed : CompatibilityAcceptanceTest diff --git a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_with_modified_secondary.cs b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_with_modified_secondary.cs index 2c4356bc..4d6cb647 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_with_modified_secondary.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_with_modified_secondary.cs @@ -7,7 +7,7 @@ namespace NServiceBus.AcceptanceTests using EndpointTemplates; using NUnit.Framework; using Extensibility; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Sagas; public class When_saga_migrated_with_modified_secondary : CompatibilityAcceptanceTest diff --git a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_without_secondary.cs b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_without_secondary.cs index d8517960..7b66da15 100644 --- a/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_without_secondary.cs +++ b/src/Compatibility.StorageTable.AcceptanceTests/When_saga_migrated_without_secondary.cs @@ -8,7 +8,7 @@ namespace NServiceBus.AcceptanceTests using EndpointTemplates; using NUnit.Framework; using Extensibility; - using Persistence.AzureTable.Previous; + using Persistence.AzureTable.Release_2x; using Sagas; public class When_saga_migrated_without_secondary : CompatibilityAcceptanceTest