示例#1
0
        public void ApplyDefaultSettings_WithoutMessageSettingsApplied_AppliesConfigSettings()
        {
            SMSMessage       message = new SMSMessage();
            TwilioSmsContext config  = GetTestContext();

            TwilioSmsMessageAsyncCollector.ApplyContextMessageSettings(message, config);

            Assert.Equal("ToConfig", message.To);
            Assert.Equal("FromConfig", message.From);
            Assert.Equal("BodyConfig", message.Body);
        }
示例#2
0
        public void ApplyDefaultSettings_WithSettingsApplied_PreservesOriginalSettings()
        {
            SMSMessage       message = GetTestMessage();
            TwilioSmsContext config  = GetTestContext();

            TwilioSmsMessageAsyncCollector.ApplyContextMessageSettings(message, config);

            Assert.Equal("ToMessage", message.To);
            Assert.Equal("FromMessage", message.From);
            Assert.Equal("BodyMessage", message.Body);
        }
示例#3
0
        private TwilioSmsContext CreateContext(TwilioSmsAttribute attribute)
        {
            string accountSid = Utility.FirstOrDefault(attribute.AccountSidSetting, AccountSid, _defaultAccountSid);
            string authToken  = Utility.FirstOrDefault(attribute.AuthTokenSetting, AuthToken, _defaultAuthToken);

            TwilioRestClient client = _twilioClientCache.GetOrAdd(new Tuple <string, string>(accountSid, authToken), t => new TwilioRestClient(t.Item1, t.Item2));

            var context = new TwilioSmsContext
            {
                Client = client,
                Body   = Utility.FirstOrDefault(attribute.Body, Body),
                From   = Utility.FirstOrDefault(attribute.From, From),
                To     = Utility.FirstOrDefault(attribute.To, To)
            };

            return(context);
        }
        internal static void ApplyContextMessageSettings(CreateMessageOptions messageOptions, TwilioSmsContext context)
        {
            if (messageOptions.From == null)
            {
                messageOptions.From = new PhoneNumber(context.From);
            }

            if (messageOptions.Body == null)
            {
                messageOptions.Body = context.Body;
            }
        }
 public TwilioSmsMessageAsyncCollector(TwilioSmsContext context)
 {
     _context = context;
 }
 internal static void ApplyContextMessageSettings(SMSMessage message, TwilioSmsContext context)
 {
     message.From = Utility.FirstOrDefault(message.From, context.From);
     message.To   = Utility.FirstOrDefault(message.To, context.To);
     message.Body = Utility.FirstOrDefault(message.Body, context.Body);
 }