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,57 +0,0 @@
1
- require "test_helper"
2
- require "azure/core/service"
3
-
4
- describe Azure::Core::Service do
5
- let :signer do
6
- double()
7
- end
8
-
9
- let :request do
10
- req = MiniTest::Mock.new
11
- req.stub(:request!, response)
12
- req
13
- end
14
-
15
- let :response do
16
- double()
17
- end
18
-
19
- let :request_factory do
20
- rf = MiniTest::Mock.new
21
- rf.stub(:new, request)
22
- rf
23
- end
24
-
25
- let :authorizer do
26
- auth = MiniTest::Mock.new
27
- auth.stub(:sign)
28
- auth
29
- end
30
-
31
- subject do
32
- Azure::Core::Service.new(signer, authorizer)
33
- end
34
-
35
- it "instantiates a new request and signs it" do
36
- request_factory.expect(:new, request, [:get, "/", nil])
37
- authorizer.expect(:sign, request, [request, signer])
38
-
39
- subject.call(:get, "/", nil, request_factory)
40
-
41
- request_factory.verify
42
- authorizer.verify
43
- end
44
-
45
- it "returns the response" do
46
- resp = subject.call(:get, "/", nil, request_factory)
47
- resp.must_equal response
48
- end
49
-
50
- it "yields the request before signing it" do
51
- subject.call(:get, "/", nil, request_factory) do |req|
52
- authorizer.expect(:sign, req, [req, signer])
53
- end
54
-
55
- authorizer.verify
56
- end
57
- end
@@ -1,70 +0,0 @@
1
- require "test_helper"
2
- require "azure/core/utils/interval"
3
-
4
- describe Azure::Core::Utils::Interval do
5
- let :described_class do
6
- Azure::Core::Utils::Interval
7
- end
8
-
9
- describe ".parse" do
10
- def self.assert_parses(interval_string, seconds)
11
- it "parses #{interval_string.inspect} into #{seconds.inspect}s" do
12
- described_class.parse(interval_string).must_equal seconds
13
- end
14
- end
15
-
16
- assert_parses "P1D", 86400
17
- assert_parses "P1DT0S", 86400
18
- assert_parses "PT1H", 3600
19
- assert_parses "PT1M", 60
20
- assert_parses "PT1S", 1
21
-
22
- assert_parses "PT0.12S", 0.12
23
-
24
- assert_parses "P1DT1H1M1S", 90061
25
- assert_parses "P8DT3H24M15.12S", 703455.12
26
- end
27
-
28
- describe ".try_convert" do
29
- it "creates an Interval out of a number" do
30
- result = described_class.try_convert(10.5)
31
- result.class.must_equal described_class
32
- result.must_equal 10.5
33
- end
34
-
35
- it "creates an Interval out of a properly formatted string" do
36
- result = described_class.try_convert("PT1H")
37
- result.class.must_equal described_class
38
- result.must_equal 3600
39
- end
40
-
41
- it "returns nil if passed a malformed string" do
42
- result = described_class.try_convert("WAT?")
43
- result.must_be_nil
44
- end
45
-
46
- it "returns nil if passed nil" do
47
- result = described_class.try_convert(nil)
48
- result.must_be_nil
49
- end
50
- end
51
-
52
- describe "#to_s" do
53
- def self.assert_converts(seconds, interval_string)
54
- it "converts #{seconds.inspect}s into #{interval_string.inspect}" do
55
- described_class.new(seconds).to_s.must_equal interval_string
56
- end
57
- end
58
-
59
- assert_converts 86400, "P1D"
60
- assert_converts 3600, "PT1H"
61
- assert_converts 60, "PT1M"
62
- assert_converts 1, "PT1S"
63
- assert_converts 0, "PT0S"
64
-
65
- assert_converts 0.12, "PT0.12S"
66
-
67
- assert_converts 90061, "P1DT1H1M1S"
68
- assert_converts 703455.5, "P8DT3H24M15.5S"
69
- end
70
- end
@@ -1,69 +0,0 @@
1
- require 'test_helper'
2
- require 'azure/core/utils/queryable'
3
-
4
- describe Azure::Core::Utils::Queryable do
5
-
6
- include Azure::Core::Utils::Queryable
7
-
8
- describe "Translating a hash of options" do
9
- it "accept :skip" do
10
- opts = { :skip => 2 }
11
- translate_options_hash(opts).must_equal({ '$skip' => 2 })
12
- end
13
-
14
- it "accept :top" do
15
- opts = { :top => 3 }
16
- translate_options_hash(opts).must_equal({ '$top' => 3 })
17
- end
18
- end
19
-
20
- describe "Building query strings" do
21
- it "should build an empty string" do
22
- query = {}
23
- build_query(query).must_equal nil
24
- end
25
-
26
- it "should accept :select" do
27
- query = {
28
- :select => ["FirstName", "Email"]
29
- }
30
- build_query(query).must_equal "$select=FirstName,Email"
31
- end
32
-
33
- it "should accept :top" do
34
- query = {
35
- :top => 5
36
- }
37
- build_query(query).must_equal "$top=5"
38
- end
39
-
40
- it "should accept :filter" do
41
- query = {
42
- :filter => "FirstName eq 'Alfred'"
43
- }
44
- build_query(query).must_equal "$filter=FirstName%20eq%20'Alfred'"
45
- end
46
-
47
- it "should accept NextTableName" do
48
- query = {
49
- "NextTableName" => "my_table"
50
- }
51
- build_query(query).must_equal "NextTableName=my_table"
52
- end
53
-
54
- it "should accept NextPartitionKey and NextRowKey" do
55
- query = {
56
- "NextPartitionKey" => "part1",
57
- "NextRowKey" => "row1",
58
- }
59
- build_query(query).must_equal "NextPartitionKey=part1&NextRowKey=row1"
60
- end
61
-
62
- it "should accept :skip" do
63
- query = {
64
- :skip => 2
65
- }
66
- build_query(query).must_equal "$skip=2"
67
- end
68
- end
69
- end
@@ -1,66 +0,0 @@
1
- require 'test_helper'
2
- require 'azure/core/utils/storage_service_properties'
3
-
4
- describe Azure::Core::Utils::StorageServiceProperties do
5
- it "convert an option hash to a service properties xml" do
6
-
7
- options = {
8
- "Logging" => {
9
- "Version" => "1.0",
10
- "Delete" => "true",
11
- "Read" => "true",
12
- "Write" => "true",
13
- "RetentionPolicy" => {
14
- "Enabled" => true,
15
- "Days" => 7
16
- }
17
- },
18
- "Metrics"=> {
19
- "Version" => "1.0",
20
- "Enabled" => "true",
21
- "IncludeAPIs" => "false",
22
- "RetentionPolicy" => {
23
- "Enabled" => true,
24
- "Days" => 7
25
- }
26
- }
27
- }
28
-
29
- xml = Azure::Core::Utils::StorageServiceProperties.hash_to_xml(options)
30
-
31
- (xml / "Logging" / "Version").text.must_equal "1.0"
32
- (xml / "Logging" / "Delete").text.must_equal "true"
33
- (xml / "Metrics" / "IncludeAPIs").text.must_equal "false"
34
- (xml / "Metrics" / "RetentionPolicy" / "Enabled").text.must_equal "true"
35
- (xml / "Metrics" / "RetentionPolicy" / "Days").text.must_equal "7"
36
- end
37
-
38
- it "should be able to convert from an xml document string to a hash" do
39
- xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
40
- <StorageServiceProperties>
41
- <Logging>
42
- <Version>version-number</Version>
43
- <Delete>true</Delete>
44
- <Read>true</Read>
45
- <Write>true</Write>
46
- <RetentionPolicy>
47
- <Enabled>true</Enabled>
48
- <Days>number-of-days</Days>
49
- </RetentionPolicy>
50
- </Logging>
51
- <Metrics>
52
- <Version>version-number</Version>
53
- <Enabled>true</Enabled>
54
- <IncludeAPIs>true</IncludeAPIs>
55
- <RetentionPolicy>
56
- <Enabled>true</Enabled>
57
- <Days>number-of-days</Days>
58
- </RetentionPolicy>
59
- </Metrics>
60
- <DefaultServiceVersion>default-service-version-string</DefaultServiceVersion>
61
- </StorageServiceProperties>"
62
-
63
- hash = Azure::Core::Utils::StorageServiceProperties.xml_string_to_hash(xml)
64
- hash["Logging"]["Read"].must_equal "true"
65
- end
66
- end
@@ -1,39 +0,0 @@
1
- require "test_helper"
2
- require "azure/error"
3
-
4
- describe Azure::HTTPError do
5
- let :http_response do
6
- double(body: Fixtures[:error], code: 409)
7
- end
8
-
9
- subject do
10
- Azure::HTTPError.new(http_response)
11
- end
12
-
13
- it "is an Azure::Error" do
14
- subject.must_be_kind_of Azure::Error
15
- end
16
-
17
- it "lets us see the errors'status code" do
18
- subject.code.must_equal 409
19
- end
20
-
21
- it "lets us see the error's type" do
22
- subject.type.must_equal "TableAlreadyExists"
23
- end
24
-
25
- it "lets us see the error's description" do
26
- subject.description.must_equal "The table specified already exists."
27
- end
28
-
29
- it "generates an error message that wraps both the type and description" do
30
- subject.message.must_equal "TableAlreadyExists (409): The table specified already exists."
31
- end
32
-
33
- it "sets the type to unknown if the response body is not an XML" do
34
- http_response.body = "\r\nInvalid request\r\n"
35
-
36
- subject.type.must_equal "Unknown"
37
- subject.description.must_equal "Invalid request"
38
- end
39
- end
@@ -1,40 +0,0 @@
1
- require "test_helper"
2
- require "azure/queues/queue"
3
- require "azure/queues/message"
4
- require "azure/queues/uri"
5
-
6
- describe Azure::Queues::Message do
7
-
8
- let :service do
9
- MiniTest::Mock.new
10
- end
11
-
12
- let :queue do
13
- Azure::Queues::Queue.new(
14
- "name",
15
- Azure::Queues::URI.queue("name", {}, "http://username.blob.core.windows.net"),
16
- {},
17
- service
18
- )
19
- end
20
-
21
- describe ".from_node" do
22
- let :node do
23
- Nokogiri::XML(Fixtures[:messages]) % "QueueMessagesList"
24
- end
25
-
26
- subject do
27
- Azure::Queues::Message.from_node(node) { |m| m.queue = queue }
28
- end
29
-
30
- it "parses the node and gets the correct values for each attribute" do
31
- subject.id.must_equal "5974b586-0df3-4e2d-ad0c-18e3892bfca2"
32
- subject.insertion_time.must_equal Time.parse("Fri, 09 Oct 2009 21:04:30 GMT")
33
- subject.expiration_time.must_equal Time.parse("Fri, 16 Oct 2009 21:04:30 GMT")
34
- subject.pop_receipt.must_equal "YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw"
35
- subject.time_next_visible.must_equal Time.parse("Fri, 09 Oct 2009 23:29:20 GMT")
36
- subject.dequeue_count.must_equal 1
37
- subject.text.must_equal "PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4="
38
- end
39
- end
40
- end
@@ -1,64 +0,0 @@
1
- require "test_helper"
2
- require "azure/queues/queue"
3
-
4
- describe Azure::Queues::Queue do
5
- describe ".from_node" do
6
- let :node do
7
- Nokogiri::XML(Fixtures[:queues]) % "Queues"
8
- end
9
-
10
- subject do
11
- Azure::Queues::Queue.from_node(node)
12
- end
13
-
14
- it "gets the name out of the node" do
15
- subject.name.must_equal "queue-name"
16
- end
17
-
18
- it "gets the url out of the node" do
19
- subject.url.must_equal URI("http://myaccount.queue.core.windows.net/queue-name")
20
- end
21
-
22
- it "gets the metadata out of the node" do
23
- subject.metadata["Color"].must_equal "red"
24
- subject.metadata["Shape"].must_equal "square"
25
- end
26
- end
27
-
28
- let :service do
29
- MiniTest::Mock.new
30
- end
31
-
32
- let :queue do
33
- Azure::Queues::Queue.new(
34
- "name",
35
- Azure::Queues::URI.queue("name", {}, "http://myaccount.queue.core.windows.net"),
36
- {},
37
- service
38
- )
39
- end
40
-
41
- describe "#delete" do
42
- it "delegates to the service's #delete implementation" do
43
- service.expect(:delete, true, [queue])
44
- queue.delete
45
- service.verify
46
- end
47
- end
48
-
49
- describe "#load_metadata!" do
50
- it "delegates to the service's #load_metadata implementation" do
51
- service.expect(:load_metadata, {}, [queue])
52
- queue.load_metadata!
53
- service.verify
54
- end
55
- end
56
-
57
- describe "#save_metadata!" do
58
- it "delegates to the service's #save_metadata implementation" do
59
- service.expect(:save_metadata, {}, [queue])
60
- queue.save_metadata!
61
- service.verify
62
- end
63
- end
64
- end
@@ -1,35 +0,0 @@
1
- require "test_helper"
2
- require "azure/queues/queue"
3
- require "azure/queues/service_properties"
4
- require "azure/queues/uri"
5
-
6
- describe Azure::Queues::ServiceProperties do
7
- describe ".from_node" do
8
- let :node do
9
- Nokogiri::XML(Fixtures[:queue_service_properties]) % "StorageServiceProperties"
10
- end
11
-
12
- subject do
13
- Azure::Queues::ServiceProperties.from_node(node)
14
- end
15
-
16
- it "parses the node and gets the correct values for each attribute" do
17
- subject.logging.must_be :kind_of?, Azure::Queues::ServiceProperties::Logging
18
- subject.logging.version.must_equal "1.0"
19
- subject.logging.delete.must_equal true
20
- subject.logging.read.must_equal false
21
- subject.logging.write.must_equal true
22
- subject.logging.retention_policy.must_be :kind_of?, Azure::Queues::ServiceProperties::RetentionPolicy
23
- subject.logging.retention_policy.enabled.must_equal true
24
- subject.logging.retention_policy.days.must_equal "7"
25
-
26
- subject.metrics.must_be :kind_of?, Azure::Queues::ServiceProperties::Metrics
27
- subject.metrics.version.must_equal "1.0"
28
- subject.metrics.enabled.must_equal true
29
- subject.metrics.include_apis.must_equal false
30
- subject.metrics.retention_policy.must_be :kind_of?, Azure::Queues::ServiceProperties::RetentionPolicy
31
- subject.metrics.retention_policy.enabled.must_equal true
32
- subject.metrics.retention_policy.days.must_equal "3"
33
- end
34
- end
35
- end