private async Task ValidateSagaErrorAsync(ISagaGrain saga, SerializableErrorTranslator errorTranslator = null, Type expectedExceptionType = null)
        {
            var errorAsString = await saga.GetSagaError();

            if (errorAsString != null)
            {
                Logger.LogInformation("Exception been thrown as expected");

                if (errorTranslator != null)
                {
                    ValidateErrorTranslate(errorAsString, errorTranslator, expectedExceptionType);
                }

                return;
            }

            Logger.LogError("Activity ran without throwing exceptions");
        }
Exemple #2
0
        private async Task ValidateSagaAbortedSuccessfullyAsync(ISagaGrain saga)
        {
            var status = await saga.GetStatus();

            Logger.LogInformation($"Saga end status is {status}");
        }
 /// <summary>
 /// Waits for a saga to complete by periodically querying it's status.
 /// </summary>
 /// <param name="that"></param>
 /// <param name="queryFrequency">How often to query the saga.</param>
 /// <returns></returns>
 public static async Task Wait(this ISagaGrain that, int queryFrequency = 1000)
 {
     await Wait(new ISagaGrain[] { that }, queryFrequency);
 }