From 0708e4c35e17650049a7ae9c6bdb7297ad93581e Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 14 Mar 2012 16:17:57 -0400 Subject: [PATCH] Removed obsolete resources --- tests/com/gitblit/tests/GroovyScriptTest.java | 123 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 119 insertions(+), 4 deletions(-) diff --git a/tests/com/gitblit/tests/GroovyScriptTest.java b/tests/com/gitblit/tests/GroovyScriptTest.java index 308160d..5051100 100644 --- a/tests/com/gitblit/tests/GroovyScriptTest.java +++ b/tests/com/gitblit/tests/GroovyScriptTest.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -72,21 +73,135 @@ 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")); - test("sendmail.groovy", gitblit, logger, commands); + RepositoryModel repository = GitBlit.self().getRepositoryModel("helloworld.git"); + repository.mailingLists.add("list@helloworld.git"); + + test("sendmail.groovy", gitblit, logger, 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")); } + + @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(); + 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()); + + try { + test("blockpush.groovy", gitblit, logger, commands, repository); + assertTrue("blockpush should have failed!", false); + } catch (GitBlitException e) { + assertTrue(e.getMessage().contains("failed")); + } + } private void test(String script, MockGitblit gitblit, MockLogger logger, - List<ReceiveCommand> commands) throws Exception { + List<ReceiveCommand> commands, RepositoryModel repository) throws Exception { UserModel user = new UserModel("mock"); - RepositoryModel repository = GitBlit.self().getRepositoryModel("helloworld.git"); - repository.mailingLists.add("list@helloworld.git"); String gitblitUrl = GitBlitSuite.url; -- Gitblit v1.9.1