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));
 }
示例#2
0
 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;
 }