ListSupportedLoginModes(); // Then $this->assertEquals(['basic'], $aActual); } public function testOnModeDetectionForLoginPass() { // Given $oLoginBasic = new LoginBasic(); $_SERVER['HTTP_AUTHORIZATION'] = 'Basic '.base64_encode("Login:BasicTest"); // When $_SESSION = []; $iErrorCode = 0; $sActualRes = $oLoginBasic->LoginAction(LoginWebPage::LOGIN_STATE_MODE_DETECTION, $iErrorCode); // Then $this->assertEquals('basic', $_SESSION['login_mode'], 'Login mode should have detected basic mode'); $this->assertEquals(LoginWebPage::LOGIN_FSM_CONTINUE, $sActualRes, 'No Login FSM error should have been detected'); } public function testOnModeDetectionForRedirect() { // Given $oLoginBasic = new LoginBasic(); $_SERVER['REDIRECT_HTTP_AUTHORIZATION'] = 'Basic '.base64_encode('Login:BasicTest'); // When $_SESSION = []; $iErrorCode = 0; $sActualRes = $oLoginBasic->LoginAction(LoginWebPage::LOGIN_STATE_MODE_DETECTION, $iErrorCode); // Then $this->assertEquals('basic', $_SESSION['login_mode'], 'Login mode should have detected basic mode'); $this->assertEquals(LoginWebPage::LOGIN_FSM_CONTINUE, $sActualRes, 'No Login FSM error should have been detected'); } public function testOnModeDetectionForBasicLoginPassword() { // Given $oLoginBasic = new LoginBasic(); $_SERVER['PHP_AUTH_USER'] = 'Login'; $_SERVER['PHP_AUTH_PW'] = 'Passwd'; // When $_SESSION = []; $iErrorCode = 0; $sActualRes = $oLoginBasic->LoginAction(LoginWebPage::LOGIN_STATE_MODE_DETECTION, $iErrorCode); // Then $this->assertEquals('basic', $_SESSION['login_mode'], 'Login mode should have detected basic mode'); $this->assertEquals(LoginWebPage::LOGIN_FSM_CONTINUE, $sActualRes, 'No Login FSM error should have been detected'); } public function testOnModeDetectionForBearerTokenNotDetectedAsBasic() { // Given $oLoginBasic = new LoginBasic(); $_SERVER['HTTP_AUTHORIZATION'] = 'Bearer '.base64_encode('Login:BasicTest'); // When $_SESSION = []; $iErrorCode = 0; $sActualRes = $oLoginBasic->LoginAction(LoginWebPage::LOGIN_STATE_MODE_DETECTION, $iErrorCode); // Then $this->assertFalse(Session::IsSet('login_mode'), 'No basic login mode should have been detected'); $this->assertEquals(LoginWebPage::LOGIN_FSM_CONTINUE, $sActualRes, 'No Login FSM error should have been detected'); } }