Пример #1
0
 public function testProcessNoData()
 {
     $logHandler = new \Monolog\Handler\TestHandler();
     $logger = new \Monolog\Logger('test', [$logHandler]);
     Logger::setLogger($logger);
     $parser = new Json(Parser::create($logger));
     $parser->process([], 'empty');
     self::assertTrue($logHandler->hasDebug("No data returned in 'empty'"));
 }
Пример #2
0
 public function testNestedArrays()
 {
     $logHandler = new \Monolog\Handler\TestHandler();
     $parser = Parser::create(new \Monolog\Logger('test', [$logHandler]));
     $parser->getAnalyzer()->setNestedArrayAsJson(true);
     $data = [[1, 2, 3, [7, 8]], [4, 5, 6]];
     $parser->process($data);
     self::assertEquals(true, $logHandler->hasWarning("Unsupported array nesting in 'root'! Converting to JSON string."), "Warning should have been logged");
     self::assertEquals(file_get_contents($this->getDataDir() . 'NestedArraysJson.csv'), file_get_contents($parser->getCsvFiles()['root']));
 }
Пример #3
0
 /**
  * @return array
  */
 public function getMetadata()
 {
     return ['json_parser.struct' => $this->parser->getStruct()->getStruct(), 'json_parser.structVersion' => $this->parser->getStructVersion()];
 }
Пример #4
0
 protected function getParser()
 {
     return Parser::create(new \Monolog\Logger('test', [new \Monolog\Handler\TestHandler()]));
 }
Пример #5
0
 public function testGetDataTypeFromEndpoint()
 {
     $jobConfig = JobConfig::create(['endpoint' => 'resources/res.json']);
     $job = $this->getMockForAbstractClass('Keboola\\Juicer\\Extractor\\Job', [$jobConfig, RestClient::create(), new Json(Parser::create($this->getLogger('job', true)))]);
     $this->assertEquals($jobConfig->getEndpoint(), $this->callMethod($job, 'getDataType', []));
 }