#!perl -w
# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use v5.12;
use PublicInbox::TestCommon;
require_mods(qw(Mail::IMAPClient lei));

# TODO: mock IMAP server which fails at authentication so we don't
# have to make external connections to test this:
my $imap_fail = $ENV{TEST_LEI_IMAP_FAIL_URL} //
	'imaps://AzureDiamond:Hunter2@public-inbox.org:994/INBOX';
my ($ro_home, $cfg_path) = setup_public_inboxes;
test_lei(sub {
	for my $pfx ([qw(q z:0.. --only), "$ro_home/t1", '-o'],
			[qw(convert -o mboxrd:/dev/stdout)],
			[qw(convert t/utf8.eml -o), $imap_fail],
			['import'], [qw(tag +L:inbox)]) {
		ok(!lei(@$pfx, $imap_fail), "IMAP auth failure on @$pfx");
		like($lei_err, qr!\bE:.*?imaps?://.*?!sm, 'error shown');
		unlike($lei_err, qr!Hunter2!s, 'password not shown');
		is($lei_out, '', 'nothing output');
	}
});
done_testing;
