Skip to content

Commit f12afbf

Browse files
committed
SWI-1859 Get Tests Running in CI/CD
1 parent db1c916 commit f12afbf

24 files changed

+140
-41
lines changed

.github/workflows/test.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Test
2+
3+
on:
4+
schedule:
5+
- cron: "0 4 * * *"
6+
pull_request:
7+
workflow_dispatch:
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.head_ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
test:
15+
name: Test
16+
runs-on: ${{ matrix.os }}
17+
strategy:
18+
matrix:
19+
os: [windows-2022, windows-2019, ubuntu-20.04, ubuntu-22.04]
20+
php-version: [8.0, 8.1, 8.2, 8.3]
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v3
24+
25+
- name: Setup PHP
26+
uses: shivammathur/setup-php@v2
27+
with:
28+
php-version: ${{ matrix.php-version }}
29+
30+
- name: Install Packages
31+
run: composer install
32+
33+
- name: Test
34+
env:
35+
run: ./vendor/bin/phpunit tests
36+
37+
- uses: Bandwidth/build-notify-slack-action@v1.0.0
38+
if: failure() && !github.event.pull_request.draft
39+
with:
40+
job-status: ${{ job.status }}
41+
slack-bot-token: ${{ secrets.SLACK_BOT_TOKEN }}
42+
slack-channel: ${{ secrets.SLACK_CHANNEL }}

.phpunit.result.cache

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"version":1,"defects":{"AccountTest::testAvailableNumbersError":4,"BadCredsTest::testAuthFail":4,"DisconnectsTest::testDisconnectCreate":3,"DisconnectsTest::testDisconnectsGet":3,"DisconnectsTest::testDisconnectGet":4,"NotesRefTest::testNotesDisconnects":4,"NotesTest::testNoteCreate":4,"NotesTest::testNotesGet":1,"NotesTest::testNotesGetTwoItems":1,"PortinsTest::testPortinsSetActivationStatus":3,"PortinsTest::testPortinsUpdate":3,"PortinsTest::testPortinsGet":3,"PortinsTest::testPortinGet":3,"PortinsTest::testPortinsHistory":3,"PortinsTest::testTotals":3,"PortinsTest::testLoasSend":4},"times":{"AccountTest::testLineOption":0.007,"AccountTest::testAvailableNumbersSingle":0.001,"AccountTest::testAvailableNumbers":0.001,"AccountTest::testAvailableNumbers2":0,"AccountTest::testAvailableNumbersError":0.003,"AccountTest::testAvailableNumbersNoResults":0,"AccountTest::testTnReservation":0,"AccountTest::testGetTnReservation":0,"AccountTest::testDeleteTnReservation":0,"AccountTest::testlnpChecker":0.003,"AccountTest::testNpaGet":0.001,"AccountTest::testInserviceGet":0,"AccountTest::testInserviceTotals":0,"AccountTest::testDiscNumbersGet":0,"AccountTest::testDisknumbersTotals":0,"AccountTest::testBdr":0.001,"AccountTest::testBillingReports":0.001,"AccountTest::testBillingReportRequest":0.001,"AccountTest::testBillingReportReadyAndDownload":0,"AccountTest::testGetImportTnOrder":0.002,"AccountTest::testRemoveImportedTnOrder":0.001,"AccountTest::testGetInserviceNumbers":0,"AccountTest::testCheckTnsPortability":0.001,"AccountTest::testCreateCsrOrder":0.001,"AccountTest::testGetCsrOrder":0.001,"AccountTest::testReplaceCsrOrder":0.001,"AccountTest::testGetCsrOrderNotes":0.001,"AccountTest::testGetImportTnOrderLoas":0,"AccountTest::testGetImportTnOrderLoaFileMetadata":0,"AccountTest::testGetAlternateEndUserInformation":0,"AccountTest::testGetAlternateCallerInformation":0,"AccountTest::testCreateEmergencyNotificationEndpointOrder":0,"AccountTest::testGetEmergencyNotificationEndpointOrders":0,"AccountTest::testGetEmergencyNotificationEndpointOrder":0,"AccountTest::testCreateEmergencyNotificationGroupOrder":0,"AccountTest::testGetEmergencyNotificationGroupOrders":0,"AccountTest::testGetEmergencyNotificationGroupOrder":0,"AccountTest::testGetEmergencyNotificationGroups":0,"AccountTest::testGetEmergencyNotificationGroup":0,"AccountTest::testCreateEmergencyNotificationRecipient":0,"AccountTest::testGetEmergencyNotificationRecipients":0,"AccountTest::testGetEmergencyNotificationRecipient":0,"AccountTest::testReplaceEmergencyNotificationRecipient":0,"AccountTest::testGetApplications":0,"AccountTest::testGetApplicationsOneResponse":0,"AccountTest::testGetApplication":0,"AccountTest::testCreateApplication":0,"AccountTest::testUpdateApplication":0,"AccountTest::testDeleteApplication":0,"AccountTest::testGetApplicationSippeers":0,"AccountTest::testGetApplicationSippeersOneResponse":0,"BadCredsTest::testAuthFail":0,"BaseModelTest::testContent":0,"BaseModelTest::testArray":0,"CoveredRateCenterTest::testTnsGet":0.002,"CoveredRateCenterTest::testTnGet":0.001,"DisconnectsTest::testDisconnectCreate":0.002,"DisconnectsTest::testDisconnectsGet":0.001,"DisconnectsTest::testDisconnectGet":0,"DldasTest::testLidbsPost":0.006,"DldasTest::testDldasGet":0.001,"DldasTest::testLidbGet":0.002,"DldasTest::testPut":0.003,"DldasTest::testLidbHistory":0.001,"LidbsTest::testLidbsGet":0.001,"LidbsTest::testLidbsPost":0.002,"LidbsTest::testLidbGet":0.002,"NotesRefTest::testNotesDisconnects":0,"NotesRefTest::testNotesOrders":0.001,"NotesRefTest::testNotesPortins":0.001,"NotesRefTest::testNotesPortouts":0.001,"NotesTest::testNoteCreate":0,"NotesTest::testNotesGet":0,"NotesTest::testNotesGetTwoItems":0,"OrderTest::testGetOrders":0.001,"OrderTest::testGetOrdersSingle":0.001,"OrderTest::testGetOrdersEmpty":0,"OrderTest::testOrderCreate":0.001,"OrderTest::testOrderGet":0.002,"OrderTest::testOrderPostArea":0.001,"OrderTest::testOrderRateCenter":0.001,"OrderTest::testOrderNpaNxx":0.001,"OrderTest::testOrderTollFree":0,"OrderTest::testOrderTollWildCard":0.001,"OrderTest::testOrderState":0.001,"OrderTest::testOrderCity":0.001,"OrderTest::testOrderZip":0.001,"OrderTest::testOrderLata":0.001,"OrderTest::testOrderPost":0,"OrderTest::testReservedPost":0.001,"OrderTest::testOrderTns":0.001,"OtherTest::testCitiesGet":0,"OtherTest::testRC":0,"PortinsTest::testPortinsCreate":0.003,"PortinsTest::testPortinsLoasDelete":0.001,"PortinsTest::testPortinsLoasGetMetadata":0,"PortinsTest::testPortinsLoasSetMetadata":0.001,"PortinsTest::testPortinsLoasDeleteMetadata":0,"PortinsTest::testPortinsGetLoas":0,"PortinsTest::testPortinsDelete":0,"PortinsTest::testPortinsGetActivationStatus":0,"PortinsTest::testPortinsSetActivationStatus":0.001,"PortinsTest::testPortinsUpdate":0.001,"PortinsTest::testPortinsGet":0.002,"PortinsTest::testPortinGet":0.002,"PortinsTest::testPortinsHistory":0.001,"PortinsTest::testTotals":0,"PortinsTest::testLoasSend":0.001,"ReportsTest::testReportsGet":0,"ReportsTest::testReportsGetIdAndInstances":0.003,"SippeersTest::testSippeerCreate":0.001,"SippeersTest::testSippeersGet":0.002,"SippeersTest::testSippeersGetOne":0.001,"SippeersTest::testSippeerGet":0.001,"SippeersTest::testSippeerUpdate":0,"SippeersTest::testSippeerDelete":0,"SippeersTest::testMoveTNs":0,"SippeersTest::testTNOptions":0.001,"SippeersTest::testGetTN":0,"SippeersTest::testGetTNs":0.001,"SippeersTest::testTotaltns":0,"SiteTest::testSiteCreate":0,"SiteTest::testSiteGet":0,"SiteTest::testSiteGetOne":0,"SiteTest::testSiteUpdate":0,"SiteTest::testSiteDelete":0,"SiteTest::testSiteOrders":0,"SiteTest::testSiteOrder":0,"SiteTest::testSiteOrderTns":0,"SiteTest::testSiteTotalTns":0,"SiteTest::testPortinsGet":0.003,"SubscriptionsTest::testSubsCreate":0.001,"SubscriptionsTest::testSubsGet":0,"SubscriptionsTest::testSubGet":0.001,"SubscriptionsTest::testSubPut":0.001,"SubscriptionsTest::testSubDelete":0,"TnsTest::testTnsGet":0.001,"TnsTest::testTnGet":0,"TnsTest::testSiteGet":0.001,"TnsTest::testSippeerGet":0.001,"TnsTest::testTNReservationGet":0.001,"TnsTest::testTnDetails":0.003,"TnsTest::testTnRatecenter":0,"TnsTest::testTnLata":0,"TnsTest::testTnLca":0.002,"UsersTest::testUsersGet":0.004,"UsersTest::testUserPassword":0}}

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
"guzzlehttp/guzzle": "~7.0"
1414
},
1515
"require-dev": {
16-
"phpunit/phpunit": "~4.7"
17-
},
18-
"config": {
19-
"bin-dir": "bin"
16+
"phpunit/phpunit": "^9"
2017
},
2118
"autoload": {
19+
"psr-4": {
20+
"BandwidthLib\\": "src/"
21+
},
2222
"classmap": [
2323
"src/",
2424
"core/"

phpunit.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<phpunit backupGlobals="false"
3+
backupStaticAttributes="false"
4+
colors="true"
5+
convertErrorsToExceptions="true"
6+
convertNoticesToExceptions="true"
7+
convertWarningsToExceptions="true"
8+
processIsolation="false"
9+
stopOnError="false"
10+
stopOnFailure="false"
11+
verbose="true"
12+
>
13+
<testsuites>
14+
<testsuite name="SDK Test Suite">
15+
<directory suffix="Test.php">./tests</directory>
16+
</testsuite>
17+
</testsuites>
18+
</phpunit>

tests/AccountTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
use GuzzleHttp\Psr7\Response;
66
use GuzzleHttp\Middleware;
77

8-
class AccountTest extends PHPUnit_Framework_TestCase {
8+
use PHPUnit\Framework\TestCase;
9+
10+
class AccountTest extends TestCase {
911
public static $container;
1012
public static $account;
1113
public static $index = 0;
1214

13-
public static function setUpBeforeClass() {
15+
public static function setUpBeforeClass(): void {
1416
$mock = new MockHandler([
1517
new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <LineOptionOrderResponse><LineOptions> <CompletedNumbers><TelephoneNumber>2013223685</TelephoneNumber> </CompletedNumbers><Errors><Error><TelephoneNumber>5209072452</TelephoneNumber> <ErrorCode>5071</ErrorCode><Description>Telephone number is not available on the system.</Description></Error> <Error><TelephoneNumber>5209072451</TelephoneNumber> <ErrorCode>13518</ErrorCode><Description>CNAM for telephone number is applied at the Location level and it is notapplicable at the TN level.</Description> </Error></Errors> </LineOptions></LineOptionOrderResponse>"),
1618
new Response(200, [], "<?xml version=\"1.0\"?> <SearchResult><ResultCount>1</ResultCount> <TelephoneNumberDetailList><TelephoneNumberDetail> <City>KNIGHTDALE</City> <LATA>426</LATA> <RateCenter>KNIGHTDALE</RateCenter> <State>NC</State> <FullNumber>9192956932</FullNumber> <Tier>0</Tier><VendorId>49</VendorId> <VendorName>Bandwidth CLEC</VendorName></TelephoneNumberDetail> </TelephoneNumberDetailList></SearchResult>"),
@@ -74,6 +76,8 @@ public static function setUpBeforeClass() {
7476

7577
$client = new Iris\Client("test", "test", Array('url' => 'https://api.test.inetwork.com/v1.0', 'handler' => $handler));
7678
self::$account = new Iris\Account(9500249, $client);
79+
80+
return;
7781
}
7882

7983
public function testLineOption() {

tests/BadCredsTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
use GuzzleHttp\Psr7\Response;
55
use GuzzleHttp\Middleware;
66

7-
class BadCredsTest extends PHPUnit_Framework_TestCase {
7+
use PHPUnit\Framework\TestCase;
8+
9+
class BadCredsTest extends TestCase {
810
public static $container;
911
public static $client;
1012
public static $index = 0;
1113

12-
public static function setUpBeforeClass() {
14+
public static function setUpBeforeClass(): void {
1315
$mock = new MockHandler([
1416
new Response(401, [], ""),
1517
]);

tests/BaseModelTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?phpclass Model { use \Iris\BaseModel; protected $fields = array( "Id" => array("type" => "string"), "Status" => array("type" => "\Iris\Status") ); public function __construct($data) { $this->set_data($data); }}class ArrModel { use \Iris\BaseModel; protected $fields = array( "Item" => array("type" => "ItemModel") ); public function __construct($data) { $this->set_data($data); }}class ItemModel { use \Iris\BaseModel; protected $fields = array( "Phone" => array("type" => "string") ); public function __construct($data) { $this->set_data($data); }}class BaseModelTest extends PHPUnit_Framework_TestCase { public function setUp() { } public function testContent() { $this->model = new Model(array("Id" => "123", "Status" => array("Code" => "0", "Description" => "Empty"))); $this->assertEquals("123", $this->model->Id); $this->assertEquals("0", $this->model->Status->Code); $this->model->set_data(array("Id" => "222", "Status" => array("Code" => "200", "Description" => "Hello"))); $this->assertEquals("222", $this->model->Id); $this->assertEquals("200", $this->model->Status->Code); } public function testArray() { $this->arrModel = new ArrModel(["Item" => [ ["Phone" => "1"], ["Phone" => "2"] ]]); $this->assertEquals("1", $this->arrModel->Item[0]->Phone); $arr = $this->arrModel->to_array(); $this->assertEquals("1", $arr["Item"][0]["Phone"]); }}
1+
<?phpuse PHPUnit\Framework\TestCase;class Model { use \Iris\BaseModel; protected $fields = array( "Id" => array("type" => "string"), "Status" => array("type" => "\Iris\Status") ); public function __construct($data) { $this->set_data($data); }}class ArrModel { use \Iris\BaseModel; protected $fields = array( "Item" => array("type" => "ItemModel") ); public function __construct($data) { $this->set_data($data); }}class ItemModel { use \Iris\BaseModel; protected $fields = array( "Phone" => array("type" => "string") ); public function __construct($data) { $this->set_data($data); }}class BaseModelTest extends TestCase { public function setUp(): void { } public function testContent() { $this->model = new Model(array("Id" => "123", "Status" => array("Code" => "0", "Description" => "Empty"))); $this->assertEquals("123", $this->model->Id); $this->assertEquals("0", $this->model->Status->Code); $this->model->set_data(array("Id" => "222", "Status" => array("Code" => "200", "Description" => "Hello"))); $this->assertEquals("222", $this->model->Id); $this->assertEquals("200", $this->model->Status->Code); } public function testArray() { $this->arrModel = new ArrModel(["Item" => [ ["Phone" => "1"], ["Phone" => "2"] ]]); $this->assertEquals("1", $this->arrModel->Item[0]->Phone); $arr = $this->arrModel->to_array(); $this->assertEquals("1", $arr["Item"][0]["Phone"]); }}

tests/CoveredRateCentersTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
use GuzzleHttp\Psr7\Response;
55
use GuzzleHttp\Middleware;
66

7-
class CoveredRateCenterTest extends PHPUnit_Framework_TestCase {
7+
use PHPUnit\Framework\TestCase;
8+
9+
class CoveredRateCenterTest extends TestCase {
810
public static $container;
911
public static $rcs;
1012
public static $index = 0;
1113

12-
public static function setUpBeforeClass() {
14+
public static function setUpBeforeClass(): void {
1315
$mock = new MockHandler([
1416
new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <CoveredRateCenters><TotalCount>18</TotalCount> <Links><first>Link=&lt;https://dashboard.bandwidth.com/api/coveredRateCenters?npa=310&amp;size=10&amp;e mbed=Cities&amp;embed=ZipCodes&amp;embed=NpaNxxX&amp;page=1&gt;;rel=\"first\";</first><next>Link=&lt;https://dashboard.bandwidth.com/api/coveredRateCenters?npa=310&amp;size=10&amp;e mbed=Cities&amp;embed=ZipCodes&amp;embed=NpaNxxX&amp; page=5&gt;;rel=\"next\";</next></Links> <CoveredRateCenter><Name>AVALON</Name><Abbreviation>AVALON</Abbreviation> <State>CA</State><Lata>730</Lata> <AvailableNumberCount>1</AvailableNumberCount> <ZipCodes><ZipCode>90731</ZipCode> </ZipCodes><Cities><City>SAN PEDRO</City> </Cities><Tiers> <Tier>0</Tier></Tiers> <NpaNxxXs><NpaNxxX>3105100</NpaNxxX> <NpaNxxX>3105101</NpaNxxX> <NpaNxxX>3109498</NpaNxxX> <NpaNxxX>3109499</NpaNxxX> <NpaNxxX>4242260</NpaNxxX></NpaNxxXs><Id>1</Id> </CoveredRateCenter> <CoveredRateCenter><Name>BEVERLY HILLS</Name> <Abbreviation>BEVERLYHLS</Abbreviation> <State>CA</State><Lata>730</Lata><AvailableNumberCount>25</AvailableNumberCount> <ZipCodes><ZipCode>90013</ZipCode> <ZipCode>90014</ZipCode> <ZipCode>90015</ZipCode><ZipCode>91504</ZipCode><ZipCode>91505</ZipCode> </ZipCodes><Cities><City>BEVERLY HILLS</City> <City>BURBANK</City> <City>GARDENA</City> <City>LOS ANGELES</City> <City>SHERMAN OAKS</City> <City>SUN VALLEY</City> <City>VAN NUYS</City></Cities> <Tiers><Tier>0</Tier> </Tiers><NpaNxxXs> <NpaNxxX>3102010</NpaNxxX><NpaNxxX>3102011</NpaNxxX><NpaNxxX>3102012</NpaNxxX><NpaNxxX>4247777</NpaNxxX> <NpaNxxX>4247778</NpaNxxX> <NpaNxxX>4247779</NpaNxxX></NpaNxxXs><Id>3</Id> </CoveredRateCenter></CoveredRateCenters>"),
1517
new Response(200, [], "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <CoveredRateCenters><CoveredRateCenter><Name>AVALON</Name><Abbreviation>AVALON</Abbreviation> <State>CA</State><Lata>730</Lata> <AvailableNumberCount>1</AvailableNumberCount> <ZipCodes><ZipCode>90731</ZipCode> </ZipCodes><Cities><City>SAN PEDRO</City> </Cities><Tiers> <Tier>0</Tier></Tiers> <NpaNxxXs><NpaNxxX>3105100</NpaNxxX> <NpaNxxX>3105101</NpaNxxX> <NpaNxxX>3109498</NpaNxxX> <NpaNxxX>3109499</NpaNxxX> <NpaNxxX>4242260</NpaNxxX></NpaNxxXs><Id>1</Id> </CoveredRateCenter></CoveredRateCenters>"),

0 commit comments

Comments
 (0)