From 5fa1952a2e582f2c428584c5ccc1800132559df0 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Tue, 5 Dec 2017 11:37:56 +0300 Subject: Version 0.1.0 --- src/test/java/BitbucketBuildFilterTest.java | 308 ---------------------------- 1 file changed, 308 deletions(-) delete mode 100644 src/test/java/BitbucketBuildFilterTest.java (limited to 'src/test/java/BitbucketBuildFilterTest.java') diff --git a/src/test/java/BitbucketBuildFilterTest.java b/src/test/java/BitbucketBuildFilterTest.java deleted file mode 100644 index ad9892c..0000000 --- a/src/test/java/BitbucketBuildFilterTest.java +++ /dev/null @@ -1,308 +0,0 @@ - -import antlr.ANTLRException; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.BitbucketBuildFilter; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.BitbucketBuildTrigger; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.BitbucketCause; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.BitbucketPullRequestsBuilder; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.BitbucketRepository; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.ApiClient; -import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.Pullrequest; - -import java.util.Calendar; -import java.util.LinkedList; -import java.util.List; -import java.util.regex.Pattern; - -import jenkins.plugins.git.AbstractGitSCMSource; -import org.jvnet.hudson.test.JenkinsRule; -import org.jvnet.hudson.test.WithoutJenkins; - -import org.easymock.*; -import org.junit.Test; -import org.junit.Rule; -import static org.junit.Assert.*; - -/** - * Tests - */ -public class BitbucketBuildFilterTest { - - @Rule - public JenkinsRule jRule = new JenkinsRule(); - - @Test - @WithoutJenkins - public void mockTest() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("mock").anyTimes(); - EasyMock.replay(cause); - for(Integer i : new Integer[] {1, 2, 3, 4, 5}) assertEquals("mock", cause.getTargetBranch()); - } - - @Test - @WithoutJenkins - public void anyFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"", "*", "any"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"foo", "bar", " baz "}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void onlyDestinationFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master-branch").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"master-branch", "r:^master", "r:branch$", " master-branch "}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"develop", "feature-good-thing", "r:develop$"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void rxSourceDestCheck() { - for(String f : new String[] {"", "master", "r:master", "*"}) - assertFalse(Pattern.compile("(s:)|(d:)").matcher(f).find()); - - for(String f : new String[] {"s:master d:feature-master", "s:master d:r:^feature", "s:r:^master d:r:^feature"}) - assertTrue(Pattern.compile("(s:)|(d:)").matcher(f).find()); - } - - @Test - @WithoutJenkins - public void sourceAndDestFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.expect(cause.getSourceBranch()).andReturn("feature-for-master").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"s:feature-for-master d:master", "s:r:^feature d:master", "s:feature-for-master d:r:^m", "s:r:^feature d:r:^master"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"s:feature-for-master d:foo", "s:bar d:master", "s:foo d:bar"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void multipleSrcDestFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.expect(cause.getSourceBranch()).andReturn("feature-master").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"s: d:", "s:r:^feature s:good-branch d:r:.*", "s:good-branch s:feature-master d:r:.*", "s: d:r:.*", "d:master d:foo d:bar s:"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"d:ggg d:ooo d:333 s:feature-master", "s:111 s:222 s:333 d:master"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void sourceAndDestPartiallyFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.expect(cause.getSourceBranch()).andReturn("feature-master").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"s:feature-master d:", "d:master s:"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"s:feature-master", "d:master"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void authorFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.expect(cause.getSourceBranch()).andReturn("feature-master").anyTimes(); - EasyMock.expect(cause.getPullRequestAuthor()).andReturn("test").anyTimes(); - EasyMock.replay(cause); - - for(String f : new String[] {"a:test", "a:r:^test", "d: s: a:", "a:", "a:foo a:test"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertTrue(filter.approved(cause)); - } - - for(String f : new String[] {"s:feature-master", "d:master", "s:feature-master d: a:foo", "a:bar"}) { - BitbucketBuildFilter filter = BitbucketBuildFilter.instanceByString(f); - assertFalse(filter.approved(cause)); - } - } - - @Test - @WithoutJenkins - public void emptyGitSCMFilter() { - BitbucketCause cause = EasyMock.createMock(BitbucketCause.class); - EasyMock.expect(cause.getTargetBranch()).andReturn("master").anyTimes(); - EasyMock.replay(cause); - - assertTrue(BitbucketBuildFilter.filterFromGitSCMSource(null, "").isEmpty()); - assertEquals("default", BitbucketBuildFilter.filterFromGitSCMSource(null, "default")); - - assertTrue(BitbucketBuildFilter.instanceByString( - BitbucketBuildFilter.filterFromGitSCMSource(null, "")).approved(cause) - ); - } - - @Test - @WithoutJenkins - public void fromGitSCMFilter() { - AbstractGitSCMSource git = EasyMock.createMock(AbstractGitSCMSource.class); - EasyMock.expect(git.getIncludes()) - .andReturn("").times(1) - .andReturn("").times(1) - .andReturn("*/master */feature-branch").times(1) - .andReturn("*/master").anyTimes(); - EasyMock.replay(git); - - assertTrue(git.getIncludes().isEmpty()); - assertEquals("", BitbucketBuildFilter.filterFromGitSCMSource(git, "")); - assertEquals("d:master d:feature-branch", BitbucketBuildFilter.filterFromGitSCMSource(git, "")); - assertEquals("d:master", BitbucketBuildFilter.filterFromGitSCMSource(git, "")); - } - - @Test - @WithoutJenkins - public void filterPRComments() throws ANTLRException { - BitbucketPullRequestsBuilder builder = EasyMock.createMock(BitbucketPullRequestsBuilder.class); - EasyMock.expect(builder.getTrigger()).andReturn(null).anyTimes(); - EasyMock.replay(builder); - - List comments = new LinkedList(); - for(String commentContent : new String[] { - "check", - "", - "Hello from mock", - "Jenkins: test this please", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970]", - "check", - "", - "Hello from mock", - "Jenkins: test this please", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970]", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970 #jenkins-foo]", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970 #jenkins-foo #jenkins-bar]", - }) { - Pullrequest.Comment comment = EasyMock.createNiceMock(Pullrequest.Comment.class); - EasyMock.expect(comment.getContent()).andReturn(commentContent).anyTimes(); - EasyMock.expect(comment.getId()).andReturn(new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()).getNanos()).anyTimes(); - EasyMock.replay(comment); - comments.add(comment); - } - - // Check twice - assertEquals("check", comments.get(0).getContent()); - assertEquals("check", comments.get(0).getContent()); - - assertEquals("Hello from mock", comments.get(2).getContent()); - - BitbucketRepository repo = new BitbucketRepository("", builder); - repo.init(EasyMock.createNiceMock(ApiClient.class)); - - List filteredComments = repo.filterPullRequestComments(comments); - - assertTrue(filteredComments.size() == 4); - assertEquals("Jenkins: test this please", filteredComments.get(filteredComments.size() - 1).getContent()); - } - - @Test - @WithoutJenkins - public void checkHashMyBuildTagTrue() { - BitbucketPullRequestsBuilder builder = EasyMock.createMock(BitbucketPullRequestsBuilder.class); - EasyMock.expect(builder.getTrigger()).andReturn(null).anyTimes(); - EasyMock.replay(builder); - - IMockBuilder repoBuilder = EasyMock.partialMockBuilder(BitbucketRepository.class); - repoBuilder.addMockedMethod("getMyBuildTag"); - BitbucketRepository repo = repoBuilder.createMock(); - EasyMock.expect(repo.getMyBuildTag(EasyMock.anyString())).andReturn("#jenkins-902f259e962ff16100843123480a0970").anyTimes(); - EasyMock.replay(repo); - - List comments = new LinkedList(); - for(String commentContent : new String[] { - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970]", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970 #jenkins-foo]", - "TTP build flag [bid: #jenkins-902f259e962ff16100843123480a0970 #jenkins-foo #jenkins-bar]", - "TTP build flag ```[bid: #jenkins-902f259e962ff16100843123480a0970 #jenkins-foo #jenkins-bar]```", - }) { - Pullrequest.Comment comment = EasyMock.createNiceMock(Pullrequest.Comment.class); - EasyMock.expect(comment.getContent()).andReturn(commentContent).anyTimes(); - EasyMock.expect(comment.getId()).andReturn(new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()).getNanos()).anyTimes(); - EasyMock.replay(comment); - comments.add(comment); - } - - String myBuildKey = "902f259e962ff16100843123480a0970"; - for(Pullrequest.Comment comment : comments) - assertTrue(repo.hasMyBuildTagInTTPComment(comment.getContent(), myBuildKey)); - } - - @Test - @WithoutJenkins - public void checkHashMyBuildTagFalse() { - BitbucketPullRequestsBuilder builder = EasyMock.createMock(BitbucketPullRequestsBuilder.class); - EasyMock.expect(builder.getTrigger()).andReturn(null).anyTimes(); - EasyMock.replay(builder); - - IMockBuilder repoBuilder = EasyMock.partialMockBuilder(BitbucketRepository.class); - repoBuilder.addMockedMethod("getMyBuildTag"); - BitbucketRepository repo = repoBuilder.createMock(); - EasyMock.expect(repo.getMyBuildTag(EasyMock.anyString())).andReturn("#jenkins-902f259e962ff16100843123480a0970").anyTimes(); - EasyMock.replay(repo); - - List comments = new LinkedList(); - for(String commentContent : new String[] { - "check", - "", - "Hello from mock", - "Jenkins: test this please", - "TTP build flag [bid: #jenkins]", - "TTP build flag [bid: #jenkins-foo]", - "TTP build flag [bid: #jenkins-foo #jenkins-bar]", - "TTP build flag ```[bid: #jenkins-foo #jenkins-bar]```", - }) { - Pullrequest.Comment comment = EasyMock.createNiceMock(Pullrequest.Comment.class); - EasyMock.expect(comment.getContent()).andReturn(commentContent).anyTimes(); - EasyMock.expect(comment.getId()).andReturn(new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()).getNanos()).anyTimes(); - EasyMock.replay(comment); - comments.add(comment); - } - - String myBuildKey = "902f259e962ff16100843123480a0970"; - for(Pullrequest.Comment comment : comments) - assertFalse(repo.hasMyBuildTagInTTPComment(comment.getContent(), myBuildKey)); - } -} -- cgit v1.2.3