pongo /
firebase-php
This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
|
0 ignored issues
–
show
|
|||
| 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->se...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 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->se...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 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->se...(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 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->se...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 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->pu...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 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
Are you sure the assignment to
$actualResponse is correct as $this->_firebaseStub->up...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 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
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 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
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 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
Are you sure the assignment to
$response is correct as $this->_firebaseStub->se...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 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
Are you sure the assignment to
$response is correct as $this->_firebaseStub->se..._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 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 | /** |
||
| 120 | * @param string $errorCode |
||
| 121 | */ |
||
| 122 | private function _getErrorMessages($errorCode) |
||
| 123 | { |
||
| 124 | $errorMessages = Array( |
||
| 125 | 'INSECURE_URL' => 'Firebase does not support non-ssl traffic. Please try your request again over https.', |
||
| 126 | 'INVALID_JSON' => 'Invalid data; couldn\'t parse JSON object, array, or value. Perhaps you\'re using invalid characters in your key names.', |
||
| 127 | 'NO_DATA' => 'Missing data; Perhaps you forgot to send the data.' |
||
| 128 | ); |
||
| 129 | |||
| 130 | return $errorMessages[$errorCode]; |
||
| 131 | } |
||
| 132 | } |
||
| 133 |
The PSR-1: Basic Coding Standard recommends that a file should either introduce new symbols, that is classes, functions, constants or similar, or have side effects. Side effects are anything that executes logic, like for example printing output, changing ini settings or writing to a file.
The idea behind this recommendation is that merely auto-loading a class should not change the state of an application. It also promotes a cleaner style of programming and makes your code less prone to errors, because the logic is not spread out all over the place.
To learn more about the PSR-1, please see the PHP-FIG site on the PSR-1.