public void AggregateIdentityExtractor_InValidObject_ThrowsArgumentNullException() { CreateTestCommand message = null; // ReSharper disable once ExpressionIsAlwaysNull this.Invoking(test => ShardIdentityExtractors.AggregateIdentityExtractor <TestAggregate, TestAggregateId>(message)) .Should().Throw <ArgumentNullException>(); }
public void AggregateIdentityExtractor_InValidObject_ThrowsArgumentException() { var message = string.Empty; this.Invoking(test => ShardIdentityExtractors.AggregateIdentityExtractor <TestAggregate, TestAggregateId>(message)) .Should().Throw <ArgumentException>() .WithMessage(nameof(message)); }
public void AggregateIdentityExtractor_ValidObject_ExtractsObject() { var aggregateId = TestAggregateId.New; var message = new CreateTestCommand(aggregateId); var extractedObject = ShardIdentityExtractors.AggregateIdentityExtractor <TestAggregate, TestAggregateId>(message).Item2; extractedObject.GetHashCode().Should().Be(message.GetHashCode()); }
public void AggregateSagaIdentityExtractor_InValidMessage_ExceptionIsThrown() { var aggregateId = TestAggregateId.New; var commandId = CommandId.New; var message = new CreateTestCommand(aggregateId, commandId); this.Invoking(test => ShardIdentityExtractors.AggregateSagaIdentityExtractor <TestSagaManager, TestSaga, TestSagaId, TestSagaLocator>(message)) .Should().Throw <ArgumentException>(); }
public void AggregateSagaIdentityExtractor_ValidMessage_ExtractsIdentity() { var aggregateId = TestAggregateId.New; var message = new CreateTestCommand(aggregateId); var extractedIdentity = ShardIdentityExtractors.AggregateIdentityExtractor <TestAggregate, TestAggregateId>(message).Item1; extractedIdentity.Should().BeEquivalentTo(message.AggregateId.Value); }
public void AggregateSagaIdentityExtractor_ValidMessage_ExtractsIdentity() { var aggregateId = TestAggregateId.New; var receiverId = TestAggregateId.New; var testId = TestId.New; var test = new Test(testId); var now = DateTimeOffset.UtcNow; var aggregateSequenceNumber = 3; var domainEvent = new DomainEvent <TestAggregate, TestAggregateId, TestSentEvent>( aggregateId, new TestSentEvent(test, receiverId), new Metadata(), now, aggregateSequenceNumber); var extractedIdentity = ShardIdentityExtractors.AggregateSagaIdentityExtractor <TestSagaManager, TestSaga, TestSagaId, TestSagaLocator>(domainEvent); extractedIdentity.Item1.Should().Contain(test.Id.Value); extractedIdentity.Item2 .As <DomainEvent <TestAggregate, TestAggregateId, TestSentEvent> >().AggregateEvent.Test .Should().Be(test); }
public void AggregateSagaIdentityExtractor_NullMessage_ExceptionIsThrown() { this.Invoking(test => ShardIdentityExtractors.AggregateSagaIdentityExtractor <TestSagaManager, TestSaga, TestSagaId, TestSagaLocator>(null)) .Should().Throw <ArgumentNullException>(); }