public void DisableMaskedEmailCommand_FormatCommandLine() { var command = new DisableMaskedEmailCommand("*****@*****.**"); var commandLines = MaskedEmailCommandLineFormatter.Format(command); Assert.AreEqual(1, commandLines.Length); Assert.AreEqual("/usr/local/bin/set-masked-email -address [email protected] -disable", commandLines[0]); }
public void ChangeMaskedEmailPasswordCommand_FormatCommandLine() { var command = new ChangeMaskedEmailPasswordCommand("*****@*****.**") { PasswordHash = "password-hash" }; var commandLines = MaskedEmailCommandLineFormatter.Format(command); Assert.AreEqual(1, commandLines.Length); Assert.AreEqual("/usr/local/bin/change-masked-email-password -address [email protected] -passwordHash password-hash -force", commandLines[0]); }
public void AddMaskedEmailCommand_FormatCommandLine() { var command = new AddMaskedEmailCommand("*****@*****.**", "{SSHA512}XXtbZp4Gg8cTjH9p/1LtebnYLRaVJ15QJ7oFujjqQtrzUh/bVvC4zUHa5dyrqS0tbOLgIk5RlKj2gZ/4uwymY1JVTXQ=", "*****@*****.**" ); var commandLines = MaskedEmailCommandLineFormatter.Format(command); Assert.AreEqual(2, commandLines.Length); Assert.AreEqual("/usr/local/bin/add-masked-email -address [email protected] -passwordHash {SSHA512}XXtbZp4Gg8cTjH9p/1LtebnYLRaVJ15QJ7oFujjqQtrzUh/bVvC4zUHa5dyrqS0tbOLgIk5RlKj2gZ/4uwymY1JVTXQ= -force", commandLines[0]); Assert.AreEqual("/usr/local/bin/set-masked-email -address [email protected] -forwardTo [email protected]", commandLines[1]); }
public void SendMailCommand_FormatCommandLine() { var base64 = Convert.ToBase64String( Encoding.UTF8.GetBytes("<h1>Title</h1><p>This is the mail body.</p>") ); var command = new SendMailCommand( recipient: "*****@*****.**", subject: "A `subject` \\with\\ \"quoted\" $characters", message: base64 ); var commandLines = MaskedEmailCommandLineFormatter.Format(command); Assert.AreEqual(1, commandLines.Length); Assert.AreEqual($"/usr/local/bin/send-email -address [email protected] -subject \"A \\`subject\\` \\\\with\\\\ \\\"quoted\\\" \\$characters\" -message {base64}", commandLines[0]); }
public void ProcessMaskedEmailCommandAsync( [QueueTrigger("commands")] string text, ILogger logger) { var request = MaskedEmailCommandJsonConvert.DeserializeObject(text); if (request == null) { logger.LogError("Invalid or malformed request. Ignoring (Enable Trace to include more details)."); logger.LogTrace(text); return; } logger.LogInformation($"Handling {request.Action} request..."); var commands = MaskedEmailCommandLineFormatter.Format(request); foreach (var command in commands) { Exec(command, logger); } }