Lemonldap-NG-Portal

 view release on metacpan or  search on metacpan

t/43-MailPasswordReset-Combination.t  view on Meta::CPAN

use warnings;
use Test::More;
use strict;
use IO::String;

BEGIN {
    eval {
        require 't/test-lib.pm';
        require 't/smtp.pm';
    };
}

my ( $res, $user, $pwd, $client );

SKIP: {
    eval
'require Email::Sender::Simple;use GD::SecurityImage;use Image::Magick; require DBI; require DBD::SQLite;';
    if ($@) {
        skip 'Missing dependencies', 0;
    }

    my $client;
    subtest "Combination as main backend" => sub {
        myTest(0);
    };
    subtest "Combination inside Choice" => sub {
        myTest(1);
    };

}

clean_sessions();

done_testing();

sub myTest {
    my $use_choice = shift;
    $client = iniCmb($use_choice);

    # As dvador
    # Check first password
    expectCookie( try( 'dvador', 'dvador' ) );

    # Get mail reset code
    my $query = getMailQuery('dvador@wars.star');

    # Set new password
    expectPortalError( updatePassword( $query, "skywalker" ),
        46, "Password update successful" );

    # Check that new password works
    expectCookie( try( 'dvador', 'skywalker' ) );

    # As jkirk
    # Check first password
    expectCookie( try( 'jkirk', 'jkirk' ) );

    # Get mail reset code
    $query = getMailQuery('jkirk@trek.star');

    # Set new password
    expectPortalError( updatePassword( $query, "kobayashi" ),
        46, "Password update successful" );

    # Check that new password works
    expectCookie( try( 'jkirk', 'kobayashi' ) );
}

sub updatePassword {
    my $query       = shift;
    my $newpassword = shift;
    my $res;

    ok(
        $res = $client->_get(
            '/resetpwd',
            query  => $query,



( run in 0.597 second using v1.01-cache-2.11-cpan-97f6503c9c8 )