1503e913fSAnna Dabrowska<?php 2503e913fSAnna Dabrowska 3503e913fSAnna Dabrowska/** 4503e913fSAnna Dabrowska * Class userdata_test 5503e913fSAnna Dabrowska * 6503e913fSAnna Dabrowska * Test group retrieval 7503e913fSAnna Dabrowska * 8503e913fSAnna Dabrowska * @group plugins 9503e913fSAnna Dabrowska */ 10503e913fSAnna Dabrowskaclass userdata_test extends DokuWikiTest 11503e913fSAnna Dabrowska{ 12503e913fSAnna Dabrowska /** @var auth_plugin_authplain */ 13503e913fSAnna Dabrowska protected $auth; 14503e913fSAnna Dabrowska 15503e913fSAnna Dabrowska /** 16503e913fSAnna Dabrowska * Load auth with test conf 17503e913fSAnna Dabrowska * @throws Exception 18503e913fSAnna Dabrowska */ 19*1c33cec3SAndreas Gohr public function setUp() : void 20503e913fSAnna Dabrowska { 21503e913fSAnna Dabrowska parent::setUp(); 22503e913fSAnna Dabrowska global $config_cascade; 23503e913fSAnna Dabrowska $config_cascade['plainauth.users']['default'] = __DIR__ . '/conf/auth.users.php'; 24503e913fSAnna Dabrowska $this->auth = new auth_plugin_authplain(); 25503e913fSAnna Dabrowska } 26503e913fSAnna Dabrowska 27503e913fSAnna Dabrowska /** 28503e913fSAnna Dabrowska * Test that all groups are retrieved in the correct order, without duplicates 29503e913fSAnna Dabrowska */ 30503e913fSAnna Dabrowska public function test_retrieve_groups() 31503e913fSAnna Dabrowska { 32503e913fSAnna Dabrowska $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; 33503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(); 34503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 35503e913fSAnna Dabrowska } 36503e913fSAnna Dabrowska 37503e913fSAnna Dabrowska /** 38503e913fSAnna Dabrowska * Test with small and large limits 39503e913fSAnna Dabrowska */ 40503e913fSAnna Dabrowska public function test_retrieve_groups_limit() 41503e913fSAnna Dabrowska { 42503e913fSAnna Dabrowska $expected = ['user', 'first_group']; 43503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(0, 2); 44503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 45503e913fSAnna Dabrowska 46503e913fSAnna Dabrowska $expected = ['user', 'first_group', 'second_group', 'third_group', 'fourth_group', 'fifth_group']; 47503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(0, 20); 48503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 49503e913fSAnna Dabrowska } 50503e913fSAnna Dabrowska 51503e913fSAnna Dabrowska /** 52503e913fSAnna Dabrowska * Test with small and large offsets 53503e913fSAnna Dabrowska */ 54503e913fSAnna Dabrowska public function test_retrieve_groups_offset() 55503e913fSAnna Dabrowska { 56503e913fSAnna Dabrowska $expected = ['third_group', 'fourth_group', 'fifth_group']; 57503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(3,10); 58503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 59503e913fSAnna Dabrowska 60503e913fSAnna Dabrowska $expected = []; 61503e913fSAnna Dabrowska $actual = $this->auth->retrieveGroups(10,3); 62503e913fSAnna Dabrowska $this->assertEquals($expected, $actual); 63503e913fSAnna Dabrowska } 64503e913fSAnna Dabrowska} 65