Lemonldap-NG-Portal

 view release on metacpan or  search on metacpan

t/01-OneTimeToken.t  view on Meta::CPAN


    subtest "Get valid token without deleting it" => sub {
        Time::Fake->offset(1000);
        my $id = $ott->createToken( { x => "1" } );
        ok( $id, "Token successfully created" );

        Time::Fake->offset(1090);
        my $token_data = $ott->getToken( $id, 1 );
        is( $token_data->{_utime} + $client->p->conf->{timeout},
            1100, "Correct purge time" );
        is( $token_data->{x}, 1, "Correct data" );

        $token_data = $ott->getToken( $id, 1 );
        is( $token_data->{_utime} + $client->p->conf->{timeout},
            1100, "Correct purge time" );
        is( $token_data->{x}, 1, "Correct data" );

        Time::Fake->offset(1110);
        $token_data = $ott->getToken( $id, 1 );
        ok( !$token_data, "Token id is no longer valid" );
    };

    subtest "Update token" => sub {
        Time::Fake->offset(1000);
        my $id = $ott->createToken( { x => "1" } );
        ok( $id, "Token successfully created" );

        Time::Fake->offset(1090);
        my $token_data = $ott->getToken( $id, 1 );
        is( $token_data->{_utime} + $client->p->conf->{timeout},
            1100, "Correct purge time" );
        is( $token_data->{x}, 1, "Correct data" );

        is( $ott->updateToken( $id, 'x', 2 ),
            $id, "updateToken returns token id" );

        $token_data = $ott->getToken( $id, 1 );
        is( $token_data->{_utime} + $client->p->conf->{timeout},
            1100, "Correct purge time" );
        is( $token_data->{x}, 2, "Correct data" );

        Time::Fake->offset(1110);
        $token_data = $ott->getToken( $id, 1 );
        ok( !$token_data, "Token id is no longer valid" );
    };

    subtest "Update expired token" => sub {
        Time::Fake->offset(1000);
        my $id = $ott->createToken( { x => "1" } );
        ok( $id, "Token successfully created" );

        Time::Fake->offset(1110);
        ok( !$ott->updateToken( $id, 'x', 2 ), "updateToken returns undef" );

        my $token_data = $ott->getToken( $id, 1 );
        ok( !$token_data, "Token id is no longer valid" );
    };

    #    sub createToken {
    #sub getToken {
    #sub updateToken {

}

subtest "Test cache implementation" => sub {
    test( { tokenUseGlobalStorage => 0 } );
};

subtest "Test session implementation" => sub {
    test( { tokenUseGlobalStorage => 1 } );
};

clean_sessions();

done_testing();



( run in 0.624 second using v1.01-cache-2.11-cpan-7fcb06a456a )