@Override
  public Artifact uploadArtifact(String artifactName, String localPath) throws IOException {
    return uploadArtifact(artifactName, Paths.get(localPath));
  }
@Test
  public void testUploadArtifact() throws IOException {
    when(client.create(any(BlobInfo.class), any(byte[].class))).thenReturn(blob);

    GcsArtifact actual = (GcsArtifact) gcsClient.uploadArtifact(ARTIFACT_NAME, LOCAL_PATH);

    verify(client).create(blobInfoCaptor.capture(), contentsCaptor.capture());
    BlobInfo actualInfo = blobInfoCaptor.getValue();

    assertThat(actual.blob).isSameInstanceAs(blob);
    assertThat(actualInfo.getBucket()).isEqualTo(BUCKET);
    assertThat(actualInfo.getName())
        .isEqualTo(String.format("%s/%s/%s", TEST_CLASS, gcsClient.runId(), ARTIFACT_NAME));
    assertThat(contentsCaptor.getValue()).isEqualTo(TEST_ARTIFACT_CONTENTS);
  }