public function testListingProjects() { $writer = new \Keboola\TableauServerWriter\Writer(TSW_SERVER_URL, TSW_USERNAME, TSW_PASSWORD, TSW_SITE, TSW_PROJECT_ID); $result = $writer->listProjects(); $this->assertGreaterThan(0, count($result)); $this->assertArrayHasKey('id', $result[0]); $this->assertArrayHasKey('name', $result[0]); $writer->logout(); }
print "{$config['parameters']['server_url']} is not a valid URL"; exit(1); } $writer = new \Keboola\TableauServerWriter\Writer($config['parameters']['server_url'], $config['parameters']['username'], isset($config['parameters']['#password']) ? $config['parameters']['#password'] : $config['parameters']['password'], isset($config['parameters']['site']) ? $config['parameters']['site'] : null); if (!empty($config['parameters']['project_id'])) { $writer->setProjectId($config['parameters']['project_id']); } elseif (!empty($config['parameters']['project_name'])) { $projectId = $writer->getProjectId($config['parameters']['project_name']); if (!$projectId) { print "Project with name {$config['parameters']['project_name']} does not exist on the server"; exit(1); } $writer->setProjectId($projectId); } if (!empty($config['parameters']['get_projects'])) { print json_encode($writer->listProjects()); } else { $filesCount = 0; foreach (glob($arguments['data'] . "/in/files/*") as $filename) { $fileInfo = pathinfo($filename); if (!isset($fileInfo['extension']) || $fileInfo['extension'] != 'manifest') { $manifest = Yaml::parse(file_get_contents($filename . '.manifest')); $writer->publishDatasource($manifest['name'], $filename); $filesCount++; } } print "Uploaded {$filesCount} files."; } $writer->logout(); exit(0); } catch (\GuzzleHttp\Exception\RequestException $e) {