func CompareMetaData()

in upload/metadata/metaData.go [116:150]


func CompareMetaData(remote, local *MetaData) []error {
	var metadataErrors = make([]error, 0)
	if !bytes.Equal(remote.FileMetaData.MD5Hash, local.FileMetaData.MD5Hash) {
		metadataErrors = append(metadataErrors,
			fmt.Errorf("MD5 hash of VHD file in Azure blob storage (%v) and local VHD file (%v) does not match",
				base64.StdEncoding.EncodeToString(remote.FileMetaData.MD5Hash),
				base64.StdEncoding.EncodeToString(local.FileMetaData.MD5Hash)))
	}

	if remote.FileMetaData.VHDSize != local.FileMetaData.VHDSize {
		metadataErrors = append(metadataErrors,
			fmt.Errorf("Logical size of the VHD file in Azure blob storage (%d) and local VHD file (%d) does not match",
				remote.FileMetaData.VHDSize, local.FileMetaData.VHDSize))
	}

	if remote.FileMetaData.FileSize != local.FileMetaData.FileSize {
		metadataErrors = append(metadataErrors,
			fmt.Errorf("Size of the VHD file in Azure blob storage (%d) and local VHD file (%d) does not match",
				remote.FileMetaData.FileSize, local.FileMetaData.FileSize))
	}

	if remote.FileMetaData.LastModifiedTime != local.FileMetaData.LastModifiedTime {
		metadataErrors = append(metadataErrors,
			fmt.Errorf("Last modified time of the VHD file in Azure blob storage (%v) and local VHD file (%v) does not match",
				remote.FileMetaData.LastModifiedTime, local.FileMetaData.LastModifiedTime))
	}

	if remote.FileMetaData.FileName != local.FileMetaData.FileName {
		metadataErrors = append(metadataErrors,
			fmt.Errorf("Full name of the VHD file in Azure blob storage (%s) and local VHD file (%s) does not match",
				remote.FileMetaData.FileName, local.FileMetaData.FileName))
	}

	return metadataErrors
}