Passed
Push — master ( 48b31c...af15c0 )
by Louis
02:02
created

RequestTest::dataGetParamsProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 40

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 40
rs 9.28
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace EtherpadLite\Tests;
4
5
use EtherpadLite\Request;
6
use PHPUnit\Framework\TestCase;
7
8
class RequestTest extends TestCase
9
{
10
    const API_URL = 'http://localhost:9001';
11
    const API_KEY = 'abcdef';
12
13
    /**
14
     * @dataProvider dataGetParamsProvider
15
     */
16
    public function testGetParams($method, $args)
17
    {
18
        $request = $this->getRequest($method, $args);
19
20
        $this->assertArrayHasKey('apikey', $request->getParams());
21
        $this->assertEquals(1 + count($args), count($request->getParams()));
22
    }
23
24
    public function dataGetParamsProvider()
25
    {
26
        return array(
27
            array('createGroup', array()),
28
            array('createGroupIfNotExistsFor', array('groupMapper')),
29
            array('deleteGroup', array('groupID')),
30
            array('listPads', array('groupID')),
31
            array('createGroupPad', array('groupID', 'padName', 'text')),
32
            array('listAllGroups', array()),
33
            array('createAuthor', array('name')),
34
            array('createAuthorIfNotExistsFor', array('authorMapper', 'name')),
35
            array('listPadsOfAuthor', array('authorID')),
36
            array('getAuthorName', array('authorID')),
37
            array('createSession', array('groupID', 'authorID', 'validUntil')),
38
            array('deleteSession', array('sessionID')),
39
            array('getSessionInfo', array('sessionID')),
40
            array('listSessionsOfGroup', array('groupID')),
41
            array('listSessionsOfAuthor', array('authorID')),
42
            array('getText', array('padID', 'rev')),
43
            array('setText', array('padID', 'text')),
44
            array('getHTML', array('padID', 'rev')),
45
            array('getChatHistory', array('padID', 'start', 'end')),
46
            array('getChatHead', array('padID')),
47
            array('createPad', array('padID', 'text')),
48
            array('getRevisionsCount', array('padID')),
49
            array('padUsersCount', array('padID')),
50
            array('padUsers', array('padID')),
51
            array('deletePad', array('padID')),
52
            array('getReadOnlyID', array('padID')),
53
            array('setPublicStatus', array('padID', 'publicStatus')),
54
            array('getPublicStatus', array('padID')),
55
            array('setPassword', array('padID', 'password')),
56
            array('isPasswordProtected', array('padID')),
57
            array('listAuthorsOfPad', array('padID')),
58
            array('getLastEdited', array('padID')),
59
            array('sendClientsMessage', array('padID', 'msg')),
60
            array('checkToken', array()),
61
            array('listAllPads', array()),
62
        );
63
    }
64
65
    protected function getRequest($method, $args = array())
66
    {
67
        return new Request(
68
            self::API_URL,
69
            self::API_KEY,
70
            $method,
71
            $args
72
        );
73
    }
74
}
75