Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public void SendSms(int receiver, string message)
 {
     try
     {
         SmsSent.Invoke(this, receiver, message);
     } catch (Exception ex)
     {
         Console.WriteLine("{0}: {1}", this.Number, ex.Message);
     }
 }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 protected virtual void OnSmsSent(SMSEventArgs e)
 {
     SmsSent?.Invoke(this, e);
 }