1*503e913fSAnna Dabrowska<?php 2*503e913fSAnna Dabrowska 3*503e913fSAnna Dabrowska/** 4*503e913fSAnna Dabrowska * Class userdata_test 5*503e913fSAnna Dabrowska * 6*503e913fSAnna Dabrowska * Test group retrieval 7*503e913fSAnna Dabrowska * 8*503e913fSAnna Dabrowska * @group plugins 9*503e913fSAnna Dabrowska */ 10*503e913fSAnna Dabrowskaclass userdata_test extends DokuWikiTest 11*503e913fSAnna Dabrowska{ 12*503e913fSAnna Dabrowska /** @var auth_plugin_authplain */ 13*503e913fSAnna Dabrowska protected $auth; 14*503e913fSAnna Dabrowska 15*503e913fSAnna Dabrowska /** 16*503e913fSAnna Dabrowska * Load auth with test conf 17*503e913fSAnna Dabrowska * @throws Exception 18*503e913fSAnna Dabrowska */ 19*503e913fSAnna Dabrowska public function setUp() 20*503e913fSAnna Dabrowska { 21*503e913fSAnna Dabrowska parent::setUp(); 22*503e913fSAnna Dabrowska global $config_cascade; 23*503e913fSAnna Dabrowska $config_cascade['plainauth.users']['default'] = __DIR__ . '/conf/auth.users.php'; 24*503e913fSAnna Dabrowska $this->auth = new auth_plugin_authplain(); 25*503e913fSAnna Dabrowska } 26*503e913fSAnna Dabrowska 27*503e913fSAnna Dabrowska /** 28*503e913fSAnna Dabrowska * Test that all groups are retrieved in the correct order, without duplicates 29*503e913fSAnna Dabrowska */ 30*503e913fSAnna Dabrowska public function test_retrieve_groups() 31*503e913fSAnna Dabrowska { 32*503e913fSAnna Dabrowska $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; 33*503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(); 34*503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 35*503e913fSAnna Dabrowska } 36*503e913fSAnna Dabrowska 37*503e913fSAnna Dabrowska /** 38*503e913fSAnna Dabrowska * Test with small and large limits 39*503e913fSAnna Dabrowska */ 40*503e913fSAnna Dabrowska public function test_retrieve_groups_limit() 41*503e913fSAnna Dabrowska { 42*503e913fSAnna Dabrowska $expected = ['user', 'first_group']; 43*503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(0, 2); 44*503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 45*503e913fSAnna Dabrowska 46*503e913fSAnna Dabrowska $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; 47*503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(0, 20); 48*503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 49*503e913fSAnna Dabrowska } 50*503e913fSAnna Dabrowska 51*503e913fSAnna Dabrowska /** 52*503e913fSAnna Dabrowska * Test with small and large offsets 53*503e913fSAnna Dabrowska */ 54*503e913fSAnna Dabrowska public function test_retrieve_groups_offset() 55*503e913fSAnna Dabrowska { 56*503e913fSAnna Dabrowska $expected = ['third_group', 'fourth_group', 'fifth_group']; 57*503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(3,10); 58*503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 59*503e913fSAnna Dabrowska 60*503e913fSAnna Dabrowska $expected = []; 61*503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(10,3); 62*503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 63*503e913fSAnna Dabrowska } 64*503e913fSAnna Dabrowska} 65