OrleansContrib / OrleansTestKit

Unit Test Toolkit for Microsoft Orleans
http://dotnet.github.io/orleans
MIT License
76 stars 42 forks source link

Support for Orleans 7 #123

Closed Badabunga closed 1 year ago

Badabunga commented 1 year ago

Hi Guys,

Love your project which makes the unit testing with Orleans very easy. I know that Orleans 4.0 is not released yet but we are trying to migrate our current Orleans version to the latest preview ( currently preview 2). We used this Project to build our Unit Tests for our Application.

I am currently in the upgrading process and noticed a bunch of errors regarding reference type problems but I assume there are many more My Question is : Are there any plans to support the upcoming Version ?

seniorquico commented 1 year ago

I haven't had an opportunity to work on an Orleans 4.0 upgrade myself. However, I think there's a lot of opportunity to simplify the mock-based testing implementation given the changes. I don't think I'll have time to invest in this until shortly after the official release. I would also anticipate we'll want to create a branch specific for 4.0 compatibility, given the big differences with 3.x.

Badabunga commented 1 year ago

Thank you for your reply.

Would it be okay if I would contribute a branch where I would try to migrate the current Project to the 4.0 preview 2 ? I would not try to change the current State or Architecture but rather trying to fix the current Issues regarding the upgrade ?

seniorquico commented 1 year ago

@Badabunga Of course! I just created a new branch named orleans-7. Feel free to open any pull requests against it. (Of note- it looks like they're going with Orleans 7.0 instead of 4.0 to align with the upcoming .NET release!)

mayrmax commented 1 year ago

We made some progress on this but some tests are still failing, especially the grain activation has changed quite a lot and thus needs a lot of changes. Progress is pushed here: https://github.com/tributech-solutions/OrleansTestKit/tree/feature/upgrade_7_0

I wonder if this approach even makes sense or if we should tackle the problem from a different angle (than using reflection).

seniorquico commented 1 year ago

Awesome progress! I started playing around with Orleans 7 over the past week, and I bumped into a number of new, tricky scenarios. There are some Orleans internal classes that are proving problematic.

mayrmax commented 1 year ago

I think the main problem are the "old" type of grains that inherit from Grain or from Grain<>, the new POCO style Grains can be easily created by just injecting the GrainContext.

Badabunga commented 1 year ago

PR is now open #124

palpha commented 1 year ago

Any chance we might see a prerelease NuGet package before long?

bbehrens commented 1 year ago

+1 to the prerelease test nuget question

seniorquico commented 1 year ago

Release to NuGet as 4.0.0-beta.1. Thanks, @Badabunga!