RequestTest::testGetParams()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
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('setHTML', array('padID', 'html')),
46
            array('getChatHistory', array('padID', 'start', 'end')),
47
            array('getChatHead', array('padID')),
48
            array('createPad', array('padID', 'text')),
49
            array('getRevisionsCount', array('padID')),
50
            array('padUsersCount', array('padID')),
51
            array('padUsers', array('padID')),
52
            array('deletePad', array('padID')),
53
            array('getReadOnlyID', array('padID')),
54
            array('setPublicStatus', array('padID', 'publicStatus')),
55
            array('getPublicStatus', array('padID')),
56
            array('setPassword', array('padID', 'password')),
57
            array('isPasswordProtected', array('padID')),
58
            array('listAuthorsOfPad', array('padID')),
59
            array('getLastEdited', array('padID')),
60
            array('sendClientsMessage', array('padID', 'msg')),
61
            array('checkToken', array()),
62
            array('listAllPads', array()),
63
        );
64
    }
65
66
    protected function getRequest($method, $args = array())
67
    {
68
        return new Request(
69
            self::API_URL,
70
            self::API_KEY,
71
            $method,
72
            $args
73
        );
74
    }
75
}
76