azure 0.1.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/ChangeLog.txt +5 -0
  4. data/Gemfile +16 -3
  5. data/README.md +344 -2
  6. data/Rakefile +66 -37
  7. data/azure.gemspec +30 -11
  8. data/lib/azure.rb +35 -4
  9. data/lib/azure/blob/blob.rb +32 -0
  10. data/lib/azure/blob/blob_service.rb +1423 -0
  11. data/lib/azure/blob/block.rb +31 -0
  12. data/lib/azure/blob/container.rb +32 -0
  13. data/lib/azure/blob/serialization.rb +285 -0
  14. data/lib/azure/core.rb +32 -0
  15. data/lib/azure/core/auth/authorizer.rb +36 -0
  16. data/lib/azure/core/auth/shared_key.rb +21 -6
  17. data/lib/azure/core/auth/shared_key_lite.rb +17 -3
  18. data/lib/azure/core/auth/signer.rb +48 -0
  19. data/lib/azure/core/configuration.rb +152 -0
  20. data/lib/azure/core/error.rb +22 -0
  21. data/lib/azure/core/filtered_service.rb +44 -0
  22. data/lib/azure/core/http/debug_filter.rb +36 -0
  23. data/lib/azure/core/http/http_error.rb +84 -0
  24. data/lib/azure/core/http/http_filter.rb +53 -0
  25. data/lib/azure/core/http/http_request.rb +157 -0
  26. data/lib/azure/core/http/http_response.rb +133 -0
  27. data/lib/azure/core/http/retry_policy.rb +68 -0
  28. data/lib/azure/core/http/signer_filter.rb +34 -0
  29. data/lib/azure/core/service.rb +38 -32
  30. data/lib/azure/core/signed_service.rb +43 -0
  31. data/lib/azure/queue/message.rb +30 -0
  32. data/lib/azure/queue/queue.rb +29 -0
  33. data/lib/azure/queue/queue_service.rb +568 -0
  34. data/lib/azure/queue/serialization.rb +103 -0
  35. data/lib/azure/service/access_policy.rb +26 -0
  36. data/lib/azure/service/enumeration_results.rb +21 -0
  37. data/lib/azure/service/logging.rb +32 -0
  38. data/lib/azure/service/metrics.rb +31 -0
  39. data/lib/azure/service/retention_policy.rb +25 -0
  40. data/lib/azure/service/serialization.rb +240 -0
  41. data/lib/azure/service/signed_identifier.rb +30 -0
  42. data/lib/azure/service/storage_service.rb +79 -0
  43. data/lib/azure/service/storage_service_properties.rb +32 -0
  44. data/lib/azure/service_bus/action.rb +21 -0
  45. data/lib/azure/service_bus/auth/wrap_service.rb +59 -46
  46. data/lib/azure/service_bus/auth/wrap_signer.rb +69 -0
  47. data/lib/azure/service_bus/brokered_message.rb +36 -51
  48. data/lib/azure/service_bus/brokered_message_serializer.rb +48 -34
  49. data/lib/azure/service_bus/correlation_filter.rb +45 -0
  50. data/lib/azure/service_bus/empty_rule_action.rb +30 -0
  51. data/lib/azure/service_bus/false_filter.rb +38 -0
  52. data/lib/azure/service_bus/filter.rb +21 -0
  53. data/lib/azure/{core/utils → service_bus}/interval.rb +29 -22
  54. data/lib/azure/service_bus/queue.rb +230 -0
  55. data/lib/azure/service_bus/resource.rb +109 -0
  56. data/lib/azure/service_bus/rule.rb +98 -0
  57. data/lib/azure/service_bus/rule_aspect.rb +34 -0
  58. data/lib/azure/service_bus/serialization.rb +160 -0
  59. data/lib/azure/service_bus/service_bus_service.rb +819 -12
  60. data/lib/azure/service_bus/sql_filter.rb +50 -0
  61. data/lib/azure/service_bus/sql_rule_action.rb +50 -0
  62. data/lib/azure/service_bus/subscription.rb +184 -0
  63. data/lib/azure/service_bus/topic.rb +187 -0
  64. data/lib/azure/service_bus/true_filter.rb +38 -0
  65. data/lib/azure/{tables → table}/auth/shared_key.rb +33 -12
  66. data/lib/azure/table/auth/shared_key_lite.rb +44 -0
  67. data/lib/azure/table/batch.rb +330 -0
  68. data/lib/azure/table/batch_response.rb +117 -0
  69. data/lib/azure/table/edmtype.rb +127 -0
  70. data/lib/azure/table/entity.rb +31 -0
  71. data/lib/azure/table/guid.rb +24 -0
  72. data/lib/azure/table/query.rb +112 -0
  73. data/lib/azure/table/serialization.rb +105 -0
  74. data/lib/azure/table/table_service.rb +557 -0
  75. data/lib/azure/version.rb +31 -0
  76. data/test/fixtures/container_acl.xml +11 -0
  77. data/test/fixtures/{error.xml → http_error.xml} +0 -0
  78. data/test/fixtures/list_blobs.xml +121 -0
  79. data/test/fixtures/list_block_all_with_none_committed.xml +22 -0
  80. data/test/fixtures/list_blocks_all.xml +23 -0
  81. data/test/fixtures/list_blocks_committed.xml +13 -0
  82. data/test/fixtures/list_containers.xml +38 -0
  83. data/test/fixtures/list_page_ranges.xml +11 -0
  84. data/test/fixtures/logging.xml +11 -0
  85. data/test/fixtures/metrics.xml +10 -0
  86. data/test/fixtures/queues.xml +1 -1
  87. data/test/fixtures/retention_policy.xml +5 -0
  88. data/test/fixtures/storage_service_properties.xml +23 -0
  89. data/test/integration/blob/blob_metadata_test.rb +75 -0
  90. data/test/integration/blob/blob_pages_test.rb +119 -0
  91. data/test/integration/blob/blob_properties_test.rb +77 -0
  92. data/test/integration/blob/block_blob_test.rb +254 -0
  93. data/test/integration/blob/container/container_acl_test.rb +69 -0
  94. data/test/integration/blob/container/container_metadata_test.rb +50 -0
  95. data/test/integration/blob/container/create_container_test.rb +60 -0
  96. data/test/integration/blob/container/delete_container_test.rb +39 -0
  97. data/test/integration/blob/container/get_container_properties_test.rb +48 -0
  98. data/test/integration/blob/container/list_containers_test.rb +79 -0
  99. data/test/integration/blob/container/root_container_test.rb +50 -0
  100. data/test/integration/blob/copy_blob_test.rb +113 -0
  101. data/test/integration/blob/create_blob_snapshot_test.rb +80 -0
  102. data/test/integration/blob/create_page_blob_test.rb +83 -0
  103. data/test/integration/blob/delete_blob_test.rb +159 -0
  104. data/test/integration/blob/get_blob_test.rb +65 -0
  105. data/test/integration/blob/informative_errors_test.rb +39 -0
  106. data/test/integration/blob/lease/acquire_lease_test.rb +36 -0
  107. data/test/integration/blob/lease/break_lease_test.rb +40 -0
  108. data/test/integration/blob/lease/release_lease_test.rb +40 -0
  109. data/test/integration/blob/lease/renew_lease_test.rb +42 -0
  110. data/test/integration/blob/list_blobs_test.rb +113 -0
  111. data/test/integration/queue/clear_messages_test.rb +42 -0
  112. data/test/integration/queue/create_message_test.rb +75 -0
  113. data/test/integration/queue/create_queue_test.rb +50 -0
  114. data/test/integration/queue/delete_message_test.rb +67 -0
  115. data/test/integration/queue/delete_queue_test.rb +45 -0
  116. data/test/integration/queue/informative_errors_test.rb +42 -0
  117. data/test/integration/queue/list_messages_encoded_test.rb +79 -0
  118. data/test/integration/queue/list_messages_test.rb +79 -0
  119. data/test/integration/queue/list_queues_test.rb +44 -0
  120. data/test/integration/queue/peek_messages_test.rb +59 -0
  121. data/test/integration/queue/queue_metadata_test.rb +40 -0
  122. data/test/integration/queue/update_message_test.rb +74 -0
  123. data/test/integration/service_bus/informative_errors_test.rb +37 -0
  124. data/test/integration/service_bus/queues_scenario_test.rb +200 -0
  125. data/test/integration/service_bus/queues_test.rb +266 -0
  126. data/test/integration/service_bus/rules_test.rb +145 -0
  127. data/test/integration/service_bus/scenario_test.rb +102 -0
  128. data/test/integration/service_bus/subscriptions_test.rb +211 -0
  129. data/test/integration/service_bus/topics_scenario_test.rb +406 -0
  130. data/test/integration/service_bus/topics_test.rb +129 -0
  131. data/test/integration/table/create_table_test.rb +36 -0
  132. data/test/integration/table/delete_entity_batch_test.rb +107 -0
  133. data/test/integration/table/delete_entity_test.rb +94 -0
  134. data/test/integration/table/delete_table_test.rb +40 -0
  135. data/test/integration/table/get_table_test.rb +37 -0
  136. data/test/integration/table/informative_errors_test.rb +39 -0
  137. data/test/integration/table/insert_entity_batch_test.rb +100 -0
  138. data/test/integration/table/insert_entity_test.rb +88 -0
  139. data/test/integration/table/insert_or_merge_entity_batch_test.rb +159 -0
  140. data/test/integration/table/insert_or_merge_entity_test.rb +143 -0
  141. data/test/integration/table/insert_or_replace_entity_batch_test.rb +152 -0
  142. data/test/integration/table/insert_or_replace_entity_test.rb +137 -0
  143. data/test/integration/table/merge_entity_batch_test.rb +128 -0
  144. data/test/integration/table/merge_entity_test.rb +113 -0
  145. data/test/integration/table/query_entities_test.rb +195 -0
  146. data/test/integration/table/query_tables_test.rb +43 -0
  147. data/test/integration/table/query_test.rb +251 -0
  148. data/test/integration/table/table_acl_test.rb +52 -0
  149. data/test/integration/table/update_entity_batch_test.rb +149 -0
  150. data/test/integration/table/update_entity_test.rb +131 -0
  151. data/test/integration/test_helper.rb +23 -9
  152. data/test/support/env.rb +15 -1
  153. data/test/support/fixtures.rb +14 -0
  154. data/test/support/name_generator.rb +74 -0
  155. data/test/support/stubs.rb +14 -0
  156. data/test/test_helper.rb +43 -3
  157. data/test/unit/blob/blob_service_test.rb +1947 -0
  158. data/test/unit/core/auth/shared_key_lite_test.rb +51 -0
  159. data/test/unit/core/auth/shared_key_test.rb +58 -0
  160. data/test/unit/core/auth/signer_test.rb +30 -0
  161. data/test/unit/core/http/http_error_test.rb +57 -0
  162. data/test/unit/core/http/http_request_test.rb +66 -0
  163. data/test/unit/core/http/http_response_test.rb +45 -0
  164. data/test/unit/service/serialization_test.rb +502 -0
  165. data/test/unit/service/storage_service_test.rb +291 -0
  166. data/test/unit/table/edmtype_test.rb +108 -0
  167. metadata +231 -230
  168. data/Gemfile.lock +0 -36
  169. data/lib/azure/atom.rb +0 -170
  170. data/lib/azure/auth.rb +0 -29
  171. data/lib/azure/blobs.rb +0 -620
  172. data/lib/azure/blobs/blob.rb +0 -360
  173. data/lib/azure/blobs/container.rb +0 -209
  174. data/lib/azure/blobs/service.rb +0 -396
  175. data/lib/azure/blobs/shared_access_signature.rb +0 -84
  176. data/lib/azure/blobs/uri.rb +0 -60
  177. data/lib/azure/configuration.rb +0 -121
  178. data/lib/azure/core/collection.rb +0 -118
  179. data/lib/azure/core/signer.rb +0 -32
  180. data/lib/azure/core/utils/queryable.rb +0 -74
  181. data/lib/azure/core/utils/storage_service_properties.rb +0 -83
  182. data/lib/azure/core/utils/string.rb +0 -59
  183. data/lib/azure/error.rb +0 -72
  184. data/lib/azure/queues.rb +0 -272
  185. data/lib/azure/queues/message.rb +0 -174
  186. data/lib/azure/queues/queue.rb +0 -187
  187. data/lib/azure/queues/service.rb +0 -263
  188. data/lib/azure/queues/service_properties.rb +0 -152
  189. data/lib/azure/queues/uri.rb +0 -78
  190. data/lib/azure/request.rb +0 -102
  191. data/lib/azure/response.rb +0 -93
  192. data/lib/azure/service_bus.rb +0 -4
  193. data/lib/azure/service_bus/auth/authorizer.rb +0 -22
  194. data/lib/azure/service_bus/auth/uri.rb +0 -52
  195. data/lib/azure/service_bus/auth/wrap.rb +0 -37
  196. data/lib/azure/service_bus/auth/wrap_token.rb +0 -45
  197. data/lib/azure/service_bus/auth/wrap_token_manager.rb +0 -46
  198. data/lib/azure/service_bus/queues.rb +0 -194
  199. data/lib/azure/service_bus/queues/queue.rb +0 -100
  200. data/lib/azure/service_bus/queues/queue_serializer.rb +0 -51
  201. data/lib/azure/service_bus/queues/service.rb +0 -154
  202. data/lib/azure/service_bus/queues/uri.rb +0 -80
  203. data/lib/azure/service_bus/rules.rb +0 -110
  204. data/lib/azure/service_bus/rules/rule.rb +0 -97
  205. data/lib/azure/service_bus/rules/service.rb +0 -122
  206. data/lib/azure/service_bus/rules/uri.rb +0 -39
  207. data/lib/azure/service_bus/subscriptions.rb +0 -170
  208. data/lib/azure/service_bus/subscriptions/service.rb +0 -133
  209. data/lib/azure/service_bus/subscriptions/subscription.rb +0 -164
  210. data/lib/azure/service_bus/subscriptions/subscription_serializer.rb +0 -74
  211. data/lib/azure/service_bus/subscriptions/uri.rb +0 -71
  212. data/lib/azure/service_bus/topics.rb +0 -120
  213. data/lib/azure/service_bus/topics/service.rb +0 -98
  214. data/lib/azure/service_bus/topics/topic.rb +0 -122
  215. data/lib/azure/service_bus/topics/topic_serializer.rb +0 -44
  216. data/lib/azure/service_bus/topics/uri.rb +0 -58
  217. data/lib/azure/service_runtime/client/goal_state_pipe_monitor.rb +0 -21
  218. data/lib/azure/service_runtime/client/goal_state_protocol.rb +0 -18
  219. data/lib/azure/service_runtime/client/runtime_client.rb +0 -135
  220. data/lib/azure/service_runtime/deployment.rb +0 -24
  221. data/lib/azure/service_runtime/local_resource.rb +0 -15
  222. data/lib/azure/service_runtime/role.rb +0 -17
  223. data/lib/azure/service_runtime/role_environment.rb +0 -206
  224. data/lib/azure/service_runtime/role_environment_change.rb +0 -32
  225. data/lib/azure/service_runtime/role_instance.rb +0 -35
  226. data/lib/azure/service_runtime/role_instance_endpoint.rb +0 -14
  227. data/lib/azure/tables.rb +0 -215
  228. data/lib/azure/tables/auth/shared_key_lite.rb +0 -30
  229. data/lib/azure/tables/entities_collection.rb +0 -66
  230. data/lib/azure/tables/entity.rb +0 -127
  231. data/lib/azure/tables/service.rb +0 -211
  232. data/lib/azure/tables/table.rb +0 -129
  233. data/lib/azure/tables/tables_collection.rb +0 -62
  234. data/lib/azure/tables/types.rb +0 -65
  235. data/lib/azure/tables/uri.rb +0 -62
  236. data/test/integration/blobs/auth_test.rb +0 -19
  237. data/test/integration/blobs/blob_test.rb +0 -61
  238. data/test/integration/blobs/clear_page_range_test.rb +0 -19
  239. data/test/integration/blobs/copy_test.rb +0 -33
  240. data/test/integration/blobs/create_blobs_test.rb +0 -51
  241. data/test/integration/blobs/create_container_test.rb +0 -13
  242. data/test/integration/blobs/create_snapshot_test.rb +0 -17
  243. data/test/integration/blobs/delete_blob_snapshots_test.rb +0 -19
  244. data/test/integration/blobs/delete_blobs_test.rb +0 -25
  245. data/test/integration/blobs/delete_container_test.rb +0 -24
  246. data/test/integration/blobs/delete_snapshot_test.rb +0 -17
  247. data/test/integration/blobs/get_blob_snapshot_test.rb +0 -18
  248. data/test/integration/blobs/get_blobs_test.rb +0 -31
  249. data/test/integration/blobs/get_page_range_test.rb +0 -19
  250. data/test/integration/blobs/list_blobs_test.rb +0 -39
  251. data/test/integration/blobs/list_containers_test.rb +0 -28
  252. data/test/integration/blobs/manage_blob_leases_test.rb +0 -45
  253. data/test/integration/blobs/manage_blob_metadata_test.rb +0 -51
  254. data/test/integration/blobs/manage_blob_properties_test.rb +0 -25
  255. data/test/integration/blobs/manage_blob_service_properties_test.rb +0 -38
  256. data/test/integration/blobs/manage_container_metadata_test.rb +0 -46
  257. data/test/integration/blobs/manage_container_permissions_test.rb +0 -17
  258. data/test/integration/blobs/update_page_range_test.rb +0 -20
  259. data/test/integration/queues/clear_messages_test.rb +0 -22
  260. data/test/integration/queues/create_queue_test.rb +0 -13
  261. data/test/integration/queues/delete_message_test.rb +0 -42
  262. data/test/integration/queues/delete_queue_test.rb +0 -24
  263. data/test/integration/queues/get_messages_test.rb +0 -39
  264. data/test/integration/queues/list_queues_test.rb +0 -43
  265. data/test/integration/queues/manage_queue_metadata_test.rb +0 -45
  266. data/test/integration/queues/manage_queue_service_properties_test.rb +0 -27
  267. data/test/integration/queues/peek_messages_test.rb +0 -55
  268. data/test/integration/queues/put_message_test.rb +0 -31
  269. data/test/integration/queues/update_message_test.rb +0 -46
  270. data/test/integration/service_bus/auth_test.rb +0 -18
  271. data/test/integration/service_bus/queues/create_queue_test.rb +0 -25
  272. data/test/integration/service_bus/queues/delete_message_from_queue_test.rb +0 -29
  273. data/test/integration/service_bus/queues/delete_queue_test.rb +0 -25
  274. data/test/integration/service_bus/queues/get_queue_test.rb +0 -23
  275. data/test/integration/service_bus/queues/list_queues_test.rb +0 -39
  276. data/test/integration/service_bus/queues/peek_message_from_queue_test.rb +0 -34
  277. data/test/integration/service_bus/queues/read_and_delete_message_from_queue_test.rb +0 -31
  278. data/test/integration/service_bus/queues/send_message_to_queue_test.rb +0 -22
  279. data/test/integration/service_bus/queues/unlock_message_from_queue_test.rb +0 -36
  280. data/test/integration/service_bus/rules/create_rule_test.rb +0 -19
  281. data/test/integration/service_bus/rules/delete_rule_test.rb +0 -17
  282. data/test/integration/service_bus/rules/get_rule_test.rb +0 -21
  283. data/test/integration/service_bus/rules/list_rules_test.rb +0 -24
  284. data/test/integration/service_bus/rules/rule_test.rb +0 -16
  285. data/test/integration/service_bus/subscriptions/create_subscription_test.rb +0 -25
  286. data/test/integration/service_bus/subscriptions/delete_message_from_subscription_test.rb +0 -31
  287. data/test/integration/service_bus/subscriptions/delete_subscription_test.rb +0 -30
  288. data/test/integration/service_bus/subscriptions/fetch_subscription_test.rb +0 -28
  289. data/test/integration/service_bus/subscriptions/list_subscriptions_test.rb +0 -23
  290. data/test/integration/service_bus/subscriptions/peek_lock_message_from_subscription_test.rb +0 -42
  291. data/test/integration/service_bus/subscriptions/read_delete_message_from_subscription_test.rb +0 -36
  292. data/test/integration/service_bus/subscriptions/subscription_test.rb +0 -31
  293. data/test/integration/service_bus/subscriptions/unlock_message_from_subscription_test.rb +0 -43
  294. data/test/integration/service_bus/topics/create_topic_test.rb +0 -25
  295. data/test/integration/service_bus/topics/delete_topic_test.rb +0 -25
  296. data/test/integration/service_bus/topics/get_topic_test.rb +0 -23
  297. data/test/integration/service_bus/topics/list_topics_test.rb +0 -39
  298. data/test/integration/service_bus/topics/send_message_to_topic_test.rb +0 -23
  299. data/test/integration/tables/auth_test.rb +0 -29
  300. data/test/integration/tables/creating_tables_test.rb +0 -16
  301. data/test/integration/tables/delete_entity_test.rb +0 -39
  302. data/test/integration/tables/deleting_table_test.rb +0 -22
  303. data/test/integration/tables/insert_entity_test.rb +0 -23
  304. data/test/integration/tables/merge_entity_test.rb +0 -28
  305. data/test/integration/tables/query_entities_test.rb +0 -131
  306. data/test/integration/tables/query_tables_test.rb +0 -63
  307. data/test/integration/tables/update_entity_test.rb +0 -54
  308. data/test/support/blobs.rb +0 -12
  309. data/test/support/table_names.rb +0 -44
  310. data/test/unit/atom_test.rb +0 -58
  311. data/test/unit/auth_test.rb +0 -24
  312. data/test/unit/blobs/blob_test.rb +0 -5
  313. data/test/unit/blobs/container_test.rb +0 -67
  314. data/test/unit/blobs/service_test.rb +0 -17
  315. data/test/unit/blobs/shared_access_signature_test.rb +0 -66
  316. data/test/unit/blobs_test.rb +0 -156
  317. data/test/unit/core/service_test.rb +0 -57
  318. data/test/unit/core/utils/interval_test.rb +0 -70
  319. data/test/unit/core/utils/queryable_test.rb +0 -69
  320. data/test/unit/core/utils/storage_service_properties_test.rb +0 -66
  321. data/test/unit/error_test.rb +0 -39
  322. data/test/unit/queues/message_test.rb +0 -40
  323. data/test/unit/queues/queue_test.rb +0 -64
  324. data/test/unit/queues/service_properties.rb +0 -35
  325. data/test/unit/request_test.rb +0 -38
  326. data/test/unit/response_test.rb +0 -43
  327. data/test/unit/service_bus/auth/authorizer_test.rb +0 -27
  328. data/test/unit/service_bus/auth/wrap_token_test.rb +0 -28
  329. data/test/unit/service_bus/queues/queue_test.rb +0 -38
  330. data/test/unit/service_bus/topics/topic_test.rb +0 -33
  331. data/test/unit/service_runtime/data/goalstate.xml +0 -9
  332. data/test/unit/service_runtime/data/roleenvironmentdata.xml +0 -29
  333. data/test/unit/service_runtime/data/runtime.xml +0 -6
  334. data/test/unit/service_runtime/role_environment_test.rb +0 -144
  335. data/test/unit/tables/auth/shared_key_lite_test.rb +0 -39
  336. data/test/unit/tables/auth/shared_key_test.rb +0 -45
  337. data/test/unit/tables/entities_collection_test.rb +0 -39
  338. data/test/unit/tables/entity_test.rb +0 -72
  339. data/test/unit/tables/table_test.rb +0 -57
  340. data/test/unit/tables_test.rb +0 -302
  341. data/test/unit/types_test.rb +0 -67
@@ -1,62 +0,0 @@
1
- require "azure/configuration"
2
- require "uri"
3
-
4
- module Azure
5
- module Tables
6
- module URI
7
- # Public: generate the URI for the collection of tables.
8
- #
9
- # host - The host of the API.
10
- #
11
- # Returns a URI.
12
- def self.collection(host=Azure.config.table_host)
13
- generate(host, "Tables")
14
- end
15
-
16
- # Public: generate the URI for a specific table.
17
- #
18
- # name - The table name. If this is a URI, we just return this.
19
- # host - The host of the API.
20
- #
21
- # Returns a URI.
22
- def self.table(name, host=Azure.config.table_host)
23
- return name if name.kind_of? ::URI
24
- generate(host, "Tables('#{name}')")
25
- end
26
-
27
- # Public: generate the URI for an entity or group of entities in a table.
28
- # If both the `partition_key` and `row_key` are specified, then the URI
29
- # will match the entity under those specific keys.
30
- #
31
- # table_name - The table name.
32
- # partition_key - The desired partition key (optional).
33
- # row_key - The desired row key (optional).
34
- # host - The host of the API.
35
- #
36
- # Returns a URI.
37
- def self.entities(table_name, partition_key=nil, row_key=nil, host=Azure.config.table_host)
38
- return table_name if table_name.kind_of? ::URI
39
-
40
- path = if partition_key && row_key
41
- "%s(PartitionKey='%s',RowKey='%s')" % [
42
- table_name, partition_key, row_key
43
- ]
44
- else
45
- "%s()" % table_name
46
- end
47
-
48
- generate(host, path)
49
- end
50
-
51
- # Utility method to generate the URI.
52
- #
53
- # host - A String with the URI's host.
54
- # path - A String with the URI's path.
55
- #
56
- # Returns a URI.
57
- def self.generate(host, path)
58
- ::URI.parse(File.join(host, path))
59
- end
60
- end
61
- end
62
- end
@@ -1,19 +0,0 @@
1
- require "integration/test_helper"
2
- require "azure/core/auth/shared_key"
3
-
4
- describe "Authorizing against the server" do
5
- let :uri do
6
- URI(Azure.config.blob_host + "/?comp=list")
7
- end
8
-
9
- it "can make a simple request using SharedKey" do
10
- auth = Azure::Auth.new
11
- signer = Azure::Core::Auth::SharedKey.new
12
-
13
- request = Azure::Request.new(:get, uri)
14
- auth.sign(request, signer)
15
- response = request.request!
16
-
17
- response.code.must_equal 200
18
- end
19
- end
@@ -1,61 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe Azure::Blobs::Blob do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- end
7
-
8
- after do
9
- ContainerNameHelper.clean
10
- end
11
-
12
- it "uploads a file in blocks of 1024 bytes from string filename" do
13
- blob = create_block_blob(:filename => nil, :container => @container, :metadata => {:meta => "data"})
14
- filename = File.expand_path("./test/fixtures/32px-fulls-black.jpg")
15
- blob.update(filename, "image/jpeg", 1024).must_equal true
16
- end
17
-
18
- it "uploads a file in blocks of 1024 bytes from an io stream" do
19
- blob = create_block_blob(:filename => nil, :container => @container, :metadata => {:meta => "data"})
20
- filename = File.expand_path("./test/fixtures/32px-fulls-black.jpg")
21
- file = File.open(filename)
22
- blob.update(file, "image/jpeg", 1024).must_equal true
23
- file.close
24
- end
25
-
26
- describe "Page Blobs" do
27
- it "should update a range of pages" do
28
- stream = "Hello World!" + (" " * (1024 - 12))
29
- blob = Azure::Blobs.create_page_blob(@container, "myBlob")
30
- blob.update_range(0, 1023, stream).must_equal true
31
- end
32
-
33
- it "should be able to clear a page range" do
34
- stream = "Hello World!" + (" " * (1024 - 12))
35
- blob = Azure::Blobs.create_page_blob(@container, "myBlob")
36
- blob.update_range(0, 1023, stream).must_equal true
37
- blob.clear_range(0, 1023).must_equal true
38
- end
39
-
40
- it "should retrive page range list" do
41
- stream = "Hello World!" + (" " * (1024 - 12))
42
- blob = Azure::Blobs.create_page_blob(@container, "myBlob")
43
- blob.update_range(0, 1023, stream).must_equal true
44
- blob.get_range.must_equal [0..1023]
45
- end
46
- end
47
-
48
- it "should be able to create a snapshot from a blob" do
49
- filename = File.expand_path("./test/fixtures/32px-fulls-black.jpg")
50
- blob = Azure::Blobs.create_block_blob(@container, "myBlob", filename)
51
- snapshot = blob.create_snapshot
52
- snapshot.must_be :kind_of?, Azure::Blobs::Snapshot
53
- end
54
-
55
- it "should be able to delete blob snapshots" do
56
- filename = File.expand_path("./test/fixtures/32px-fulls-black.jpg")
57
- blob = Azure::Blobs.create_block_blob(@container, "myBlob", filename)
58
- snapshot = blob.create_snapshot
59
- snapshot.delete.must_equal true
60
- end
61
- end
@@ -1,19 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Clear Page Range" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- end
8
-
9
- after do
10
- ContainerNameHelper.clean
11
- end
12
-
13
- it "should be able to clear a range of bytes" do
14
- stream = "Hello World!" + (" " * (1024 - 12))
15
-
16
- Azure::Blobs.update_page_range(@blob, 0, 1023, stream).must_equal true
17
- Azure::Blobs.clear_page_range(@blob, 0, 1023).must_equal true
18
- end
19
- end
@@ -1,33 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Copy Blobs" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @container_2 = Azure::Blobs.create_container(ContainerNameHelper.name)
7
-
8
- @page_blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
9
- @block_blob = Azure::Blobs.create_block_blob(@container, "myBlob2", Fixtures["32px-fulls-black.jpg"].to_path)
10
- end
11
-
12
- after do
13
- ContainerNameHelper.clean
14
- end
15
-
16
- it "should be able to copy a page blob" do
17
- result = Azure::Blobs.copy(@page_blob, @container_2, "myPageBlob", {"origin" => "copied"})
18
- result.must_be :kind_of?, Azure::Blobs::PageBlob
19
- result.metadata["origin"].must_equal "copied"
20
- end
21
-
22
- it "should be able to copy a block blob" do
23
- result = Azure::Blobs.copy(@block_blob, @container_2, "myBlockBlob", {"origin" => "copied"})
24
- result.must_be :kind_of?, Azure::Blobs::BlockBlob
25
- result.metadata["origin"].must_equal "copied"
26
- end
27
-
28
- it "should be able to copy a blob snapshot" do
29
- result = Azure::Blobs.copy(@block_blob.create_snapshot, @container_2, "myCopiedSnapshot", {"origin" => "copied"})
30
- result.must_be :kind_of?, Azure::Blobs::Blob
31
- result.metadata["origin"].must_equal "copied"
32
- end
33
- end
@@ -1,51 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Creating a Blob" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- end
7
-
8
- after do
9
- ContainerNameHelper.clean
10
- end
11
-
12
- describe "Block Blobs" do
13
- it "creates a small block blob" do
14
- blob = create_block_blob
15
- blob.must_be :kind_of?, Azure::Blobs::BlockBlob
16
- end
17
-
18
- it "putting a block in a blob" do
19
- blob = create_block_blob(:filename => nil)
20
-
21
- filename = File.expand_path("./test/fixtures/32px-fulls-black.jpg")
22
- blockid = Base64.strict_encode64("#{blob.name}#{Time.now.to_f}")
23
-
24
- res = Azure::Blobs.put_block(blob, File.open(filename) {|f| f.read}, blockid)
25
-
26
- res.must_equal true
27
- end
28
-
29
- it "list exitent blobs" do
30
- create_block_blob
31
-
32
- res = Azure::Blobs.blobs(@container)
33
-
34
- res.must_be :kind_of?, Array
35
- res.size.must_equal 1
36
- res.first.properties["BlobType"].must_equal "BlockBlob"
37
- end
38
-
39
- it "creates a blob with metadata" do
40
- blob = create_block_blob(:metadata => {"name" => "John"})
41
- blob.metadata["name"].must_equal "John"
42
- end
43
- end
44
-
45
- describe "Page Blobs" do
46
- it "creates a page block blob" do
47
- blob = create_page_blob(@container)
48
- blob.must_be :kind_of?, Azure::Blobs::PageBlob
49
- end
50
- end
51
- end
@@ -1,13 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Creating a container" do
4
- after do
5
- ContainerNameHelper.clean
6
- end
7
-
8
- it "returns the container" do
9
- container = Azure::Blobs.create_container(ContainerNameHelper.name)
10
- container.must_be_kind_of Azure::Blobs::Container
11
- assert container.valid?, "must be valid"
12
- end
13
- end
@@ -1,17 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Create Blob Snapshots" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- end
8
-
9
- after do
10
- ContainerNameHelper.clean
11
- end
12
-
13
- it "should be able to get a range of bytes" do
14
- result = Azure::Blobs.create_snapshot(@blob)
15
- result.must_be :kind_of?, Azure::Blobs::Snapshot
16
- end
17
- end
@@ -1,19 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Delete Blob Snapshots" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- end
8
-
9
- after do
10
- ContainerNameHelper.clean
11
- end
12
-
13
- it "should be able to delete only the snapshots belonging to this blob" do
14
- snapshot = Azure::Blobs.create_snapshot(@blob)
15
- Azure::Blobs.delete_blob_snapshots(@blob).must_equal true
16
- blob = Azure::Blobs.get_blob(@container, @blob.name)
17
- blob.error.must_be_nil
18
- end
19
- end
@@ -1,25 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Delete Blobs" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- end
7
-
8
- after do
9
- ContainerNameHelper.clean
10
- end
11
-
12
- it "should delete a blob without snapshots" do
13
- blob = create_block_blob
14
- blob.delete.must_equal true
15
- end
16
-
17
- it "should delete a blob with snapshots" do
18
- blob = create_block_blob
19
- snapshot = Azure::Blobs.create_snapshot(blob)
20
- Azure::Blobs.delete_blob(blob, true).must_equal true
21
- blob = Azure::Blobs.get_blob(@container, blob.name)
22
- blob.error.wont_be_nil
23
- end
24
- end
25
-
@@ -1,24 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Deleting a container" do
4
- after do
5
- ContainerNameHelper.clean
6
- end
7
-
8
- it "should return false if the container cannot be deleted" do
9
- container = Azure::Blobs::Container.new(ContainerNameHelper.name)
10
- response = container.delete
11
-
12
- response.must_equal false
13
- refute container.valid?
14
- refute container.frozen?
15
- end
16
-
17
- it "should return true if the container can be deleted" do
18
- container = Azure::Blobs.create_container(ContainerNameHelper.name)
19
- response = container.delete
20
-
21
- response.must_equal true
22
- assert container.frozen?
23
- end
24
- end
@@ -1,17 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Delete Snapshots" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- end
8
-
9
- after do
10
- ContainerNameHelper.clean
11
- end
12
-
13
- it "should be able to delete a snapshot" do
14
- snapshot = Azure::Blobs.create_snapshot(@blob)
15
- Azure::Blobs.delete_snapshot(snapshot).must_equal true
16
- end
17
- end
@@ -1,18 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Get Blob Snapshot" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- end
8
-
9
- after do
10
- ContainerNameHelper.clean
11
- end
12
-
13
- it "should be able to fetch a snapshot from a blob snapshot id" do
14
- snapshot = Azure::Blobs.create_snapshot(@blob)
15
- snapshot = Azure::Blobs.get_snapshot(@container, @blob.name, snapshot.id)
16
- snapshot.must_be :kind_of?, Azure::Blobs::Snapshot
17
- end
18
- end
@@ -1,31 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Get Blobs" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- end
7
-
8
- after do
9
- ContainerNameHelper.clean
10
- end
11
-
12
- it "should get a blob" do
13
- create_block_blob(:filename => Fixtures["32px-fulls-black.jpg"].to_path)
14
- blob = Azure::Blobs.get_blob(@container, "myblob")
15
-
16
- blob.must_be :kind_of?, Azure::Blobs::Blob
17
- file_content = Base64.strict_encode64(Fixtures["32px-fulls-black.jpg"].read)
18
- Base64.strict_encode64(blob.content).must_equal file_content
19
- end
20
-
21
- it "should fetch blob properties" do
22
- blob = create_block_blob(:name => "myblob")
23
- blob = Azure::Blobs.get_blob(@container, "myblob")
24
- blob.properties["etag"].wont_be_nil
25
- blob.properties["content-length"].wont_be_nil
26
- blob.properties["content-type"].wont_be_nil
27
- blob.properties["last-modified"].wont_be_nil
28
- blob.properties["etag"].wont_be_nil
29
- blob.properties["x-ms-lease-status"].wont_be_nil
30
- end
31
- end
@@ -1,19 +0,0 @@
1
- require "integration/test_helper"
2
-
3
- describe "Get Page Range" do
4
- before do
5
- @container = Azure::Blobs.create_container(ContainerNameHelper.name)
6
- @blob = Azure::Blobs.create_page_blob(@container, "myBlob", 2048)
7
- stream = "Hello World!" + (" " * (1024 - 12))
8
- Azure::Blobs.update_page_range(@blob, 0, 1023, stream).must_equal true
9
- end
10
-
11
- after do
12
- ContainerNameHelper.clean
13
- end
14
-
15
- it "should be able to get a range of bytes" do
16
- result = Azure::Blobs.get_page_range(@blob)
17
- result.must_be :kind_of?, Array
18
- end
19
- end