Program: 80534
Project: 80534
Buggy source:
/** 
 * Check uploading/downloading share metadata.
 * @throws StorageException
 * @throws URISyntaxException
 */
@Test public void testCloudFileShareUploadMetadata() throws StorageException, URISyntaxException {
  this.share.create();
  CloudFileShare share2=this.share.getServiceClient().getShareReference(this.share.getName());
  share2.downloadAttributes();
  assertEquals(0,share2.getMetadata().size());
  this.share.getMetadata().put("String_Node_Str","String_Node_Str");
  this.share.uploadMetadata();
  share2.downloadAttributes();
  assertEquals(1,share2.getMetadata().size());
  assertEquals("String_Node_Str",share2.getMetadata().get("String_Node_Str"));
  Iterable<CloudFileShare> shares=this.share.getServiceClient().listShares(this.share.getName(),ShareListingDetails.METADATA,null,null);
  for (  CloudFileShare share3 : shares) {
    assertEquals(1,share3.getMetadata().size());
    assertEquals("String_Node_Str",share3.getMetadata().get("String_Node_Str"));
  }
  this.share.getMetadata().clear();
  this.share.uploadMetadata();
  share2.downloadAttributes();
  assertEquals(0,share2.getMetadata().size());
}

Fixed version (ground truth):
/** 
 * Check uploading/downloading share metadata.
 * @throws StorageException
 * @throws URISyntaxException
 */
@Test public void testCloudFileShareUploadMetadata() throws StorageException, URISyntaxException {
  this.share.getMetadata().put("String_Node_Str","String_Node_Str");
  this.share.create();
  Assert.assertEquals(1,this.share.getMetadata().size());
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  CloudFileShare share2=this.share.getServiceClient().getShareReference(this.share.getName());
  share2.downloadAttributes();
  Assert.assertEquals(1,share2.getMetadata().size());
  Assert.assertEquals("String_Node_Str",share2.getMetadata().get("String_Node_Str"));
  this.share.getMetadata().put("String_Node_Str","String_Node_Str");
  Assert.assertEquals(2,this.share.getMetadata().size());
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  this.share.uploadMetadata();
  Assert.assertEquals(2,this.share.getMetadata().size());
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  share2.downloadAttributes();
  Assert.assertEquals(2,this.share.getMetadata().size());
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  Iterable<CloudFileShare> shares=this.share.getServiceClient().listShares(this.share.getName(),ShareListingDetails.METADATA,null,null);
  for (  CloudFileShare share3 : shares) {
    Assert.assertEquals(2,share3.getMetadata().size());
    Assert.assertEquals("String_Node_Str",share3.getMetadata().get("String_Node_Str"));
    Assert.assertEquals("String_Node_Str",this.share.getMetadata().get("String_Node_Str"));
  }
  this.share.getMetadata().clear();
  this.share.uploadMetadata();
  share2.downloadAttributes();
  assertEquals(0,share2.getMetadata().size());
}