Skip to content

Commit 6b840ca

Browse files
added some unit tests
1 parent 886be51 commit 6b840ca

3 files changed

Lines changed: 71 additions & 59 deletions

File tree

phpunit.xml.dist

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,16 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
3-
<phpunit backupGlobals="false"
4-
backupStaticAttributes="false"
5-
colors="true"
6-
convertErrorsToExceptions="true"
7-
convertNoticesToExceptions="false"
8-
convertWarningsToExceptions="true"
9-
processIsolation="false"
10-
stopOnFailure="false"
11-
bootstrap="vendor/autoload.php"
12-
>
13-
<testsuites>
14-
<testsuite name="SoftLayer PHP Client test suite">
15-
<directory suffix="Test.php">./tests</directory>
16-
</testsuite>
17-
</testsuites>
18-
19-
<filter>
20-
<whitelist>
21-
<directory>./</directory>
22-
<exclude>
23-
<directory>./tests</directory>
24-
</exclude>
25-
</whitelist>
26-
</filter>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="false" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" bootstrap="vendor/autoload.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
3+
<coverage>
4+
<include>
5+
<directory>./</directory>
6+
</include>
7+
<exclude>
8+
<directory>./tests</directory>
9+
</exclude>
10+
</coverage>
11+
<testsuites>
12+
<testsuite name="SoftLayer PHP Client test suite">
13+
<directory suffix="Test.php">./tests</directory>
14+
</testsuite>
15+
</testsuites>
2716
</phpunit>

src/SoapClient.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,4 +509,34 @@ public function handleAsyncResult($functionName, $result)
509509

510510
return $this->__call($functionName, array());
511511
}
512+
513+
/**
514+
* Returns the headers set for this client object.
515+
*
516+
* @return array
517+
*/
518+
public function getHeaders()
519+
{
520+
return $this->_headers;
521+
}
522+
523+
/**
524+
* Returns the service name
525+
*
526+
* @return array
527+
*/
528+
public function getServiceName()
529+
{
530+
return $this->_serviceName;
531+
}
532+
533+
/**
534+
* Returns the endpoint URL
535+
*
536+
* @return array
537+
*/
538+
public function getEndpointUrl()
539+
{
540+
return $this->_endpointUrl;
541+
}
512542
}

tests/SoapClientTest.php

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,5 @@
11
<?php
22

3-
/*
4-
* Copyright (c) 2009 - 2010, SoftLayer Technologies, Inc. All rights reserved.
5-
*
6-
* Redistribution and use in source and binary forms, with or without
7-
* modification, are permitted provided that the following conditions are met:
8-
*
9-
* * Redistributions of source code must retain the above copyright notice,
10-
* this list of conditions and the following disclaimer.
11-
* * Redistributions in binary form must reproduce the above copyright notice,
12-
* this list of conditions and the following disclaimer in the documentation
13-
* and/or other materials provided with the distribution.
14-
* * Neither SoftLayer Technologies, Inc. nor the names of its contributors may
15-
* be used to endorse or promote products derived from this software without
16-
* specific prior written permission.
17-
*
18-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19-
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21-
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
22-
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23-
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24-
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25-
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26-
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27-
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28-
* POSSIBILITY OF SUCH DAMAGE.
29-
*/
30-
313
namespace SoftLayer\Tests;
324

335
use PHPUnit\Framework\TestCase;
@@ -38,14 +10,35 @@
3810
*/
3911
class SoapClientTest extends TestCase
4012
{
41-
/**
42-
* @expectedException \Exception
43-
* @expectedExceptionMessage There was an error querying the SoftLayer API: Invalid API token.
44-
*/
45-
public function testSoapClientException()
13+
14+
public function testGetClient()
15+
{
16+
$client = SoapClient::getClient('SoftLayer_Ticket', 123456, 'apiUsername', 'apiKey');
17+
$headers = $client->getHeaders();
18+
$this->assertEquals('apiUsername', $headers['authenticate']->data->username);
19+
$this->assertEquals('apiKey', $headers['authenticate']->data->apiKey);
20+
$this->assertEquals(123456, $headers['SoftLayer_TicketInitParameters']->data->id);
21+
}
22+
23+
public function testSetObjectMask()
24+
{
25+
$client = SoapClient::getClient('SoftLayer_Ticket', 123456, 'apiUsername', 'apiKey');
26+
$mask = "mask[id,test]";
27+
$client->setObjectMask($mask);
28+
$headers = $client->getHeaders();
29+
$this->assertEquals($mask, $headers['SoftLayer_ObjectMask']->data->mask);
30+
}
31+
32+
public function testSetObjecFilter()
4633
{
4734
$client = SoapClient::getClient('SoftLayer_Ticket', 123456, 'apiUsername', 'apiKey');
35+
$filter = new \stdClass();
36+
$filter->test1 = new \stdClass();
37+
$filter->test1->operation = "testFilter";
38+
$client->setObjectFilter($filter);
4839

49-
$client->getObject();
40+
$headers = $client->getHeaders();
41+
print_r($headers);
42+
$this->assertEquals("testFilter", $headers['SoftLayer_TicketObjectFilter']->data->test1->operation);
5043
}
5144
}

0 commit comments

Comments
 (0)