{
if (!is_writable(self::$tmpdir)) {
$this->markTestSkipped('There are no write permissions in order to create test repositories.');
}
$path = getenv('GIT_CLIENT') ?: null;
$this->client = new Client($path);
}
/**
* @expectedException RuntimeException
*/
public function testIsNotAbleToGetUnexistingRepository()
{
$this->client->getRepository(self::$tmpdir . '/testrepo');
}
public function testIsParsingGitVersion()
{
$version = $this->client->getVersion();
$this->assertNotEmpty($version);
}
public function testIsCreatingRepository()
{
$repository = $this->client->createRepository(self::$tmpdir . '/testrepo');
$fs = new Filesystem();
$fs->remove(self::$tmpdir . '/testrepo/.git/description');
$this->assertRegExp("/nothing to commit/", $repository->getClient()->run($repository, 'status'));
}
public function testIsCreatingBareRepository()
{
$repository = $this->client->createRepository(self::$tmpdir . '/testbare', true);
$this->assertInstanceOf('Gitter\Repository', $repository);
}
/**
* @expectedException RuntimeException
*/
public function testIsNotAbleToCreateRepositoryDueToExistingOne()
{
$this->client->createRepository(self::$tmpdir . '/testrepo');
}
/**
* @expectedException RuntimeException
*/
public function testIsNotOpeningHiddenRepositories()
{
$this->client->getRepository(self::$tmpdir . '/hiddenrepo');
}
/**
* @expectedException RuntimeException
*/
public function testIsCatchingGitCommandErrors()
{
$repository = $this->client->getRepository(self::$tmpdir . '/testrepo');
$repository->getClient()->run($repository, 'wrong');
}