public void GivenHasATestEmailAddress()
        {
            // first create a test email account
            var inboxControllerApi = new InboxControllerApi(_mailslurpConfig);
            var inbox = inboxControllerApi.CreateInbox();

            // inbox has a real email address
            _scenarioContext.Add("emailAddress", inbox.EmailAddress);
            _scenarioContext.Add("inboxId", inbox.Id);
        }
        //public readonly HttpClient Client = new HttpClient();

        public TestFixture()
        {
            var root = new ConfigurationBuilder()
                       .AddJsonFile("appsettings.json")
                       .AddEnvironmentVariables()
                       .Build();

            var settings = new AppSettings();

            root.Bind(settings);

            var dotnetExePath     = Environment.ExpandEnvironmentVariables(settings.DotNetExecutablePath);
            var functionHostPath  = Environment.ExpandEnvironmentVariables(settings.FunctionHostPath);
            var functionAppFolder = Path.GetRelativePath(Directory.GetCurrentDirectory(), settings.FunctionApplicationPath);


            Config = new Configuration();
            Config.ApiKey.Add("x-api-key", settings.SlurpApiKey);


            ApiInstance = new InboxControllerApi(Config);


            _funcHostProcess = new Process
            {
                StartInfo =
                {
                    FileName         = dotnetExePath,
                    Arguments        = $"\"{functionHostPath}\" start -p {Port}",
                    WorkingDirectory = functionAppFolder
                }
            };
            var success = _funcHostProcess.Start();

            if (!success)
            {
                throw new InvalidOperationException("Could not start Azure Functions host.");
            }

            var storageAccount = CloudStorageAccount.Parse(settings.StorageConnectionString);



            TableClient = storageAccount.CreateCloudTableClient();

            foreach (var table in TableClient.ListTables())
            {
                table.DeleteIfExists();
            }
        }
Ejemplo n.º 3
0
        public void CanCreateTestEmail_AndStartSignUp()
        {
            // first create a test email account
            var inboxControllerApi = new InboxControllerApi(_mailslurpConfig);

            _inbox = inboxControllerApi.CreateInbox();

            // inbox has a real email address
            var emailAddress = _inbox.EmailAddress;

            // next fill out the sign-up form with email address and a password
            _webdriver.FindElement(By.Name("email")).SendKeys(emailAddress);
            _webdriver.FindElement(By.Name("password")).SendKeys(Password);

            // submit form
            _webdriver.FindElement(By.CssSelector("[data-test=sign-up-create-account-button]")).Click();
        }
Ejemplo n.º 4
0
        public void CanSetupMailSlurp_AndCreateInbox()
        {
            Assert.NotNull(YourApiKey);

            // first configure your api key
            var config = new Configuration();

            config.ApiKey.Add("x-api-key", YourApiKey);

            // create an inbox controller
            var apiInstance = new InboxControllerApi(config);

            // then create an inbox
            var inbox = apiInstance.CreateInbox();

            Assert.NotNull(inbox);
            Assert.Contains("@mailslurp.com", inbox.EmailAddress);
        }
Ejemplo n.º 5
0
        public void CanSendEmail_ThenReceiveIt()
        {
            // first configure your api key
            var config = new Configuration();

            config.ApiKey.Add("x-api-key", YourApiKey);

            // create two inboxes
            var apiInstance = new InboxControllerApi(config);
            var inbox1      = apiInstance.CreateInbox();
            var inbox2      = apiInstance.CreateInbox();

            Assert.NotEqual(inbox1.EmailAddress, inbox2.EmailAddress);

            // send email from inbox1 to inbox2
            var sendEmailOptions = new SendEmailOptions()
            {
                To = new List <string>()
                {
                    inbox2.EmailAddress
                },
                Subject = "Hello inbox2",
                Body    = "Your code is: 123"
            };

            apiInstance.SendEmail(inbox1.Id, sendEmailOptions);

            // wait for email in inbox2 and read it
            var waitForInstance = new WaitForControllerApi(config);
            var email           = waitForInstance.WaitForLatestEmail(inbox2.Id, Timeout, UnreadOnly);

            Assert.NotNull(email);
            Assert.Equal(inbox1.EmailAddress, email.From);
            Assert.Equal("Hello inbox2", email.Subject);
            Assert.Contains("Your code is: ", email.Body);

            // extract a code from email body
            var rx    = new Regex(@"Your code is: ([0-9]{3})", RegexOptions.Compiled);
            var match = rx.Match(email.Body);
            var code  = match.Groups[1].Value;

            Assert.Equal("123", code);
        }
 public InboxControllerApiTests()
 {
     instance = new InboxControllerApi();
 }