James Moger
2012-02-16 91780e2e17a8020872c8da2d8941114e098ef2a4
tests/com/gitblit/tests/GroovyScriptTest.java
@@ -89,6 +89,97 @@
   }
   
   @Test
   public void testProtectRefsCreateBranch() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId.zeroId(), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master"));
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
   }
   @Test
   public void testProtectRefsCreateTag() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId.zeroId(), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/tags/v1.0"));
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
      assertEquals(0, logger.messages.size());
   }
   @Test
   public void testProtectRefsFastForward() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId
            .fromString("c18877690322dfc6ae3e37bb7f7085a24e94e887"), ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), "refs/heads/master"));
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
      assertEquals(0, logger.messages.size());
   }
   @Test
   public void testProtectRefsDeleteMasterBranch() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      ReceiveCommand command = new ReceiveCommand(ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), ObjectId.zeroId(),
            "refs/heads/master");
      commands.add(command);
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
      assertEquals(ReceiveCommand.Result.REJECTED_NODELETE, command.getResult());
      assertEquals(0, logger.messages.size());
   }
   @Test
   public void testProtectRefsDeleteOtherBranch() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      commands.add(new ReceiveCommand(ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), ObjectId.zeroId(),
            "refs/heads/other"));
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
      assertEquals(0, logger.messages.size());
   }
   @Test
   public void testProtectRefsDeleteTag() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();
      List<ReceiveCommand> commands = new ArrayList<ReceiveCommand>();
      ReceiveCommand command = new ReceiveCommand(ObjectId
            .fromString("3fa7c46d11b11d61f1cbadc6888be5d0eae21969"), ObjectId.zeroId(),
            "refs/tags/v1.0");
      commands.add(command);
      RepositoryModel repository = new RepositoryModel("ex@mple.git", "", "admin", new Date());
      test("protect-refs.groovy", gitblit, logger, commands, repository);
      assertEquals(ReceiveCommand.Result.REJECTED_NODELETE, command.getResult());
      assertEquals(0, logger.messages.size());
   }
   @Test
   public void testBlockPush() throws Exception {
      MockGitblit gitblit = new MockGitblit();
      MockLogger logger = new MockLogger();