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

RequestTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 0
loc 67
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetParams() 0 7 1
A dataGetParamsProvider() 0 40 1
A getRequest() 0 9 1
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