示例#1
0
 /**
  * @dataProvider dataProviderTestMergeResponses
  *
  * Test the merging of multiple responses
  * @param $statusCode1
  * @param $statusCode2
  * @param $succeeded
  */
 public function testMultipleMergeResponses($shipped1, $statusCode1, $shipped2, $statusCode2, $succeeded)
 {
     // Tests that app responses are merged correctly
     // Setup some data arrays
     $data1 = array('users' => array('tom' => array('key' => 'value'), 'frank' => array('key' => 'value')));
     $data2 = array('users' => array('tom' => array('key' => 'newvalue'), 'jan' => array('key' => 'value')));
     // Two shipped success results
     $result = OC_API::mergeResponses(array($this->buildResponse($shipped1, $data1, $statusCode1, "message1"), $this->buildResponse($shipped2, $data2, $statusCode2, "message2")));
     $this->checkResult($result, $succeeded);
     $resultData = $result->getData();
     $resultMeta = $result->getMeta();
     $resultStatusCode = $result->getStatusCode();
     $this->assertArrayHasKey('jan', $resultData['users']);
     // check if the returned status message matches the selected status code
     if ($resultStatusCode === 997) {
         $this->assertEquals('message1', $resultMeta['message']);
     } elseif ($resultStatusCode === 998) {
         $this->assertEquals('message2', $resultMeta['message']);
     } elseif ($resultStatusCode === 100) {
         $this->assertEquals(null, $resultMeta['message']);
     }
 }