public async Task Should_Distribute_Push_Request()
        {
            //Arrange
            var guid = _generator.Create();

            _store.GetRequestOrNullAsync(Arg.Any <Guid>()).ReturnsForAnyArgs(CreatePushRequest());
            _store.GetSubscriptionsAsync(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>())
            .ReturnsForAnyArgs(new List <PushRequestSubscription> {
                CreatePushRequestSubscription()
            });

            //Act
            await _distributor.DistributeAsync(guid);

            //Assert
            await _store.Received().GetRequestOrNullAsync(Arg.Any <Guid>());

            await _store.Received().DeleteRequestAsync(Arg.Is <Guid>(n => n.Equals(guid)));
        }
Beispiel #2
0
        public async Task Should_Publish_Push_Request()
        {
            //Arrange
            var pushRequestData = CreatePushRequestData();

            //Act
            await _publisher.PublishAsync("TestPushRequest", pushRequestData, priority : PushRequestPriority.AboveNormal);

            //Assert
            await _store.Received()
            .InsertRequestAsync(
                Arg.Is <PushRequest>(n =>
                                     n.Name == "TestPushRequest" &&
                                     n.Priority == PushRequestPriority.AboveNormal &&
                                     n.DataTypeName == pushRequestData.GetType().AssemblyQualifiedName&&
                                     n.Data.Contains("42")
                                     )
                );

            await _backgroundJobManager.Received()
            .EnqueueAsync <PushRequestDistributionJob, PushRequestDistributionJobArgs>(
                Arg.Any <PushRequestDistributionJobArgs>()
                );
        }