public function testGetMailHookConfig() { $prj = new MockProject($this); $prj->setReturnValue('getUnixName', 'project1'); $prj->setReturnValue('getId', 101); // ShowRev $repo = new GitRepository(); $repo->setId(5); $repo->setProject($prj); $repo->setName('test_default'); $this->assertIdentical(file_get_contents($this->_fixDir . '/gitolite-mail-config/mailhook-rev.txt'), $this->project_serializer->fetchMailHookConfig($prj, $repo)); // ShowRev + Mail $repo = new GitRepository(); $repo->setId(5); $repo->setProject($prj); $repo->setName('test_default'); $repo->setNotifiedMails(array('*****@*****.**', '*****@*****.**')); $this->assertIdentical(file_get_contents($this->_fixDir . '/gitolite-mail-config/mailhook-rev-mail.txt'), $this->project_serializer->fetchMailHookConfig($prj, $repo)); // ShowRev + Mailprefix $repo = new GitRepository(); $repo->setId(5); $repo->setProject($prj); $repo->setName('test_default'); $repo->setNotifiedMails(array('*****@*****.**', '*****@*****.**')); $repo->setMailPrefix('[KOIN] '); $this->assertIdentical(file_get_contents($this->_fixDir . '/gitolite-mail-config/mailhook-rev-mail-prefix.txt'), $this->project_serializer->fetchMailHookConfig($prj, $repo)); // ShowRev + Mailprefix $repo = new GitRepository(); $repo->setId(5); $repo->setProject($prj); $repo->setName('test_default'); $repo->setNotifiedMails(array('*****@*****.**', '*****@*****.**')); $repo->setMailPrefix('["\\_o<"] \\t'); $this->assertIdentical(file_get_contents($this->_fixDir . '/gitolite-mail-config/mailhook-rev-mail-prefix-quote.txt'), $this->project_serializer->fetchMailHookConfig($prj, $repo)); }
protected function buildRepositoryFromRow($row, $project, $notification_manager = null) { $repository_id = $row[GitDao::REPOSITORY_ID]; $repository = new GitRepository(); $repository->setId($repository_id); $repository->setName($row[GitDao::REPOSITORY_NAME]); $repository->setProject($project); if (!$notification_manager) { $notification_manager = $this->getPostReceiveMailManager(); } $notified_mails = $notification_manager->getNotificationMailsByRepositoryId($repository_id); $repository->setNotifiedMails($notified_mails); $repository->setMailPrefix($row[GitDao::REPOSITORY_MAIL_PREFIX]); $repository->setNamespace($row[GitDao::REPOSITORY_NAMESPACE]); return $repository; }