Completed
Push — master ( 428e18...2b1c60 )
by Tamas
01:20
created

FirebaseStubTest::testSet()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
namespace Firebase;
3
4
require_once __DIR__ . '/../src/firebaseStub.php';
5
6
class FirebaseStubTest extends \PHPUnit_Framework_TestCase
7
{
8
    /**
9
     * @var FirebaseStub
10
     */
11
    protected $firebaseStub;
12
13
    const DEFAULT_URL = 'https://firebaseStub.firebaseio.com/';
14
    const DEFAULT_TOKEN = 'MqL0c8tKCtheLSYcygBrIanhU8Z2hULOFs9OKPdEp';
15
    const DEFAULT_TIMEOUT = 10;
16
    const DEFAULT_PATH = 'example/path';
17
    const DEFAULT_DATA = '{"firstName": "Howdy", "lastName": "Doody"}';
18
    const DEFAULT_PUSH_DATA = '{"firstName": "1skdSDdksdlisS"}';
19
20
    const UPDATED_URI = 'https://myfirebaseStub.firebaseio.com/';
21
    const UPDATED_TOKEN = 'MqL0c8tEmBeRLSYcygBrIanhU8Z2hULOFs9OKPdEp';
22
    const UPDATED_TIMEOUT = 30;
23
24
    const INSECURE_URL = 'http://insecure.firebaseio.com';
25
    const INVALID_DATA = '"firstName" "Howdy", "lastName": "Doody" "": ';
26
    const MISSING_DATA = '';
27
    const NULL_DATA = null;
28
29
    public function setUp()
30
    {
31
        $this->firebaseStub = new FirebaseStub(self::DEFAULT_URL, self::DEFAULT_TOKEN);
32
    }
33
34
    public function testBaseURIInitializationOnInstantiation()
35
    {
36
        $this->assertEquals(self::DEFAULT_TOKEN, $this->firebaseStub->token);
37
    }
38
39
    public function testSetBaseURI()
40
    {
41
        $actualResponse = $this->firebaseStub->setBaseURI(self::UPDATED_URI);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->set...eURI(self::UPDATED_URI) (which targets Firebase\FirebaseStub::setBaseURI()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
42
        $this->assertEquals(null, $actualResponse);
43
44
        $this->assertEquals(self::UPDATED_URI, $this->firebaseStub->baseURI);
45
    }
46
47
    public function testTokenInitializationOnInstantiation()
48
    {
49
        $this->assertEquals(self::DEFAULT_TOKEN, $this->firebaseStub->token);
50
    }
51
52
    public function testSetToken()
53
    {
54
        $actualResponse = $this->firebaseStub->setToken(self::UPDATED_TOKEN);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->set...en(self::UPDATED_TOKEN) (which targets Firebase\FirebaseStub::setToken()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
55
        $this->assertEquals(null, $actualResponse);
56
57
        $this->assertEquals(self::UPDATED_TOKEN, $this->firebaseStub->token);
58
    }
59
60
    public function testTimeoutInitializationOnInstantiation()
61
    {
62
        $this->assertEquals(self::DEFAULT_TIMEOUT, $this->firebaseStub->timeout);
63
    }
64
65
    public function testSetTimeout()
66
    {
67
        $actualResponse = $this->firebaseStub->setTimeout(self::UPDATED_TIMEOUT);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->set...(self::UPDATED_TIMEOUT) (which targets Firebase\FirebaseStub::setTimeOut()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
68
        $this->assertEquals(null, $actualResponse);
69
70
        $this->assertEquals(self::UPDATED_TIMEOUT, $this->firebaseStub->timeout);
71
    }
72
73
    public function testSet()
74
    {
75
        $this->firebaseStub->setResponse(self::DEFAULT_DATA);
76
        $actualResponse = $this->firebaseStub->set(self::DEFAULT_PATH, self::DEFAULT_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->set...TH, self::DEFAULT_DATA) (which targets Firebase\FirebaseStub::set()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
77
        $this->assertEquals(self::DEFAULT_DATA, $actualResponse);
78
    }
79
80
    public function testPush()
81
    {
82
        $this->firebaseStub->setResponse(self::DEFAULT_PUSH_DATA);
83
        $actualResponse = $this->firebaseStub->push(self::DEFAULT_PATH, self::DEFAULT_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->pus...TH, self::DEFAULT_DATA) (which targets Firebase\FirebaseStub::push()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
84
        $this->assertEquals(self::DEFAULT_PUSH_DATA, $actualResponse);
85
    }
86
87
    public function testUpdate()
88
    {
89
        $this->firebaseStub->setResponse(self::DEFAULT_DATA);
90
        $actualResponse = $this->firebaseStub->update(self::DEFAULT_PATH, self::DEFAULT_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->upd...TH, self::DEFAULT_DATA) (which targets Firebase\FirebaseStub::update()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
91
        $this->assertEquals(self::DEFAULT_DATA, $actualResponse);
92
    }
93
94
    public function testDelete()
95
    {
96
        $actualResponse = $this->firebaseStub->delete(self::DEFAULT_PATH);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $actualResponse is correct as $this->firebaseStub->delete(self::DEFAULT_PATH) (which targets Firebase\FirebaseStub::delete()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
97
        $this->assertEquals(null, $actualResponse);
98
    }
99
100
    public function testInvalidBaseUri()
101
    {
102
        $firebase = new FirebaseStub(self::INSECURE_URL);
103
        $response = $firebase->set(self::DEFAULT_PATH, self::DEFAULT_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $response is correct as $firebase->set(self::DEF...TH, self::DEFAULT_DATA) (which targets Firebase\FirebaseStub::set()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
104
        $this->assertEquals($this->getErrorMessages('INSECURE_URL'), $response);
105
    }
106
107
    public function testMissingData()
108
    {
109
        $response = $this->firebaseStub->set(self::DEFAULT_PATH, self::MISSING_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $response is correct as $this->firebaseStub->set...TH, self::MISSING_DATA) (which targets Firebase\FirebaseStub::set()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
110
        $this->assertEquals($this->getErrorMessages('NO_DATA'), $response);
111
    }
112
113
    public function testNullData()
114
    {
115
        $response = $this->firebaseStub->set(self::DEFAULT_PATH, self::NULL_DATA);
0 ignored issues
show
Bug introduced by
Are you sure the assignment to $response is correct as $this->firebaseStub->set..._PATH, self::NULL_DATA) (which targets Firebase\FirebaseStub::set()) seems to always return null.

This check looks for function or method calls that always return null and whose return value is assigned to a variable.

class A
{
    function getObject()
    {
        return null;
    }

}

$a = new A();
$object = $a->getObject();

The method getObject() can return nothing but null, so it makes no sense to assign that value to a variable.

The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.

Loading history...
116
        $this->assertEquals($this->getErrorMessages('NO_DATA'), $response);
117
    }
118
119
    private function getErrorMessages($errorCode)
120
    {
121
        $errorMessages = array(
122
            'INSECURE_URL' => 'Firebase does not support non-ssl traffic. Please try your request again over https.',
123
            'INVALID_JSON' => "Invalid data; couldn't parse JSON object, array, or value. " .
124
                "Perhaps you're using invalid characters in your key names.",
125
            'NO_DATA' => 'Missing data; Perhaps you forgot to send the data.'
126
        );
127
        return $errorMessages[$errorCode];
128
    }
129
}
130