Skip to content

Commit

Permalink
Update to Rebus 8 (#15)
Browse files Browse the repository at this point in the history
* Upgrade rebus packages
* Support usage of the in-memory transport as subscription store
  • Loading branch information
ChristopherMann authored Apr 22, 2024
1 parent 86d4134 commit bee5165
Show file tree
Hide file tree
Showing 12 changed files with 56 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Rebus" Version="7.0.0" />
<PackageReference Include="Rebus" Version="8.0.1" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Rebus.Msmq.Experimental" Version="2.1.0" />
<PackageReference Include="Rebus.Msmq.Experimental" Version="3.0.0" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ protected override void ConfigureBusType(string busType, string queueName, Stand
configurer.UseFileSystem(Path.Combine(path, "transport"), queueName);
return;
case "inmemory":
configurer.UseInMemoryTransport(_network, queueName);
configurer.UseInMemoryTransport(_network, queueName, ShouldStoreSubscriptions());
return;
}
}
Expand All @@ -53,11 +53,20 @@ protected override void ConfigureBusTypeAsOneWayClient(string busType, StandardC
configurer.UseFileSystemAsOneWayClient(path);
return;
case "inmemory":
configurer.UseInMemoryTransportAsOneWayClient(_network);
configurer.UseInMemoryTransportAsOneWayClient(_network, ShouldStoreSubscriptions());
return;
}
}

protected bool ShouldStoreSubscriptions()
{
var value = Configuration[$"{ConfigurationName}:storeSubscriptions"];
if(string.IsNullOrWhiteSpace(value))
return true;

if (bool.TryParse(value, out var result))
return result;

throw new InvalidOperationException($"Invalid value for {ConfigurationName}::storeSubscriptions.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Rebus.SqlServer" Version="7.2.0" />
<PackageReference Include="Rebus.SqlServer" Version="8.0.0" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="Rebus" Version="7.0.0" />
<PackageReference Include="Rebus" Version="8.0.1" />
</ItemGroup>

</Project>
4 changes: 2 additions & 2 deletions src/Rebus.SimpleInjector/Rebus.SimpleInjector.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

<ItemGroup>
<PackageReference Include="JetBrains.Annotations" Version="2022.3.1" />
<PackageReference Include="Rebus" Version="7.0.0" />
<PackageReference Include="Rebus.UnitOfWork" Version="6.0.0" />
<PackageReference Include="Rebus" Version="8.0.1" />
<PackageReference Include="Rebus.UnitOfWork" Version="7.0.0" />
<PackageReference Include="SimpleInjector" Version="5.0.0" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Rebus.Transport;
using Rebus.Subscriptions;
using Rebus.Transport;
using Rebus.Transport.InMem;
using Xunit;

Expand Down Expand Up @@ -50,14 +51,44 @@ public void Configures_As_InMemory()
{
c.OneWayTransport(selector);
}, true)
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport");
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport")
.AssertConfigured<ISubscriptionStorage>("Rebus.Transport.InMem.InMemTransport");


ConfigureAndGetContainer(c =>
{
c.Transport(selector, "dummy");
}, true)
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport");
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport")
.AssertConfigured<ISubscriptionStorage>("Rebus.Transport.InMem.InMemTransport");
}

[Fact]
public void Configures_As_InMemory_Without_Subscription_Store()
{
var deps = SetupDeps(new Dictionary<string, string>
{
{ "bus:type", "inmemory" },
{ "bus:storeSubscriptions", "false" }
});


var selector = new DefaultTransportSelector(new InMemNetwork(), deps.Configuration, deps.Logger);

ConfigureAndGetContainer(c =>
{
c.OneWayTransport(selector);
}, true)
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport")
.AssertConfigured<ISubscriptionStorage>("Rebus.Persistence.Throwing.DisabledSubscriptionStorage");


ConfigureAndGetContainer(c =>
{
c.Transport(selector, "dummy");
}, true)
.AssertConfigured<ITransport>("Rebus.Transport.InMem.InMemTransport")
.AssertConfigured<ISubscriptionStorage>("Rebus.Persistence.Throwing.DisabledSubscriptionStorage");
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ protected RebusConfigurer CreateConfigurer(Action<RebusConfigurer> testSetup, bo
var configure = Configure.With(someContainerAdapter);

if(!noTransport)
configure.Transport(cfg => cfg.UseInMemoryTransport(new InMemNetwork(), "null"));
configure.Transport(cfg => cfg.UseInMemoryTransport(new InMemNetwork(), "null", false));

testSetup(configure);

Expand Down
3 changes: 1 addition & 2 deletions test/Rebus.Operations.Tests/RebusTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public async Task<TestRebusSetup> SetupRebus(
Configure.With(activator)
.Options(o =>
{
o.SimpleRetryStrategy(maxDeliveryAttempts: 1, secondLevelRetriesEnabled: true);
o.RetryStrategy(maxDeliveryAttempts: 1, secondLevelRetriesEnabled: true);
})
.Transport(cfg => cfg.UseInMemoryTransport(rebusNetwork, "main"))
.Routing(r =>
Expand All @@ -46,7 +46,6 @@ public async Task<TestRebusSetup> SetupRebus(
}
})
.Sagas(x => x.StoreInMemory())
.Subscriptions(x=>x.StoreInMemory(new InMemorySubscriberStore()))
.Logging(x=>x.Use(new RebusTestLogging(_output)))
.Create();

Expand Down
3 changes: 1 addition & 2 deletions test/Rebus.OperationsDB.Tests/DatabaseTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,12 @@ private async Task SetupAndRunWorkflow(
.Routing(r => r.TypeBased().AddOperations("workflow"))
.Options(x =>
{
x.SimpleRetryStrategy(secondLevelRetriesEnabled: true, errorDetailsHeaderMaxLength: 5, maxDeliveryAttempts: 5);
x.RetryStrategy(secondLevelRetriesEnabled: true, errorDetailsHeaderMaxLength: 5, maxDeliveryAttempts: 5);
x.SetNumberOfWorkers(workers);
x.EnableSimpleInjectorUnitOfWork();
})
.Logging(x=>x.MicrosoftExtensionsLogging(new XUnitLogger("rebus", _outputHelper,
new XUnitLoggerOptions())))
.Subscriptions(c => c.StoreInMemory())
.Timeouts(x=>x.StoreInMemory())
.Sagas(s =>
{
Expand Down
4 changes: 2 additions & 2 deletions test/Rebus.OperationsDB.Tests/Rebus.OperationsDB.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.28" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
<PackageReference Include="Rebus.Microsoft.Extensions.Logging" Version="3.0.0" />
<PackageReference Include="Rebus.TransactionScopes" Version="6.0.0" />
<PackageReference Include="Rebus.Microsoft.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="Rebus.TransactionScopes" Version="7.0.0" />
<PackageReference Include="SimpleInjector.Integration.GenericHost" Version="5.4.0" />
</ItemGroup>

Expand Down
1 change: 0 additions & 1 deletion test/Rebus.SimpleInjector.Tests/SimpleInjectorTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ public void SetupRebus(Container container, bool sendMode, string eventDestinati
})
.Sagas(x => x.StoreInMemory())
.Subscriptions(x=>x.StoreInMemory(new InMemorySubscriberStore()))
.Logging(x=>x.Use(new RebusTestLogging(_output)))
.Start();
Expand Down

0 comments on commit bee5165

Please sign in to comment.