コード例 #1
0
ファイル: Client.php プロジェクト: l3l0/php-travis-client
 public function fetchRepository($slug)
 {
     $repositoryUrl = sprintf('%s/%s.json', $this->apiUrl, $slug);
     $buildsUrl = sprintf('%s/%s/builds.json', $this->apiUrl, $slug);
     $repository = new Repository();
     $repositoryArray = json_decode($this->browser->get($repositoryUrl)->getContent(), true);
     if (!$repositoryArray) {
         throw new \UnexpectedValueException(sprintf('Response is empty for url %s', $repositoryUrl));
     }
     $repository->fromArray($repositoryArray);
     $buildCollection = new BuildCollection(json_decode($this->browser->get($buildsUrl)->getContent(), true));
     $repository->setBuilds($buildCollection);
     return $repository;
 }
コード例 #2
0
 /**
  * @test
  */
 public function shouldLoadDataFromArray()
 {
     $repository = new Repository();
     $repository->fromArray(array('slug' => 'travis-ci/travis-ci', 'description' => 'travis ci project', 'last_build_id' => 61817, 'last_build_started_at' => '2011-08-01T14:50:07Z', 'last_build_status' => 0, 'last_build_number' => '721', 'last_build_duration' => '11', 'id' => 59, 'status' => 'stable', 'public_key' => 'MIGJAoGBALEXzQFoNltkT4PBHJiC+UXCcIfdJNvObnT2IspuDOAISNnUVRBaAAs=', 'last_build_finished_at' => '2011-08-01T14:56:44Z', 'builds' => array(array('id' => 111))));
     $this->assertEquals(59, $repository->getId());
     $this->assertEquals('travis-ci/travis-ci', $repository->getSlug());
     $this->assertEquals(61817, $repository->getLastBuildId());
     $this->assertEquals('2011-08-01 14:50:07', $repository->getLastBuildStartedAt()->format('Y-m-d H:i:s'));
     $this->assertEquals(0, $repository->getLastBuildStatus());
     $this->assertEquals('721', $repository->getLastBuildNumber());
     $this->assertEquals('11', $repository->getLastBuildDuration());
     $this->assertEquals('stable', $repository->getStatus());
     $this->assertEquals('2011-08-01 14:56:44', $repository->getLastBuildFinishedAt()->format('Y-m-d H:i:s'));
     $this->assertEquals(111, $repository->getBuilds()->first()->getId());
     $this->assertEquals('travis ci project', $repository->getDescription());
     $this->assertEquals('MIGJAoGBALEXzQFoNltkT4PBHJiC+UXCcIfdJNvObnT2IspuDOAISNnUVRBaAAs=', $repository->getPublicKey());
 }