Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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{}");
        }
Esempio n. 5
0
        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(), "[]");
        }