@Test
    void testAuthPlain() throws Exception {
        this.expect("220");

        this.send("HELO foo.com");
        this.expect("250");

        this.send("AUTH PLAIN");
        this.expect("334");

        final String authString
                = new String(new byte[]{0}) + REQUIRED_USERNAME + new String(new byte[]{0}) + REQUIRED_PASSWORD;

        final String enc_authString = Base64.getEncoder().encodeToString(authString.getBytes(StandardCharsets.US_ASCII));
        this.send(enc_authString);
        this.expect("235");

        this.send("AUTH");
        this.expect("503");
    }
Test method for AUTH PLAIN. The sequence under test is as follows:
<ol>
<li>HELO test</li>
<li>User starts AUTH PLAIN</li>
<li>User sends username+password</li>
<li>We expect login to be successful. Also the Base64 transformations are
tested.</li>
<li>User issues another AUTH command</li>
<li>We expect an error message</li>
</ol>
{@link AuthCommand#execute(java.lang.String, Session)}.

@throws Exception on error
src/test/java/de/gessnerfl/fakesmtp/smtp/command/AuthTest.java