{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/192","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/192/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/192/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/192/events","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/192","id":109152768,"number":192,"title":"Add unit test class for StorageImpl","user":{"login":"mziccard","id":450933,"avatar_url":"https://avatars.githubusercontent.com/u/450933?v=3","gravatar_id":"","url":"https://api.github.com/users/mziccard","html_url":"https://github.com/mziccard","followers_url":"https://api.github.com/users/mziccard/followers","following_url":"https://api.github.com/users/mziccard/following{/other_user}","gists_url":"https://api.github.com/users/mziccard/gists{/gist_id}","starred_url":"https://api.github.com/users/mziccard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mziccard/subscriptions","organizations_url":"https://api.github.com/users/mziccard/orgs","repos_url":"https://api.github.com/users/mziccard/repos","events_url":"https://api.github.com/users/mziccard/events{/privacy}","received_events_url":"https://api.github.com/users/mziccard/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/labels/cla:%20yes","name":"cla: yes","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-30T18:34:10Z","updated_at":"2015-10-01T11:07:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/pulls/192","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/192","diff_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/192.diff","patch_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/192.patch"},"body":"This again goes in the direction of #14.\r\nIt adds a test class for `StorageImpl`. `StorageRpc` and `StorageOptions` are mocked.\r\nComments are welcome, as usual."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/comments/144698673","html_url":"https://github.com/GoogleCloudPlatform/gcloud-java/pull/192#issuecomment-144698673","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/gcloud-java/issues/192","id":144698673,"user":{"login":"mziccard","id":450933,"avatar_url":"https://avatars.githubusercontent.com/u/450933?v=3","gravatar_id":"","url":"https://api.github.com/users/mziccard","html_url":"https://github.com/mziccard","followers_url":"https://api.github.com/users/mziccard/followers","following_url":"https://api.github.com/users/mziccard/following{/other_user}","gists_url":"https://api.github.com/users/mziccard/gists{/gist_id}","starred_url":"https://api.github.com/users/mziccard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mziccard/subscriptions","organizations_url":"https://api.github.com/users/mziccard/orgs","repos_url":"https://api.github.com/users/mziccard/repos","events_url":"https://api.github.com/users/mziccard/events{/privacy}","received_events_url":"https://api.github.com/users/mziccard/received_events","type":"User","site_admin":false},"created_at":"2015-10-01T11:07:49Z","updated_at":"2015-10-01T11:07:49Z","body":"@aozarov Exceptions in `StorageRpc` and `StorageImpl` work in a different way from `DatastoreRpc` and `DatastoreImpl`:\r\n\r\n1. `StorageRpc` methods throw `StorageException` (that is the same exception thrown by `Storage`, while `DatastoreRpc` methods have their own `DatastoreRpcException`.\r\n2. In `DatastoreImpl` `RetryHelperException` are caught and translated to `DatastoreException` while `StorageImpl` does not catch them. \r\n\r\nIs there a reason for this difference (in particular the second point)? I think we should catch all `RetryHelperException` in `StorageImpl `and throw the `StorageException` that caused the problem instead."}}