Example #1
0
def test_rewrite_spamc_config_comment():
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('# --ssl tlsv1\n')
    assert new_content == '# --ssl tlsv1\n'

    # comment mixed with actual option
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('# --ssl tlsv1\n--ssl sslv3\n')
    assert new_content == '# --ssl tlsv1\n--ssl\n'

    # comment mixed with actual option
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl tlsv1\n# --ssl sslv3\n')
    assert new_content == '--ssl\n# --ssl sslv3\n'
Example #2
0
def test_rewrite_spamc_config():
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl sslv3\n')
    assert new_content == '--ssl\n'

    # equal sign format
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl=tlsv1\n')
    assert new_content == '--ssl\n'

    # no argument
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n')
    assert new_content == '--ssl\n'
Example #3
0
def test_rewrite_spamc_config_tls_supersedes_ssl():
    # Ideally, the result would be a single '--ssl' option. However for
    # simplicity, we allow the option to be output twice. It's not nice, but
    # there's nothing technically wrong with it. And it's really a corner case
    # anyway.  If someone fixes it, this test case can be updated to expect
    # '--ssl' as output.
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl sslv3 --ssl tlsv1\n')
    assert new_content == '--ssl --ssl\n'

    # reverse order
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl tlsv1 --ssl sslv3\n')
    assert new_content == '--ssl --ssl\n'
Example #4
0
def test_rewrite_spamc_config_crazy_corner_cases():
    # The option and new_content can have a comment in between
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n# foo\ntlsv1\n')
    assert new_content == '--ssl\n# foo\n\n'

    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n# foo\n# bar\nsslv3\n')
    assert new_content == '--ssl\n# foo\n# bar\n\n'

    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n# foo\n# tlsv1\nsslv3\n')
    assert new_content == '--ssl\n# foo\n# tlsv1\n\n'

    # --ssl followed by another option
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n# foo\n-B\n')
    assert new_content == '--ssl\n# foo\n-B\n'
Example #5
0
def test_rewrite_spamc_config_without_valid_argument():
    # If we encounter an unrecognized parameter, we leave it be - the
    # configuration is invalid anyway, so let's not mess it up even more.
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl foo\n')
    assert new_content == '--ssl foo\n'

    # --ssl followed by another option
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl -B\n')
    assert new_content == '--ssl -B\n'

    # space surrounding the equal sign. This amounts to an unrecognized
    # argument (empty string)
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl= tlsv1\n')
    assert new_content == '--ssl= tlsv1\n'

    # space surrounding the equal sign. This amounts to an unrecognized
    # argument ("=tlsv1")
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl =tlsv1\n')
    assert new_content == '--ssl =tlsv1\n'
Example #6
0
def test_rewrite_spamc_config_multiline():
    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('-B --ssl \n sslv3 -c\n-H\n')
    assert new_content == '-B --ssl \n -c\n-H\n'

    new_content = spamassassinconfigupdate_spamc._rewrite_spamc_config('--ssl\n-B\n')
    assert new_content == '--ssl\n-B\n'