Prevent php message: "Trying to get property of non-object at /xxx/lib/private/ocsclient.php#282"
This commit is contained in:
parent
75adee1ebd
commit
906b6b7337
2 changed files with 48 additions and 0 deletions
|
@ -262,6 +262,9 @@ class OCSClient {
|
|||
}
|
||||
|
||||
$tmp = $data->data->content;
|
||||
if (is_null($tmp)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$app = [];
|
||||
$app['id'] = (int)$tmp->id;
|
||||
|
|
|
@ -773,6 +773,51 @@ class OCSClientTest extends \Test\TestCase {
|
|||
];
|
||||
$this->assertSame($expected, $this->ocsClient->getApplication('MyId'));
|
||||
}
|
||||
public function testGetApplicationEmptyXml() {
|
||||
$this->config
|
||||
->expects($this->at(0))
|
||||
->method('getSystemValue')
|
||||
->with('appstoreenabled', true)
|
||||
->will($this->returnValue(true));
|
||||
$this->config
|
||||
->expects($this->at(1))
|
||||
->method('getSystemValue')
|
||||
->with('appstoreurl', 'https://api.owncloud.com/v1')
|
||||
->will($this->returnValue('https://api.owncloud.com/v1'));
|
||||
|
||||
$response = $this->getMock('\OCP\Http\Client\IResponse');
|
||||
$response
|
||||
->expects($this->once())
|
||||
->method('getBody')
|
||||
->will($this->returnValue('<?xml version="1.0"?>
|
||||
<ocs>
|
||||
<meta>
|
||||
<status>ok</status>
|
||||
<statuscode>100</statuscode>
|
||||
<message></message>
|
||||
</meta>
|
||||
</ocs>
|
||||
'));
|
||||
|
||||
$client = $this->getMock('\OCP\Http\Client\IClient');
|
||||
$client
|
||||
->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
'https://api.owncloud.com/v1/content/data/MyId',
|
||||
[
|
||||
'timeout' => 5,
|
||||
]
|
||||
)
|
||||
->will($this->returnValue($response));
|
||||
|
||||
$this->clientService
|
||||
->expects($this->once())
|
||||
->method('newClient')
|
||||
->will($this->returnValue($client));
|
||||
|
||||
$this->assertSame(null, $this->ocsClient->getApplication('MyId'));
|
||||
}
|
||||
|
||||
public function testGetApplicationDownloadDisabledAppStore() {
|
||||
$this->config
|
Loading…
Reference in a new issue