@Test
  public void testSuccessfulInstall()
      throws InstallationException, UnsupportedEncodingException, IOException {
    File artifactFile =
        new File(
            session.getLocalRepositoryManager().getRepository().getBasedir(), localArtifactPath);
    File metadataFile =
        new File(
            session.getLocalRepositoryManager().getRepository().getBasedir(), localMetadataPath);

    artifactFile.delete();
    metadataFile.delete();

    request.addArtifact(artifact);
    request.addMetadata(metadata);

    InstallResult result = installer.install(session, request);

    assertTrue(artifactFile.exists());
    assertEquals("artifact", TestFileUtils.readString(artifactFile));

    assertTrue(metadataFile.exists());
    assertEquals("metadata", TestFileUtils.readString(metadataFile));

    assertEquals(result.getRequest(), request);

    assertEquals(result.getArtifacts().size(), 1);
    assertTrue(result.getArtifacts().contains(artifact));

    assertEquals(result.getMetadata().size(), 1);
    assertTrue(result.getMetadata().contains(metadata));

    assertEquals(1, lrm.getMetadataRegistration().size());
    assertTrue(lrm.getMetadataRegistration().contains(metadata));
    assertEquals(1, lrm.getArtifactRegistration().size());
    assertTrue(lrm.getArtifactRegistration().contains(artifact));
  }