/** * Returns a new {@link MavenId} whose values are based on the given {@link * com.google.cloud.tools.libraries.json.CloudLibraryClientMavenCoordinates}. * * @param mavenCoordinates the {@link CloudLibraryClientMavenCoordinates} to convert to a {@link * MavenId} */ static MavenId toMavenId(CloudLibraryClientMavenCoordinates mavenCoordinates) { return new MavenId( mavenCoordinates.getGroupId(), mavenCoordinates.getArtifactId(), mavenCoordinates.getVersion()); } }
/** Creates a new {@link MavenModuleBuilder} that can be used to create Maven modules in tests. */ private MavenModuleBuilder initMavenModuleBuilder(Project project) { MavenModuleBuilder moduleBuilder = new MavenModuleBuilder(); MavenId mavenId = new MavenId("org.foo", "module", "1.0"); String root = project.getBasePath(); moduleBuilder.setName("module"); moduleBuilder.setModuleFilePath(root + "/module.iml"); moduleBuilder.setContentEntryPath(root); moduleBuilder.setProjectId(mavenId); return moduleBuilder; }
@Test public void getCloudLibraries_withOnlyNonCloudDependencies_isEmpty() { when(librariesService.getCloudLibraries()) .thenReturn(ImmutableList.of(LIBRARY.toCloudLibrary())); MavenTestUtils.getInstance() .runWithMavenModule( testFixture.getProject(), module -> { MavenId nonCloudDependency = new MavenId("my-group", "my-artifact", "1.0"); writeDependenciesToPom(module, ImmutableList.of(nonCloudDependency)); assertThat(state.getCloudLibraries(module)).isEmpty(); }); }
@Test public void getCloudLibraries_withCloudAndNonCloudDependencies_returnsValidCloudLibrary() { when(librariesService.getCloudLibraries()) .thenReturn(ImmutableList.of(LIBRARY.toCloudLibrary())); MavenTestUtils.getInstance() .runWithMavenModule( testFixture.getProject(), module -> { TestCloudLibraryClientMavenCoordinates mavenCoordinates = LIBRARY.clients().get(0).mavenCoordinates(); String groupId = mavenCoordinates.groupId(); String artifactId = mavenCoordinates.artifactId(); MavenId cloudDependency = new MavenId(groupId, artifactId, "1.0"); MavenId nonCloudDependency = new MavenId("my-group", "my-artifact", "1.0"); writeDependenciesToPom(module, ImmutableList.of(cloudDependency, nonCloudDependency)); state.syncManagedProjectLibraries(); Set<CloudLibrary> libraries = state.getCloudLibraries(module); assertThat_cloudLibrariesContainsExactlyOne(libraries); }); }
@Test public void getCloudLibraries_withOnlyCloudDependencies_returnsValidCloudLibrary() { when(librariesService.getCloudLibraries()) .thenReturn(ImmutableList.of(LIBRARY.toCloudLibrary())); MavenTestUtils.getInstance() .runWithMavenModule( testFixture.getProject(), module -> { TestCloudLibraryClientMavenCoordinates mavenCoordinates = LIBRARY.clients().get(0).mavenCoordinates(); String groupId = mavenCoordinates.groupId(); String artifactId = mavenCoordinates.artifactId(); MavenId managedDependency = new MavenId(groupId, artifactId, "1.0"); writeDependenciesToPom(module, ImmutableList.of(managedDependency)); state.syncManagedProjectLibraries(); Set<CloudLibrary> libraries = state.getCloudLibraries(module); assertThat_cloudLibrariesContainsExactlyOne(libraries); }); }