Odyssey
v3Test.php
1 <?php
2 use PHPUnit\Framework\TestCase;
3 static $bankingDir = "/var/www/html/shared/library";
4 require_once("$bankingDir/v3UpdTest.i");
5 require_once("$bankingDir/hcuCommon.i");
6 // require_once("$bankingDir/hcuFunctions.i");
7 
8 class v3XMLTest extends TestCase
9 {
10 
11  /**
12  * @dataProvider enrollXMLProvider
13  */
14  public function test_enrollXML($xml, $expected)
15  {
16  $this->assertSame($expected, GetEnrollResponse($xml));
17  }
18 
19  /**
20  * @dataProvider sessionXMLProvider
21  */
22  public function test_sessionXML($xml, $expected)
23  {
24  $this->assertSame($expected, GetReqResponse($xml));
25  }
26 
27  public function enrollXMLProvider()
28  {
29  // (XML as if from iPay, expected_result)
30  return [
31  'enroll success' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572973506</RequestID><SubscriberCreate><Info><UserID>4309670</UserID><UserType>2</UserType></Info><Data><Subscriber><FIAdminApproval>0</FIAdminApproval><LoginID>666665</LoginID><FirstName>SILAS</FirstName><MiddleName>J</MiddleName><LastName>SCRUBBER</LastName><Email>miki@homecu.com</Email><HomePhone></HomePhone><WorkPhone></WorkPhone><SSN>ap32bgBCO01B2OTH3mWTkw==</SSN><AccountNumber>666665</AccountNumber><AccountType>1</AccountType><Address1>3040 ELDER ST</Address1><Address2></Address2><City>BOISE</City><State>ID</State><Zip>83705</Zip><DateOfBirth>1901-01-06</DateOfBirth></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T12:05:08</RequestReceived><RequestProcessStart>2019-11-05T12:05:08</RequestProcessStart><RequestProcessComplete>2019-11-05T12:05:09</RequestProcessComplete></Timestamp><Successful>true</Successful></ProcessStatus></Response></SubscriberCreate></MessageRequest></Message>',
32  ['true', NULL, NULL] ],
33 
34  'enroll fail' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572973506</RequestID><SubscriberCreate><Info /><Data><Subscriber><CompanyID>HomeCU</CompanyID><LoginID>666665</LoginID></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T12:05:06</RequestReceived><RequestProcessStart>2019-11-05T12:05:06</RequestProcessStart><RequestProcessComplete>2019-11-05T12:05:06</RequestProcessComplete></Timestamp><Successful>false</Successful><Error><Code>-101</Code><Message>Error creating subscriber.</Message></Error></ProcessStatus><Data><SessionID>Error</SessionID></Data></Response></SubscriberCreate></MessageRequest></Message>',
35  ['false', '-101', 'Error creating subscriber.'] ],
36 
37  'enroll duplicate' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572973506</RequestID><SubscriberCreate><Info /><Data><Subscriber><CompanyID>HomeCU</CompanyID><LoginID>666665</LoginID></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T12:05:06</RequestReceived><RequestProcessStart>2019-11-05T12:05:06</RequestProcessStart><RequestProcessComplete>2019-11-05T12:05:06</RequestProcessComplete></Timestamp><Successful>false</Successful><Error><Code>-100</Code><Message>Subscriber already exists.</Message></Error></ProcessStatus><Data><SessionID>Error</SessionID></Data></Response></SubscriberCreate></MessageRequest></Message>',
38  ['false', '-100', 'Subscriber already exists.'] ]
39 
40  ];
41  }
42 
43  public function sessionXMLProvider()
44  {
45  // (XML as if from iPay, expected_result)
46 
47 
48 
49  return [
50  'session success' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572972147</RequestID><Session><Info /><Data><Subscriber><CompanyID>HomeCU</CompanyID><LoginID>666665</LoginID></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T11:42:27</RequestReceived><RequestProcessStart>2019-11-05T11:42:27</RequestProcessStart><RequestProcessComplete>2019-11-05T11:42:27</RequestProcessComplete></Timestamp><Successful>true</Successful></ProcessStatus><Data><SessionID>052074104120050097069107109086101053122116112071115087075117097081061061</SessionID></Data></Response></Session></MessageRequest></Message>',
51  ['true','052074104120050097069107109086101053122116112071115087075117097081061061', NULL, NULL] ],
52 
53  'session failed' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572973506</RequestID><Session><Info /><Data><Subscriber><CompanyID>HomeCU</CompanyID><LoginID>666665</LoginID></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T12:05:06</RequestReceived><RequestProcessStart>2019-11-05T12:05:06</RequestProcessStart><RequestProcessComplete>2019-11-05T12:05:06</RequestProcessComplete></Timestamp><Successful>false</Successful><Error><Code>-100</Code><Message>Subscriber record was not found.</Message></Error></ProcessStatus><Data><SessionID>Error</SessionID></Data></Response></Session></MessageRequest></Message>',
54  ['false', 'Error', '-100', 'Subscriber record was not found.'] ],
55 
56  'session badXML' => ['<Message><InstitutionID>99999</InstitutionID><Security><IV>jee9Voofa7eiphai</IV><AuthToken>2xx7J3+vcqPORqx5Q7uBIhLRVF7fTcxnG2S14HwkPp0=</AuthToken></Security><MessageRequest><RequestID>1572972147</RequestID><Session><Info /><Data><Subscriber><CompanyID>HomeCU</CompanyID><LoginID>666665</LoginID></Subscriber></Data><Response><ProcessStatus><Timestamp><RequestReceived>2019-11-05T11:42:27</RequestReceived><RequestProcessStart>2019-11-05T11:42:27</RequestProcessStart><RequestProcessComplete>2019-11-05T11:42:27</RequestProcessComplete></Timestamp><Successful>true</Successful></ProcessStatus><Data><SessionID>052074104120050097069107109086101053122116112071115087075117097081061061</SessionID></Data></Response></Session></MessageRequest><hcu></Message>',
57  [NULL, NULL, NULL, 'XML parse response failed 9'] ]
58 
59  ];
60  }
61 }
test_enrollXML($xml, $expected)
Definition: v3Test.php:14
test_sessionXML($xml, $expected)
Definition: v3Test.php:22