diff --git a/lemonldap-ng-portal/t/70-2F-TOTP.t b/lemonldap-ng-portal/t/70-2F-TOTP.t index 6f1d1d514..6b689e69a 100644 --- a/lemonldap-ng-portal/t/70-2F-TOTP.t +++ b/lemonldap-ng-portal/t/70-2F-TOTP.t @@ -3,7 +3,7 @@ use strict; use IO::String; require 't/test-lib.pm'; -my $maintests = 16; +my $maintests = 17; SKIP: { eval { require Convert::Base32 }; @@ -17,6 +17,7 @@ SKIP: { logLevel => 'error', totp2fSelfRegistration => 1, totp2fActivation => 1, + totp2fTTL => 2, portalMainLogo => 'common/logos/logo_llng_old.png', } } @@ -82,7 +83,7 @@ SKIP: { ok( $code = Lemonldap::NG::Common::TOTP::_code( undef, $key, 0, 30, 6 ), 'Code' ); ok( $code =~ /^\d{6}$/, 'Code contains 6 digits' ); - my $s = "code=$code&token=$token"; + my $s = "code=$code&token=$token&TOTPName=myTOTP"; ok( $res = $client->_post( '/2fregisters/totp/verify', @@ -122,6 +123,22 @@ SKIP: { ); $id = expectCookie($res); $client->logout($id); + + diag 'Waiting'; + sleep 3; + + # Try to sign-in + ok( + $res = $client->_post( + '/', + IO::String->new('user=dwho&password=dwho'), + length => 23, + accept => 'text/html', + ), + 'Auth query' + ); + $id = expectCookie($res); + expectRedirection( $res, 'http://auth.example.com/' ); } count($maintests); diff --git a/lemonldap-ng-portal/t/75-2F-Registers.t b/lemonldap-ng-portal/t/75-2F-Registers.t index 01346348d..38ba23a21 100644 --- a/lemonldap-ng-portal/t/75-2F-Registers.t +++ b/lemonldap-ng-portal/t/75-2F-Registers.t @@ -4,7 +4,7 @@ use IO::String; use Data::Dumper; require 't/test-lib.pm'; -my $maintests = 51; +my $maintests = 52; SKIP: { eval { require Convert::Base32 }; @@ -92,7 +92,7 @@ SKIP: { ok( $code = Lemonldap::NG::Common::TOTP::_code( undef, $key, 0, 30, 6 ), 'Code' ); ok( $code =~ /^\d{6}$/, 'Code contains 6 digits' ); - my $s = "code=$code&token=$token"; + my $s = "code=$code&token=$token&TOTPName=myTOTP"; ok( $res = $client->_post( '/2fregisters/totp/verify', @@ -276,6 +276,9 @@ JjTJecOOS+88fK8qL1TrYv5rapIdqUI7aQ== or print STDERR Dumper($res); ok( $sf[0] eq 'TOTP', 'TOTP device found' ) or print STDERR Dumper( \@sf ); ok( $sf[1] eq 'U2F', 'U2F device found' ) or print STDERR Dumper( \@sf ); + ok( $res->[2]->[0] =~ qr%myTOTP%, + 'Found TOTP name' ) + or print STDERR Dumper($res); # Unregister TOTP ok( $res->[2]->[0] =~ qr%TOTP.*epoch.*(\d{10})%m, "TOTP epoch $1 found" )