@Bean("ScmChangedFiles")
  public ScmChangedFiles provide(ScmConfiguration scmConfiguration, BranchConfiguration branchConfiguration, DefaultInputProject project) {
    Path rootBaseDir = project.getBaseDir();
    Set<ChangedFile> changedFiles = loadChangedFilesIfNeeded(scmConfiguration, branchConfiguration, rootBaseDir);

    if (changedFiles != null) {
      validatePaths(getAbsoluteFilePaths(changedFiles));
    }

    return new ScmChangedFiles(changedFiles);
  }
@Test
  public void testGitScmProvider(){
    GitScmProvider gitScmProvider = mock(GitScmProvider.class);

    when(scmConfiguration.provider()).thenReturn(gitScmProvider);
    when(branchConfiguration.isPullRequest()).thenReturn(true);
    when(branchConfiguration.targetBranchName()).thenReturn("target");

    ScmChangedFiles scmChangedFiles = provider.provide(scmConfiguration, branchConfiguration, project);

    assertThat(scmChangedFiles.get()).isEmpty();
    verify(scmConfiguration).provider();

  }