Exemple #1
0
        public FilesFixture()
        {
            var baseUrl = Environment.GetEnvironmentVariable("MAILOSAUR_BASE_URL") ?? "https://mailosaur.com/";
            var apiKey  = Environment.GetEnvironmentVariable("MAILOSAUR_API_KEY");
            var server  = Environment.GetEnvironmentVariable("MAILOSAUR_SERVER");

            if (string.IsNullOrWhiteSpace(apiKey) || string.IsNullOrWhiteSpace(server))
            {
                throw new Exception("Missing necessary environment variables - refer to README.md");
            }

            client = new MailosaurClient(apiKey, baseUrl);

            client.Messages.DeleteAll(server);

            var host             = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_HOST") ?? "mailosaur.io";
            var testEmailAddress = $"wait_for_test.{server}@{host}";

            Mailer.SendEmail(client, server, testEmailAddress);

            email = client.Messages.WaitFor(server, new SearchCriteria()
            {
                SentTo = testEmailAddress
            });
        }
 public static void SendEmails(MailosaurClient client, string server, int quantity)
 {
     for (var i = 0; i < quantity; i++)
     {
         SendEmail(client, server);
     }
 }
        public void LostPassword_EnterLoginSubmitItAndTakeForgotPasswordMailPutNewPassword_PasswordSuccessfullyChanged()
        {
//            driver.Maximize();
            eyes.Open(driver, "Go To Lost Password Form Rest Password And Change Password To New",
                      "Enter To Lost Password Form");
            driver.Navigate().GoToUrl("https://wordpress.com/wp-login.php?action=lostpassword");
            driver.ClickOnElement(By.CssSelector("#user_login"));
            driver.FindElement(By.CssSelector("#user_login")).SendKeys("testcommunicate");
            eyes.CheckWindow("Filled name of user");
            driver.ClickOnElement(By.CssSelector("#wp-submit"));
            eyes.CheckWindow("Send form with the name of user");
            //there you need to put your mailosaur api key
            var client = new MailosaurClient("SFzsuS7cp5qHbom", "https://mailosaur.com");

            //there put search criteria which emails we want to take
            var criteria = new SearchCriteria {
                SentTo = "*****@*****.**"
            };

            var message            = client.Messages.Get("wr7z7h7k", criteria);
            var takeUrlFromMessage = Regex.Matches(message.Text.Body,
                                                   @"(http|ftp|https):\/\/([\w\-_]+(?:(?:\.[\w\-_]+)+))([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?");
            var value = takeUrlFromMessage[0].Value;

            driver.Navigate().GoToUrl(value);
            driver.ClickOnElement(By.CssSelector("#pass1"));
            driver.FindElement(By.CssSelector("#pass1")).SendKeys("_new_password_");
            driver.ClickOnElement(By.CssSelector("#wp-submit"));
            driver.WaitForClickable(By.CssSelector(".reset-pass"));
            var text = driver.FindElement(By.CssSelector(".reset-pass")).Text;

            Assert.AreEqual("Your password has been reset. Log in", text);
        }
        public ServersTests()
        {
            if (string.IsNullOrWhiteSpace(s_ApiKey))
            {
                throw new Exception("Missing necessary environment variables - refer to README.md");
            }

            m_Client = new MailosaurClient(s_ApiKey, s_BaseUrl);
        }
        public static void SendEmail(MailosaurClient client, string server, string sendToAddress = null)
        {
            var host = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_HOST") ?? "mailosaur.io";
            var port = Environment.GetEnvironmentVariable("MAILOSAUR_SMTP_PORT") ?? "25";

            var message = new MailMessage();

            var randomString = RandomString();

            message.Subject = randomString + " subject";

            message.From = new MailAddress($"{randomString} {randomString} <{client.Servers.GenerateEmailAddress(server)}>");

            var randomToAddress = sendToAddress ?? client.Servers.GenerateEmailAddress(server);

            message.To.Add($"{randomString} {randomString} <{randomToAddress}>");

            // Text body
            message.Body         = s_Text.Replace("REPLACED_DURING_TEST", randomString);
            message.IsBodyHtml   = false;
            message.BodyEncoding = Encoding.UTF8;

            // Html body
            var htmlString = s_Html.Replace("REPLACED_DURING_TEST", randomString);
            var htmlView   = AlternateView.CreateAlternateViewFromString(htmlString,
                                                                         new ContentType(MediaTypeNames.Text.Html));

            htmlView.TransferEncoding = TransferEncoding.Base64;
            message.AlternateViews.Add(htmlView);

            var image = new LinkedResource(Path.Combine("Resources", "cat.png"));

            image.ContentId   = "ii_1435fadb31d523f6";
            image.ContentType = new ContentType("image/png");
            htmlView.LinkedResources.Add(image);

            var attachment = new System.Net.Mail.Attachment(Path.Combine("Resources", "dog.png"));

            attachment.ContentType = new ContentType("image/png");
            message.Attachments.Add(attachment);

            var smtp = new SmtpClient();

            smtp.Host = host;
            smtp.Port = int.Parse(port);

            smtp.Send(message);
        }
        public EmailsFixture()
        {
            var baseUrl = Environment.GetEnvironmentVariable("MAILOSAUR_BASE_URL") ?? "https://mailosaur.com/";
            var apiKey  = Environment.GetEnvironmentVariable("MAILOSAUR_API_KEY");

            server = Environment.GetEnvironmentVariable("MAILOSAUR_SERVER");

            if (string.IsNullOrWhiteSpace(apiKey) || string.IsNullOrWhiteSpace(server))
            {
                throw new Exception("Missing necessary environment variables - refer to README.md");
            }

            client = new MailosaurClient(apiKey, baseUrl);

            client.Messages.DeleteAll(server);

            Mailer.SendEmails(client, server, 5);

            emails = client.Messages.List(server).Items;
        }
        public void ThenAnEmailIsSentToThatEmailAddress()
        {
            var client = new MailosaurClient("OcC8OD35Fzk0v9M", "https://mailosaur.com");

            var criteria = new SearchCriteria
            {
                SentTo = _user.Username
            };

            var message = client.Messages.Get("qug8ug4m", criteria);

            Assert.Equals("System1 Group TST account email verification code", message.Subject);

            var body = new XmlDocument();

            body.LoadXml(message.Html.Body);

            var code = body.GetElementById("BodyPlaceholder_UserVerificationEmailBodySentence2");

            //Assert.StartsWith("Your code is: 123456", code.InnerText);

            var splitText = code.InnerText.Split(new[] { ":" }, StringSplitOptions.None);
        }