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