public function testTimeDimensionLoadData()
 {
     $pid = Helper::getSomeProject();
     Helper::cleanUpProject($pid);
     $name = 't' . uniqid();
     $dir = sys_get_temp_dir() . '/' . uniqid();
     mkdir($dir);
     $timeDimension = new TimeDimension($this->client);
     $timeDimension->create($pid, $name);
     $timeDimension->loadData($pid, $name, $dir);
     $result = $this->client->get("/gdc/md/{$pid}/data/sets");
     $this->assertArrayHasKey('dataSetsInfo', $result);
     $this->assertArrayHasKey('sets', $result['dataSetsInfo']);
     $this->assertCount(1, $result['dataSetsInfo']['sets']);
     $this->assertArrayHasKey('meta', $result['dataSetsInfo']['sets'][0]);
     $this->assertArrayHasKey('identifier', $result['dataSetsInfo']['sets'][0]['meta']);
     $this->assertEquals("dataset.time.{$name}", $result['dataSetsInfo']['sets'][0]['meta']['identifier']);
     $this->assertArrayHasKey('lastUpload', $result['dataSetsInfo']['sets'][0]);
     $this->assertArrayHasKey('dataUploadShort', $result['dataSetsInfo']['sets'][0]['lastUpload']);
     $this->assertArrayHasKey('status', $result['dataSetsInfo']['sets'][0]['lastUpload']['dataUploadShort']);
     $this->assertEquals("OK", $result['dataSetsInfo']['sets'][0]['lastUpload']['dataUploadShort']['status']);
 }
 public function testProjectsClone()
 {
     // Get and clean first project
     $pid1 = Helper::getSomeProject();
     Helper::cleanUpProject($pid1);
     $result = $this->client->get("/gdc/md/{$pid1}/data/sets");
     $this->assertArrayHasKey('dataSetsInfo', $result);
     $this->assertArrayHasKey('sets', $result['dataSetsInfo']);
     $this->assertCount(0, $result['dataSetsInfo']['sets']);
     // Build model in first project
     Helper::initProjectModel($pid1);
     $result = $this->client->get("/gdc/md/{$pid1}/data/sets");
     $this->assertArrayHasKey('dataSetsInfo', $result);
     $this->assertArrayHasKey('sets', $result['dataSetsInfo']);
     $this->assertCount(4, $result['dataSetsInfo']['sets']);
     // Create second project
     $pid2 = Helper::createProject();
     $result = $this->client->get("/gdc/md/{$pid2}/data/sets");
     $this->assertArrayHasKey('dataSetsInfo', $result);
     $this->assertArrayHasKey('sets', $result['dataSetsInfo']);
     $this->assertCount(0, $result['dataSetsInfo']['sets']);
     // Execute cloning
     $projects = new Projects($this->client);
     $projects->cloneProject($pid1, $pid2);
     $result = $this->client->get("/gdc/md/{$pid2}/data/sets");
     $this->assertArrayHasKey('dataSetsInfo', $result);
     $this->assertArrayHasKey('sets', $result['dataSetsInfo']);
     $this->assertCount(4, $result['dataSetsInfo']['sets']);
 }