xref: /plugin/oauth/_test/CheckMailTest.php (revision 39730c7e1502bfff3d3f6211a28f70885dc530b2)
1*39730c7eSAnna Dabrowska<?php
2*39730c7eSAnna Dabrowska
3*39730c7eSAnna Dabrowskanamespace dokuwiki\plugin\oauth\test;
4*39730c7eSAnna Dabrowska
5*39730c7eSAnna Dabrowskause DokuWikiTest;
6*39730c7eSAnna Dabrowska
7*39730c7eSAnna Dabrowska/**
8*39730c7eSAnna Dabrowska * Mail Restriction tests for the oauth plugin
9*39730c7eSAnna Dabrowska *
10*39730c7eSAnna Dabrowska * @group plugin_oauth
11*39730c7eSAnna Dabrowska * @group plugins
12*39730c7eSAnna Dabrowska */
13*39730c7eSAnna Dabrowskaclass CheckMailTest extends DokuWikiTest
14*39730c7eSAnna Dabrowska{
15*39730c7eSAnna Dabrowska    protected $pluginsEnabled = ['oauth'];
16*39730c7eSAnna Dabrowska
17*39730c7eSAnna Dabrowska    /**
18*39730c7eSAnna Dabrowska     * @return array[]
19*39730c7eSAnna Dabrowska     * @see testCheckMail
20*39730c7eSAnna Dabrowska     */
21*39730c7eSAnna Dabrowska    public function provideCheckMailData()
22*39730c7eSAnna Dabrowska    {
23*39730c7eSAnna Dabrowska        return [
24*39730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@foo.org', true],
25*39730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@example.com', true],
26*39730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@bar.org', false],
27*39730c7eSAnna Dabrowska            ['@foo.org', 'bar@foo.org', true],
28*39730c7eSAnna Dabrowska            ['@foo.org', 'bar@example.com', false],
29*39730c7eSAnna Dabrowska            ['@foo.org', 'bar@bar.org', false],
30*39730c7eSAnna Dabrowska            ['', 'bar@bar.org', true],
31*39730c7eSAnna Dabrowska
32*39730c7eSAnna Dabrowska        ];
33*39730c7eSAnna Dabrowska    }
34*39730c7eSAnna Dabrowska
35*39730c7eSAnna Dabrowska    /**
36*39730c7eSAnna Dabrowska     * @dataProvider provideCheckMailData
37*39730c7eSAnna Dabrowska     * @param string $restriction
38*39730c7eSAnna Dabrowska     * @param string $input
39*39730c7eSAnna Dabrowska     * @param string $expected
40*39730c7eSAnna Dabrowska     * @return void
41*39730c7eSAnna Dabrowska     */
42*39730c7eSAnna Dabrowska    public function testCheckMail($restriction, $input, $expected)
43*39730c7eSAnna Dabrowska    {
44*39730c7eSAnna Dabrowska        global $conf;
45*39730c7eSAnna Dabrowska        $conf['plugin']['oauth']['mailRestriction'] = $restriction;
46*39730c7eSAnna Dabrowska
47*39730c7eSAnna Dabrowska        /** @var \helper_plugin_oauth $hlp */
48*39730c7eSAnna Dabrowska        $hlp = plugin_load('helper', 'oauth');
49*39730c7eSAnna Dabrowska        $this->assertSame($expected, $hlp->checkMail($input));
50*39730c7eSAnna Dabrowska    }
51*39730c7eSAnna Dabrowska}
52