예제 #1
0
        public void Convert()
        {
            var token = new Token();

            token.ApplicationId = Guid.NewGuid();
            token.ValidationKey = StringHelper.ValidString();
            var random     = new Random();
            var rawMessage = new byte[512];

            random.NextBytes(rawMessage);

            var email = new BinaryEmail()
            {
                Token      = token,
                RawMessage = rawMessage,
                Recipient  = StringHelper.ValidString(),
                Sender     = StringHelper.ValidString(),
            };

            var data = email.Convert();

            Assert.AreEqual <Guid>(email.Token.ApplicationId, data.ApplicationId);
            Assert.AreEqual <string>(email.Sender, data.Sender);
            Assert.AreEqual <string>(email.Recipient, data.Recipient);
            Assert.AreEqual <byte[]>(email.RawMessage, data.RawMessage);
            Assert.IsTrue(email.RawMessage.ContentEquals(data.RawMessage));
        }
예제 #2
0
        public void Sender()
        {
            string sender = StringHelper.ValidString();
            var    email  = new BinaryEmail()
            {
                Sender = sender
            };

            Assert.AreEqual <string>(sender, email.Sender);
        }
예제 #3
0
        public void Recipient()
        {
            string recipient = StringHelper.ValidString();
            var    email     = new BinaryEmail()
            {
                Recipient = recipient
            };

            Assert.AreEqual <string>(recipient, email.Recipient);
        }
예제 #4
0
        public void InValidRawMessage()
        {
            var email = new BinaryEmail()
            {
                RawMessage = null,
            };

            var validator = new Validator <BinaryEmail>();

            Assert.IsFalse(validator.IsValid(email));
        }
예제 #5
0
        public void RawMessage()
        {
            var random     = new Random();
            var rawMessage = new byte[512];

            random.NextBytes(rawMessage);
            var email = new BinaryEmail()
            {
                RawMessage = rawMessage
            };

            Assert.AreEqual <byte[]>(rawMessage, email.RawMessage);
            Assert.IsTrue(rawMessage.ContentEquals(email.RawMessage));
        }
예제 #6
0
        public void Valid()
        {
            var random     = new Random();
            var rawMessage = new byte[512];

            random.NextBytes(rawMessage);
            var email = new BinaryEmail()
            {
                RawMessage = rawMessage,
            };

            var validator = new Validator <BinaryEmail>();

            Assert.IsTrue(validator.IsValid(email));
        }
예제 #7
0
        public void TokenGetSet()
        {
            var token = new Token();

            token.ApplicationId = Guid.NewGuid();
            token.ValidationKey = StringHelper.ValidString();

            var email = new BinaryEmail()
            {
                Token = token
            };

            Assert.AreEqual <Token>(token, email.Token);
            Assert.AreEqual <Guid>(token.ApplicationId, email.Token.ApplicationId);
            Assert.AreEqual <string>(token.ValidationKey, email.Token.ValidationKey);
        }
예제 #8
0
        public Guid Send(BinaryEmail email)
        {
            Contract.Requires <ArgumentNullException>(null != email);

            Contract.Requires <ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(email.Sender));
            Contract.Requires <ArgumentOutOfRangeException>(!string.IsNullOrWhiteSpace(email.Recipient));

            Contract.Requires <ArgumentOutOfRangeException>(null != email.RawMessage);

            MailGun.Send(email.Sender, email.Recipient, email.RawMessage);

            var table = new AzureTable <BinaryEmailData>(ServerConfiguration.Default);
            var data  = email.Convert();

            table.AddEntity(data);

            return(data.Id);
        }
예제 #9
0
        public void ConvertNullToken()
        {
            var email = new BinaryEmail();

            email.Convert();
        }