Last active
October 20, 2020 14:06
-
-
Save bryanknox/dc52b5279708e5563f9997651f076345 to your computer and use it in GitHub Desktop.
OBSOLETE: Since Azure Functions Durable Extensions 2.3.0, this technique is no longer needed. Wraps the `DurableEntityProxyExtensions.CreateEntityProxy` extension methods for use in Azure Durable Function Orchestrations unit testing.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Microsoft.Azure.WebJobs.Extensions.DurableTask; | |
namespace K0x.DurableFunctionsHelpers | |
{ | |
/// <summary> | |
/// Wraps the DurableEntityProxyExtensions.CreateEntityProxy extension methods | |
/// for use in durable orchestrations that are unit tested. | |
/// </summary> | |
/// <remarks> | |
/// Instead of using the DurableEntityProxyExtensions.CreateEntityProxy<>(..) extension method | |
/// in an orchestration like: | |
/// | |
/// var myEntityProxy = context.CreateEntityProxy<IMyEntityProxy>(myEntityId); | |
/// | |
/// Use dependency injection to inject an instance of class EntityProxyCreator | |
/// into the orchestration class and then us it to create the entity proxy like: | |
/// | |
/// var myEntityProxy = _entityProxyCreator.CreateEntityProxy<IMyEntityProxy>(context, myEntityId); | |
/// | |
/// </remarks> | |
public class EntityProxyCreator : IEntityProxyCreator | |
{ | |
public TEntityInterface CreateEntityProxy<TEntityInterface>( | |
IDurableOrchestrationContext context, | |
EntityId entityId) | |
{ | |
// Call the extension method. | |
return DurableEntityProxyExtensions.CreateEntityProxy<TEntityInterface>( | |
context, | |
entityId); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Microsoft.Azure.WebJobs.Extensions.DurableTask; | |
namespace K0x.DurableFunctionsHelpers | |
{ | |
public interface IEntityProxyCreator | |
{ | |
TEntityInterface CreateEntityProxy<TEntityInterface>( | |
IDurableOrchestrationContext context, | |
EntityId entityId); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment