1*1a5ede3eSAndreas Gohr<?php 2*1a5ede3eSAndreas Gohr 3*1a5ede3eSAndreas Gohrnamespace dokuwiki\plugin\oauth\test; 4*1a5ede3eSAndreas Gohr 5*1a5ede3eSAndreas Gohruse dokuwiki\plugin\oauth\Exception; 6*1a5ede3eSAndreas Gohruse dokuwiki\plugin\oauth\OAuthManager; 7*1a5ede3eSAndreas Gohruse DokuWikiTest; 8*1a5ede3eSAndreas Gohr 9*1a5ede3eSAndreas Gohr/** 10*1a5ede3eSAndreas Gohr * user data validation tests for the oauth plugin 11*1a5ede3eSAndreas Gohr * 12*1a5ede3eSAndreas Gohr * @group plugin_oauth 13*1a5ede3eSAndreas Gohr * @group plugins 14*1a5ede3eSAndreas Gohr */ 15*1a5ede3eSAndreas Gohrclass ValidateUserDataTest extends DokuWikiTest 16*1a5ede3eSAndreas Gohr{ 17*1a5ede3eSAndreas Gohr 18*1a5ede3eSAndreas Gohr protected $pluginsEnabled = ['oauth']; 19*1a5ede3eSAndreas Gohr 20*1a5ede3eSAndreas Gohr /** 21*1a5ede3eSAndreas Gohr * @see testValidateUserData 22*1a5ede3eSAndreas Gohr */ 23*1a5ede3eSAndreas Gohr public function provideUserData() 24*1a5ede3eSAndreas Gohr { 25*1a5ede3eSAndreas Gohr return [ 26*1a5ede3eSAndreas Gohr [ 27*1a5ede3eSAndreas Gohr ['mail' => 'test@ExamPLe.com'], 28*1a5ede3eSAndreas Gohr ['user' => 'test', 'name' => 'test', 'mail' => 'test@example.com', 'grps' => []], 29*1a5ede3eSAndreas Gohr ], 30*1a5ede3eSAndreas Gohr [ 31*1a5ede3eSAndreas Gohr ['user' => 'tuser', 'mail' => 'test@example.com', 'grps' => ['one grp', 'Two']], 32*1a5ede3eSAndreas Gohr ['user' => 'tuser', 'name' => 'tuser', 'mail' => 'test@example.com', 'grps' => ['one_grp', 'two']], 33*1a5ede3eSAndreas Gohr ], 34*1a5ede3eSAndreas Gohr [ 35*1a5ede3eSAndreas Gohr ['user' => 'TEST', 'name' => 'Test User', 'mail' => 'test@example.com', 'grps' => ['one', 'two']], 36*1a5ede3eSAndreas Gohr ['user' => 'test', 'name' => 'Test User', 'mail' => 'test@example.com', 'grps' => ['one', 'two']], 37*1a5ede3eSAndreas Gohr ], 38*1a5ede3eSAndreas Gohr ]; 39*1a5ede3eSAndreas Gohr } 40*1a5ede3eSAndreas Gohr 41*1a5ede3eSAndreas Gohr /** 42*1a5ede3eSAndreas Gohr * @dataProvider provideUserData 43*1a5ede3eSAndreas Gohr */ 44*1a5ede3eSAndreas Gohr public function testValidateUserData($input, $expect) 45*1a5ede3eSAndreas Gohr { 46*1a5ede3eSAndreas Gohr $oauthMgr = new OAuthManager(); 47*1a5ede3eSAndreas Gohr $result = $this->callInaccessibleMethod($oauthMgr, 'validateUserData', [$input, 'service']); 48*1a5ede3eSAndreas Gohr $this->assertEquals($expect, $result); 49*1a5ede3eSAndreas Gohr } 50*1a5ede3eSAndreas Gohr 51*1a5ede3eSAndreas Gohr public function testMissingMail() 52*1a5ede3eSAndreas Gohr { 53*1a5ede3eSAndreas Gohr $this->expectException(Exception::class); 54*1a5ede3eSAndreas Gohr 55*1a5ede3eSAndreas Gohr $input = [ 56*1a5ede3eSAndreas Gohr 'user' => 'test', 57*1a5ede3eSAndreas Gohr 'name' => 'Test USer', 58*1a5ede3eSAndreas Gohr ]; 59*1a5ede3eSAndreas Gohr $oauthMgr = new OAuthManager(); 60*1a5ede3eSAndreas Gohr $this->callInaccessibleMethod($oauthMgr, 'validateUserData', [$input, 'service']); 61*1a5ede3eSAndreas Gohr } 62*1a5ede3eSAndreas Gohr} 63