Beispiel #1
0
        public void Unsubscribes_on_Dispose()
        {
            var sut = new Server.Directors.ListLogsDirector(_eventBus, _runtimeClientContext);
            sut.Initiate("one", new DomainModel.Request<DomainModel.Empty> { Token = "SOMETOKEN", Message = new DomainModel.Empty() });
            sut.Dispose();

            A.CallTo(() => _eventBus.Unsubscribe(A<object>.That.IsSameAs(sut))).MustHaveHappened(Repeated.Exactly.Once);
        }
Beispiel #2
0
        public void HappyPath()
        {
            var sut = new Server.Directors.ListLogsDirector(_eventBus, _runtimeClientContext);
            var handleValues = new string[] { "one", "two" };
            A.CallTo(() => _runtimeClient.BeginListLogFiles(A<DomainModel.Request<DomainModel.Empty>>.Ignored))
                .Invokes(() => sut.Handle(DomainModel.Response<IEnumerable<string>>.Success("SOMETOKEN", handleValues.AsEnumerable())));

            sut.Initiate("one", new DomainModel.Request<DomainModel.Empty> { Token = "SOMETOKEN", Message = new DomainModel.Empty() });
            sut.PendingTask.Wait();

            sut.PendingTask.Result.Message.ShouldBeSameAs(handleValues);
            A.CallTo(() => _eventBus.Subscribe(A<object>.That.IsSameAs(sut), A<string>.That.IsEqualTo("SOMETOKEN"))).MustHaveHappened();
        }
Beispiel #3
0
        public void Throws_A_TimeoutException_When_Client_Does_Not_Respond()
        {
            var sut = new Server.Directors.ListLogsDirector(_eventBus, _runtimeClientContext, 1);

            Should.Throw<TimeoutException>(() =>
            {
                try
                {
                    sut.Initiate("one", new DomainModel.Request<DomainModel.Empty> { Token = "SOMETOKEN", Message = new DomainModel.Empty() });
                    sut.PendingTask.Wait();
                }
                catch (AggregateException ex)
                {
                    throw ex.HeadException();
                }
            });

            sut.PendingTask.Status.ShouldBe(TaskStatus.Faulted);
        }