xref: /plugin/oauth/_test/CheckMailTest.php (revision fe49fd8259b2adcc61587e73b18695bde171a8d9)
139730c7eSAnna Dabrowska<?php
239730c7eSAnna Dabrowska
339730c7eSAnna Dabrowskanamespace dokuwiki\plugin\oauth\test;
439730c7eSAnna Dabrowska
539730c7eSAnna Dabrowskause DokuWikiTest;
639730c7eSAnna Dabrowska
739730c7eSAnna Dabrowska/**
839730c7eSAnna Dabrowska * Mail Restriction tests for the oauth plugin
939730c7eSAnna Dabrowska *
1039730c7eSAnna Dabrowska * @group plugin_oauth
1139730c7eSAnna Dabrowska * @group plugins
1239730c7eSAnna Dabrowska */
1339730c7eSAnna Dabrowskaclass CheckMailTest extends DokuWikiTest
1439730c7eSAnna Dabrowska{
1539730c7eSAnna Dabrowska    protected $pluginsEnabled = ['oauth'];
1639730c7eSAnna Dabrowska
1739730c7eSAnna Dabrowska    /**
1839730c7eSAnna Dabrowska     * @return array[]
1939730c7eSAnna Dabrowska     * @see testCheckMail
2039730c7eSAnna Dabrowska     */
2139730c7eSAnna Dabrowska    public function provideCheckMailData()
2239730c7eSAnna Dabrowska    {
2339730c7eSAnna Dabrowska        return [
2439730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@foo.org', true],
2539730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@example.com', true],
2639730c7eSAnna Dabrowska            ['@foo.org,@example.com', 'bar@bar.org', false],
2739730c7eSAnna Dabrowska            ['@foo.org', 'bar@foo.org', true],
2839730c7eSAnna Dabrowska            ['@foo.org', 'bar@example.com', false],
2939730c7eSAnna Dabrowska            ['@foo.org', 'bar@bar.org', false],
3039730c7eSAnna Dabrowska            ['', 'bar@bar.org', true],
3139730c7eSAnna Dabrowska
3239730c7eSAnna Dabrowska        ];
3339730c7eSAnna Dabrowska    }
3439730c7eSAnna Dabrowska
3539730c7eSAnna Dabrowska    /**
3639730c7eSAnna Dabrowska     * @dataProvider provideCheckMailData
3739730c7eSAnna Dabrowska     * @param string $restriction
3839730c7eSAnna Dabrowska     * @param string $input
3939730c7eSAnna Dabrowska     * @param string $expected
4039730c7eSAnna Dabrowska     * @return void
4139730c7eSAnna Dabrowska     */
4239730c7eSAnna Dabrowska    public function testCheckMail($restriction, $input, $expected)
4339730c7eSAnna Dabrowska    {
4439730c7eSAnna Dabrowska        global $conf;
4539730c7eSAnna Dabrowska        $conf['plugin']['oauth']['mailRestriction'] = $restriction;
4639730c7eSAnna Dabrowska
4739730c7eSAnna Dabrowska        /** @var \helper_plugin_oauth $hlp */
4839730c7eSAnna Dabrowska        $hlp = plugin_load('helper', 'oauth');
49*fe49fd82SAndreas Gohr        $this->assertSame($expected, $hlp->checkMail($input, $hlp->getValidDomains()));
5039730c7eSAnna Dabrowska    }
5139730c7eSAnna Dabrowska}
52