public void SendSingleSmsNowQueuedTwiceThenSuccess() { var sendOneMessageNow = new SendOneMessageNow(); var smsService = MockRepository.GenerateMock <ISmsService>(); const string sid = "12"; var smsQueued = new SmsQueued(sid); var smsSuccess = new SmsSent(new SmsConfirmationData("r", DateTime.Now, 3.3m)); smsService.Expect(s => s.Send(sendOneMessageNow)).Return(smsQueued); smsService.Expect(s => s.CheckStatus(smsQueued.Sid)).Repeat.Once().Return(smsQueued); smsService.Expect(s => s.CheckStatus(smsQueued.Sid)).Return(smsSuccess); Test.Initialize(); Test.Saga <SmsActioner.SmsActioner>() .WithExternalDependencies(a => a.SmsService = smsService) .ExpectTimeoutToBeSetIn <SmsPendingTimeout>((timeoutMessage, timespan) => timespan == TimeSpan.FromSeconds(10)) .When(a => a.Handle(sendOneMessageNow)) .ExpectNotPublish <MessageSent>() .ExpectTimeoutToBeSetIn <SmsPendingTimeout>((timeoutMessage, timespan) => timespan == TimeSpan.FromSeconds(10)) .WhenSagaTimesOut() .ExpectPublish <MessageSent>() .ExpectReplyToOriginator <MessageSuccessfullyDelivered>() .ExpectSendLocal <MessageSuccessfullyDelivered>() .WhenSagaTimesOut(); }
public void SendSms(int receiver, string message) { try { SmsSent.Invoke(this, receiver, message); } catch (Exception ex) { Console.WriteLine("{0}: {1}", this.Number, ex.Message); } }
public void SendSms(int receiver, string message) { try { var operatorMessage = SmsSent.Invoke(this, receiver, message); HandleOperatorResponse(operatorMessage); } catch (Exception ex) { Console.WriteLine("{0}: {1}", this.Number, ex.Message); } }
public void SendSingleSmsNowSuccess() { var sendOneMessageNow = new SendOneMessageNow(); var smsService = MockRepository.GenerateMock <ISmsService>(); var smsSent = new SmsSent(new SmsConfirmationData("r", DateTime.Now, 0.44m)); smsService.Expect(s => s.Send(sendOneMessageNow)).Return(smsSent); Test.Initialize(); Test.Saga <SmsActioner.SmsActioner>() .WithExternalDependencies(a => a.SmsService = smsService) .ExpectPublish <MessageSent>() .ExpectReplyToOriginator <MessageSuccessfullyDelivered>() .ExpectSendLocal <MessageSuccessfullyDelivered>() .When(a => a.Handle(sendOneMessageNow)) .AssertSagaCompletionIs(true); }
protected virtual void OnSmsSent(SMSEventArgs e) { SmsSent?.Invoke(this, e); }