public function testGetRemoteFile()
 {
     $this->createConfig();
     $this->createAccount();
     $file = new File(['id' => 0, 'title' => 'Test Sheet', 'tableId' => $this->tableId, 'targetFolder' => '0B8ceg4OWLR3lelQzMm9pcDEyNHc', 'type' => 'sheet']);
     // add files to config
     $this->configuration->addFile($this->accountId, $file->toArray());
     // run
     $job = $this->processJob($this->componentName . '/run');
     $this->assertEquals('success', $job->getStatus());
     $files = $this->configuration->getFiles($this->accountId);
     /** @var File $file */
     $file = array_shift($files);
     // call the API
     $this->httpClient->restart();
     $this->httpClient->request('GET', sprintf('%s/remote-file/%s/%s', $this->componentName, $this->accountId, $file->getGoogleId()));
     $response = $this->httpClient->getResponse();
     $body = json_decode($response->getContent(), true);
     $this->assertEquals(200, $response->getStatusCode());
     $this->assertArrayHasKey('id', $body);
     $this->assertArrayHasKey('name', $body);
     $this->assertArrayHasKey('title', $body);
     $this->assertArrayHasKey('parents', $body);
     $this->assertArrayHasKey('mimeType', $body);
     $this->assertArrayHasKey('trashed', $body);
     $this->assertArrayHasKey('alternateLink', $body);
     $this->assertArrayHasKey('webViewLink', $body);
     $this->assertNotEmpty($body['id']);
     $this->assertNotEmpty($body['name']);
     $this->assertNotEmpty($body['title']);
     $this->assertNotEmpty($body['alternateLink']);
     $this->assertNotEmpty($body['webViewLink']);
 }