$project->attachEvents(); $webhook->attachEvents(); $notification->attachEvents(); // Load translations $language = $config->get('language', 'en_US'); if ($language !== 'en_US') { Translator::load($language); } $server = new Server(); $server->authentication(array('jsonrpc' => $config->get('api_token'))); /** * Project procedures */ $server->register('createProject', function ($name) use($project) { $values = array('name' => $name); list($valid, ) = $project->validateCreation($values); return $valid && $project->create($values); }); $server->register('getProjectById', function ($project_id) use($project) { return $project->getById($project_id); }); $server->register('getProjectByName', function ($name) use($project) { return $project->getByName($name); }); $server->register('getAllProjects', function () use($project) { return $project->getAll(); }); $server->register('updateProject', function ($id, $name, $is_active = null, $is_public = null, $token = null) use($project) { $values = array('id' => $id, 'name' => $name, 'is_active' => $is_active, 'is_public' => $is_public, 'token' => $token); foreach ($values as $key => $value) { if (is_null($value)) {
public function testIdentifier() { $p = new Project($this->container); // Creation $this->assertEquals(1, $p->create(array('name' => 'UnitTest1', 'identifier' => 'test1'))); $this->assertEquals(2, $p->create(array('name' => 'UnitTest2'))); $project = $p->getById(1); $this->assertNotEmpty($project); $this->assertEquals('TEST1', $project['identifier']); $project = $p->getById(2); $this->assertNotEmpty($project); $this->assertEquals('', $project['identifier']); // Update $this->assertTrue($p->update(array('id' => '2', 'identifier' => 'test2'))); $project = $p->getById(2); $this->assertNotEmpty($project); $this->assertEquals('TEST2', $project['identifier']); $project = $p->getByIdentifier('test1'); $this->assertNotEmpty($project); $this->assertEquals('TEST1', $project['identifier']); $project = $p->getByIdentifier(''); $this->assertFalse($project); // Validation rules $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'TEST1')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'test1')); $this->assertFalse($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'TEST1')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'test3')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => '')); $this->assertTrue($r[0]); $r = $p->validateModification(array('id' => 1, 'name' => 'test', 'identifier' => 'TEST2')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'a-b-c')); $this->assertFalse($r[0]); $r = $p->validateCreation(array('name' => 'test', 'identifier' => 'test 123')); $this->assertFalse($r[0]); }