public void MatchNames() { var config = @"as { a { nm=Peter cn=Twilio ca=+15005550005 } a { nm=Nick cn=Mailgun [email protected] } a { nm=Ann cn=SMTP [email protected] } }"; var builder = new MessageAddressBuilder(config); var names = new string[] { "smtp" }; Aver.IsTrue(builder.MatchNamedChannel(names)); var matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 1); Aver.AreEqual(matches[0].Name, "Ann"); names = new string[] { "Twilio", "MailGun" }; Aver.IsTrue(builder.MatchNamedChannel(names)); matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 2); Aver.AreEqual(matches[0].Name, "Peter"); Aver.AreEqual(matches[1].Name, "Nick"); var first = builder.GetFirstOrDefaultMatchForChannels(names); Aver.IsNotNull(first); Aver.IsTrue(first.Assigned); Aver.AreEqual(first.Name, "Peter"); names = new string[] { "Skype" }; Aver.IsFalse(builder.MatchNamedChannel(names)); matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 0); first = builder.GetFirstOrDefaultMatchForChannels(names); Aver.IsNotNull(first); Aver.IsFalse(first.Assigned); }
public void MatchNames() { var config = @"[ { n: 'Peter', c: 'Twilio', a: '+15005550005' } , { n: 'Nick', c: 'Mailgun', a: '*****@*****.**' } , { n: 'Ann', c: 'SMTP', a: '*****@*****.**' } ]"; var builder = new MessageAddressBuilder(config); var names = new string[] { "smtp" }; Aver.IsTrue(builder.MatchNamedChannel(names)); var matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 1); Aver.AreEqual(matches[0].Name, "Ann"); names = new string[] { "Twilio", "MailGun" }; Aver.IsTrue(builder.MatchNamedChannel(names)); matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 2); Aver.AreEqual(matches[0].Name, "Peter"); Aver.AreEqual(matches[1].Name, "Nick"); var first = builder.GetFirstOrDefaultMatchForChannels(names); Aver.IsNotNull(first); Aver.IsTrue(first.Assigned); Aver.AreEqual(first.Name, "Peter"); names = new string[] { "Skype" }; Aver.IsFalse(builder.MatchNamedChannel(names)); matches = builder.GetMatchesForChannels(names).ToArray(); Aver.AreEqual(matches.Length, 0); first = builder.GetFirstOrDefaultMatchForChannels(names); Aver.IsNotNull(first); Aver.IsFalse(first.Assigned); }
public void MatchNames() { var config = @"nfx { a { name=Peter channel-name=Twilio channel-address=+15005550005 } a { name=Nick channel-name=Mailgun [email protected] } a { name=Ann channel-name=SMTP [email protected] } }"; var builder = new MessageAddressBuilder(config); var names = new string[] { "smtp" }; Aver.IsTrue(builder.MatchNamedChannel(names)); names = new string[] { "Twilio", "MailGun" }; Aver.IsTrue(builder.MatchNamedChannel(names)); names = new string[] { "Skype" }; Aver.IsFalse(builder.MatchNamedChannel(names)); }
public void BuildMessageAddress() { var config = @"nfx { a { name=Peter channel-name=Twilio channel-address='+15005550005' } a { name=Nick channel-name=Mailgun channel-address='*****@*****.**' } }"; var builder = new MessageAddressBuilder(config); var addressees = builder.All.ToArray(); Aver.AreEqual(addressees.Count(), 2); Aver.AreEqual(builder.ToString(), "nfx{a{name=Peter channel-name=Twilio channel-address=+15005550005}a{name=Nick channel-name=Mailgun [email protected]}}"); Aver.AreEqual(addressees[0].Name, "Peter"); Aver.AreEqual(addressees[0].ChannelName, "Twilio"); Aver.AreEqual(addressees[0].ChannelAddress, "+15005550005"); Aver.AreEqual(addressees[1].Name, "Nick"); Aver.AreEqual(addressees[1].ChannelName, "Mailgun"); Aver.AreEqual(addressees[1].ChannelAddress, "*****@*****.**"); var ann = new MessageAddressBuilder.Addressee { Name = "Ann", ChannelName = "SMTP", ChannelAddress = "*****@*****.**" }; builder.AddAddressee(ann); addressees = builder.All.ToArray(); Aver.AreEqual(addressees.Count(), 3); var str = builder.ToString(); Aver.AreEqual(builder.ToString(), "nfx{a{name=Peter channel-name=Twilio channel-address=+15005550005}a{name=Nick channel-name=Mailgun [email protected]}a{name=Ann channel-name=SMTP [email protected]}}"); Aver.AreEqual(addressees[2].Name, "Ann"); Aver.AreEqual(addressees[2].ChannelName, "SMTP"); Aver.AreEqual(addressees[2].ChannelAddress, "*****@*****.**"); builder = new MessageAddressBuilder(null); builder.AddAddressee(ann); Aver.AreEqual(builder.ToString(), "nfx{a{name=Ann channel-name=SMTP [email protected]}}"); Aver.AreEqual(builder.All.Count(), 1); builder = new MessageAddressBuilder("nfx{}"); Aver.AreEqual(builder.All.Count(), 0); Aver.AreEqual(builder.ToString(), "nfx{}"); }
public void BuildMessageAddress() { var config = @"[ { n: 'Peter', c: 'Twilio', a: '+15005550005' } , { n: 'Nick', c: 'Mailgun', a: '*****@*****.**' } ]"; var builder = new MessageAddressBuilder(config); var addressees = builder.All.ToArray(); Aver.AreEqual(addressees.Count(), 2); Aver.AreEqual(builder.ToString(), @"[{""n"":""Peter"",""c"":""Twilio"",""a"":""+15005550005""},{""n"":""Nick"",""c"":""Mailgun"",""a"":""*****@*****.**""}]"); Aver.AreEqual(addressees[0].Name, "Peter"); Aver.AreEqual(addressees[0].Channel, "Twilio"); Aver.AreEqual(addressees[0].Address, "+15005550005"); Aver.AreEqual(addressees[1].Name, "Nick"); Aver.AreEqual(addressees[1].Channel, "Mailgun"); Aver.AreEqual(addressees[1].Address, "*****@*****.**"); var ann = new MessageAddressBuilder.Addressee ( "Ann", "SMTP", "*****@*****.**" ); builder.Add(ann); addressees = builder.All.ToArray(); Aver.AreEqual(addressees.Count(), 3); var str = builder.ToString(); Aver.AreEqual(builder.ToString(), @"[{""n"":""Peter"",""c"":""Twilio"",""a"":""+15005550005""},{""n"":""Nick"",""c"":""Mailgun"",""a"":""*****@*****.**""},{""n"":""Ann"",""c"":""SMTP"",""a"":""*****@*****.**""}]"); Aver.AreEqual(addressees[2].Name, "Ann"); Aver.AreEqual(addressees[2].Channel, "SMTP"); Aver.AreEqual(addressees[2].Address, "*****@*****.**"); builder = new MessageAddressBuilder(null); builder.Add(ann); Aver.AreEqual(builder.ToString(), @"[{""n"":""Ann"",""c"":""SMTP"",""a"":""*****@*****.**""}]"); Aver.AreEqual(builder.All.Count(), 1); builder = new MessageAddressBuilder("[]"); Aver.AreEqual(builder.All.Count(), 0); Aver.AreEqual(builder.ToString(), "[]"); }