Exemplo n.º 1
0
 public function it_returns_a_list_of_Projects_on_findProjects(Api $client, Repositories $repoApi, Repository $api, MessageInterface $response, MessageInterface $singleResponse)
 {
     $client->api('Repositories\\Repository')->willReturn($api);
     $client->api('Repositories')->willReturn($repoApi);
     $api->get('foo', 'bar')->willReturn($singleResponse);
     $repoApi->all('foo')->willReturn($response);
     $singleResponse->getContent()->willReturn('{"full_name": "foo/bar"}');
     $response->getContent()->willReturn('[{"full_name": "foo/bar"}]');
     $projects = $this->findProjects('foo/[bar|bazz]+$');
     $projects->shouldBeArray();
     $projects['foo/bar']->shouldHaveType('Rs\\Issues\\Project');
     $projects['foo/bar']->shouldHaveType('Rs\\Issues\\Bitbucket\\BitbucketProject');
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function findProjects($name)
 {
     return $this->requestProjects($name, function ($name) {
         list($user) = explode('/', $name);
         $api = $this->api->api('Repositories');
         /* @var Repositories $api */
         $data = json_decode($api->all($user)->getContent(), true);
         if (isset($data['error'])) {
             throw new \InvalidArgumentException($data['error']['message']);
         }
         return $data;
     }, 'full_name');
 }
Exemplo n.º 3
0
 /**
  * gets a file (content) from the repository.
  *
  * @param string $filename
  *
  * @return string
  */
 protected function getFile($filename)
 {
     $api = $this->api->api('Repositories\\Src');
     /* @var Src $api */
     try {
         $file = $api->raw($this->raw['owner']['username'], $this->raw['name'], 'master', $filename);
         /** @var Response $file */
         if ($file->isSuccessful()) {
             return $file->getContent();
         }
     } catch (\Exception $e) {
         //file not found
     }
 }
Exemplo n.º 4
0
 public function it_returns_its_issues(Api $client, Issues $issuesApi, PullRequests $mergesApi, MessageInterface $response)
 {
     $client->api('Repositories\\Issues')->willReturn($issuesApi);
     $client->api('Repositories\\PullRequests')->willReturn($mergesApi);
     $response->getContent()->shouldBeCalled()->willReturn('{ "issues":[{"status" : "open"},{ "status" : "closed"}], "values":[{"status" : "open"},{ "status" : "closed"}] }');
     $issuesApi->all('foo', 'bar', ['state' => 'OPEN'])->shouldBeCalled()->willReturn($response);
     $mergesApi->all('foo', 'bar', ['state' => 'OPEN'])->shouldBeCalled()->willReturn($response);
     $result = $this->getIssues();
     $result->shouldHaveCount(2);
     $result[0]->shouldHaveType('Rs\\Issues\\Bitbucket\\BitbucketIssue');
     $result[0]->getType()->shouldBe('issue');
     $result[1]->shouldHaveType('Rs\\Issues\\Bitbucket\\BitbucketIssue');
     $result[1]->getType()->shouldBe('pull');
 }