1<?php 2 3namespace dokuwiki\plugin\oauth\test; 4 5use dokuwiki\plugin\oauth\Exception; 6use dokuwiki\plugin\oauth\OAuthManager; 7use DokuWikiTest; 8 9/** 10 * user data validation tests for the oauth plugin 11 * 12 * @group plugin_oauth 13 * @group plugins 14 */ 15class MergeGroupsTest extends DokuWikiTest 16{ 17 18 protected $pluginsEnabled = ['oauth']; 19 20 /** 21 * @see testMergeGroups 22 */ 23 public function provideTestData() 24 { 25 return [ 26 [ 27 ['hello', 'provider1', 'service', 'user'], 28 ['provider1', 'provider2'], 29 ['service', 'service2'], 30 false, 31 ['hello', 'provider1', 'provider2', 'service', 'user'] 32 ], 33 [ 34 ['hello', 'provider1', 'service', 'user'], 35 ['provider1', 'provider2'], 36 ['service', 'service2'], 37 true, 38 ['provider1', 'provider2', 'service', 'user'] 39 ], 40 [ 41 ['hello', 'provider1', 'service', 'user'], 42 [], 43 ['service', 'service2'], 44 false, 45 ['hello', 'provider1', 'service', 'user'] 46 ], 47 [ 48 ['hello', 'provider1', 'service', 'user'], 49 [], 50 ['service', 'service2'], 51 true, 52 ['service', 'user'] 53 ] 54 ]; 55 } 56 57 /** 58 * @dataProvider provideTestData 59 */ 60 public function testMergeGroups($localGroups, $providerGroups, $services, $overwrite, $expect) 61 { 62 $oauthMgr = new OAuthManager(); 63 $result = $this->callInaccessibleMethod( 64 $oauthMgr, 'mergeGroups', 65 [$localGroups, $providerGroups, $services, $overwrite] 66 ); 67 sort($expect); 68 sort($result); 69 70 $this->assertEquals($expect, $result); 71 } 72 73} 74