You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was looking at the different examples but I couldn't find an example of a journaled grain that is being tested. Is this supported? I just want to call a method an verify that the "Raise event" is being called.
My grain is a journaled grain with a [LogConsistencyProvider(ProviderName = "EventStorage")] and when activating this grain it would just crash with the following exception:
at Orleans.EventSourcing.JournaledGrain`2.OnActivateAsync()
at Orleans.Grain.<Participate>b__31_0(CancellationToken ct)
at Orleans.LifecycleExtensions.Observer.OnStart(CancellationToken ct)
at Orleans.TestKit.TestGrainLifecycle.<>c.<TriggerStartAsync>b__2_1(ValueTuple`2 x)
at System.Linq.Enumerable.SelectIPartitionIterator`2.PreallocatingToArray(Int32 count)
at System.Linq.Enumerable.SelectIPartitionIterator`2.ToArray()
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Orleans.TestKit.TestGrainLifecycle.TriggerStartAsync()
at Orleans.TestKit.TestKitSilo.<CreateGrainAsync>d__31`1.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Translink.Vbn.Aggregates.Tests.CompanyAggregateRootContext.<Execute>d__6.MoveNext()
So something doesnt work in the OnActivate. This exception occurs when calling the CreateGrainAsync method
When I directly use the grain factory i do not get any DI which this grain needs (and the version property is not set). Are there better ways to test journaled grains? Or do I just not test them (which feels kinda strange).
The text was updated successfully, but these errors were encountered:
I think the TestKit simply lacks support for JournaledGrain.
I previously implemented ICustomStorageInterface in a project, and iirc the JournaledGrain hooks into several pieces of the Orleans activation/context/internals. I would expect us needing some new mocking/infrastructure to support JournaledGrain.
I have been starting to use Orleans Journaled grains at work and I would like to help contribute to this feature.
I do not have a lot of knowledge about the inner workings of Orleans, could you point me in the right direction? What interfaces do you expect to need a mock implementation?
I was looking at the different examples but I couldn't find an example of a journaled grain that is being tested. Is this supported? I just want to call a method an verify that the "Raise event" is being called.
My grain is a journaled grain with a [LogConsistencyProvider(ProviderName = "EventStorage")] and when activating this grain it would just crash with the following exception:
So something doesnt work in the OnActivate. This exception occurs when calling the CreateGrainAsync method
When I directly use the grain factory i do not get any DI which this grain needs (and the version property is not set). Are there better ways to test journaled grains? Or do I just not test them (which feels kinda strange).
The text was updated successfully, but these errors were encountered: