James Moger
2013-01-23 c7acc2e1fa86102bb87e715c8fe4e336329fbcc6
tests/com/gitblit/tests/GroovyScriptTest.java
@@ -30,6 +30,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -67,6 +68,53 @@
      if (started.get()) {
         GitBlitSuite.stopGitblit();
      }
   }
   @Test
   public void testFogbugz() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      MockClientLogger clientLogger = new MockClientLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId
            .fromString("c18877690322dfc6ae3e37bb7f7085a24e94e887"), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master"));
      commands.add(new ReceiveCommand(ObjectId
            .fromString("c18877690322dfc6ae3e37bb7f7085a24e94e887"), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master2"));
      RepositoryModel repository = GitBlit.self().getRepositoryModel("helloworld.git");
      repository.customFields = new HashMap<String,String>();
      repository.customFields.put( "fogbugzUrl", "http://bugs.test.com" );
      repository.customFields.put( "fogbugzRepositoryId", "1" );
      repository.customFields.put( "fogbugzCommitMessageRegex", "\\s*[Bb][Uu][Gg][(Zz)(Ss)]*\\s*[(IDs)]*\\s*[#:; ]+((\\d+[ ,:;#]*)+)" );
      test("fogbugz.groovy", gitblit, logger, clientLogger, commands, repository);
   }
   @Test
   public void testSendHtmlMail() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      MockClientLogger clientLogger = new MockClientLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId
            .fromString("c18877690322dfc6ae3e37bb7f7085a24e94e887"), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master"));
      commands.add(new ReceiveCommand(ObjectId
            .fromString("c18877690322dfc6ae3e37bb7f7085a24e94e887"), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master2"));
      RepositoryModel repository = GitBlit.self().getRepositoryModel("helloworld.git");
      repository.mailingLists.add("list@helloworld.git");
      test("sendmail-html.groovy", gitblit, logger, clientLogger, commands, repository);
      assertEquals(1, logger.messages.size());
      assertEquals(1, gitblit.messages.size());
      MockMail m = gitblit.messages.get(0);
      assertEquals(5, m.toAddresses.size());
      assertTrue(m.message.contains("BIT"));
      assertTrue(m.message.contains("<html>"));
   }
   @Test
@@ -296,6 +344,9 @@
      public void sendMail(String subject, String message, Collection<String> toAddresses) {
         messages.add(new MockMail(subject, message, toAddresses));
      }
      public void sendHtmlMail(String subject, String message, Collection<String> toAddresses) {
         messages.add(new MockMail(subject, message, toAddresses));
      }
   }
   class MockLogger {