1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.provider.git.command.branch;
20
21 import java.io.File;
22
23 import org.apache.maven.scm.ScmFileSet;
24 import org.apache.maven.scm.command.branch.BranchScmResult;
25 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
26 import org.apache.maven.scm.provider.git.GitScmTestUtils;
27 import org.apache.maven.scm.repository.ScmRepository;
28 import org.apache.maven.scm.tck.command.branch.BranchCommandTckTest;
29 import org.junit.Test;
30
31 import static org.junit.Assert.assertFalse;
32
33
34
35
36 public abstract class GitBranchCommandTckTest extends BranchCommandTckTest {
37
38
39
40 public void initRepo() throws Exception {
41 GitScmTestUtils.initRepo("src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory());
42 }
43
44 @Override
45 protected CheckOutScmResult checkOut(File workingDirectory, ScmRepository repository) throws Exception {
46 try {
47 return super.checkOut(workingDirectory, repository);
48 } finally {
49 GitScmTestUtils.setDefaultGitConfig(workingDirectory);
50 }
51 }
52
53 @Test
54 public void testPushBranchRejected() throws Exception {
55 String branch = getBranch();
56
57 GitScmTestUtils.setupRejectAllCommitsPrePushHook(getWorkingCopy());
58 @SuppressWarnings("deprecation")
59 BranchScmResult branchResult = getScmManager()
60 .getProviderByUrl(getScmUrl())
61 .branch(getScmRepository(), new ScmFileSet(getWorkingCopy()), branch);
62
63 assertFalse("Branch should not have been pushed", branchResult.isSuccess());
64 }
65 }