@VisibleForTesting
  Set<Artifact> getProjectDependencies() {
    return session.getProjects().stream()
        .map(MavenProject::getArtifact)
        .filter(artifact -> !artifact.equals(project.getArtifact()))
        .filter(artifact -> artifact.getFile() != null)
        .collect(Collectors.toSet());
  }
@Test
  public void testGetProjectDependencies() {
    MavenProject rootPomProject = mock(MavenProject.class);
    MavenProject jibSubModule = mock(MavenProject.class);
    MavenProject sharedLibSubModule = mock(MavenProject.class);
    when(mockMavenSession.getProjects())
        .thenReturn(Arrays.asList(rootPomProject, sharedLibSubModule, jibSubModule));

    Artifact nullFileArtifact = mock(Artifact.class);
    Artifact projectJar = newArtifact("com.test", "my-app", "1.0");
    Artifact sharedLibJar = newArtifact("com.test", "shared-lib", "1.0");

    when(rootPomProject.getArtifact()).thenReturn(nullFileArtifact);
    when(jibSubModule.getArtifact()).thenReturn(projectJar);
    when(sharedLibSubModule.getArtifact()).thenReturn(sharedLibJar);

    when(mockMavenProject.getArtifact()).thenReturn(projectJar);

    assertThat(mavenProjectProperties.getProjectDependencies()).containsExactly(sharedLibJar);
  }