Google\Cloud\Tests\BigQuery\Connection\RestTest::testInsertJobUpload PHP Method

testInsertJobUpload() public method

public testInsertJobUpload ( )
    public function testInsertJobUpload()
    {
        $actualRequest = null;
        $config = ['configuration' => ['load' => ['destinationTable' => ['tableId' => 'myTableId', 'datasetId' => 'myDatasetId', 'projectId' => 'myProjectId']]]];
        $options = ['data' => 'justSomeData', 'projectId' => 'myProjectId'] + $config;
        $response = new Response(200, [], json_encode(['jobReference' => ['jobId' => 'myJobId']]));
        $this->requestWrapper->send(Argument::type('Psr\\Http\\Message\\RequestInterface'), Argument::type('array'))->will(function ($args) use(&$actualRequest, $response) {
            $request = $args[0];
            if ($request->getMethod() === 'POST') {
                $actualRequest = $request;
            }
            return $response;
        })->shouldBeCalledTimes(1);
        $rest = new Rest();
        $rest->setRequestWrapper($this->requestWrapper->reveal());
        $uploader = $rest->insertJobUpload($options);
        $uploader->upload();
        $metadata = $this->getMetadata($actualRequest);
        $this->assertEquals($config, $metadata);
        $this->assertInstanceOf(AbstractUploader::class, $uploader);
    }