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); }
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); }
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); }