hawkular-client 2.9.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.rdoc +27 -0
  3. data/README.rdoc +14 -14
  4. data/lib/hawkular/alerts/alerts_api.rb +43 -7
  5. data/lib/hawkular/client_utils.rb +0 -3
  6. data/lib/hawkular/hawkular_client.rb +1 -1
  7. data/lib/hawkular/inventory/entities.rb +55 -19
  8. data/lib/hawkular/inventory/inventory_api.rb +313 -412
  9. data/lib/hawkular/metrics/metric_api.rb +5 -2
  10. data/lib/hawkular/operations/operations_api.rb +0 -8
  11. data/lib/hawkular/tokens/tokens_api.rb +0 -3
  12. data/lib/hawkular/version.rb +1 -1
  13. metadata +3 -647
  14. data/.coveralls.yml +0 -1
  15. data/.gitignore +0 -56
  16. data/.rubocop.yml +0 -32
  17. data/.travis.yml +0 -20
  18. data/.travis/start_hawkular_services.sh +0 -21
  19. data/.travis/wait_for_services.rb +0 -39
  20. data/.yardopts +0 -1
  21. data/Gemfile +0 -2
  22. data/Rakefile +0 -20
  23. data/api_breaking_changes.rdoc +0 -84
  24. data/docker-compose.yml +0 -17
  25. data/hawkularclient.gemspec +0 -43
  26. data/spec/README.rdoc +0 -62
  27. data/spec/integration/alert-resources/alerts-test-data.json +0 -40
  28. data/spec/integration/alert-resources/events-test-data.json +0 -78
  29. data/spec/integration/alert-resources/triggers-test-data.json +0 -66
  30. data/spec/integration/alerts_spec.rb +0 -774
  31. data/spec/integration/env_config_spec.rb +0 -39
  32. data/spec/integration/hawkular_client_spec.rb +0 -304
  33. data/spec/integration/hello-world-definitions.json +0 -45
  34. data/spec/integration/inventory_spec.rb +0 -680
  35. data/spec/integration/logger_spec.rb +0 -36
  36. data/spec/integration/metric_spec.rb +0 -953
  37. data/spec/integration/operations_spec.rb +0 -591
  38. data/spec/integration/tokens_spec.rb +0 -49
  39. data/spec/resources/driver.jar +0 -0
  40. data/spec/resources/sample.war +0 -0
  41. data/spec/spec_helper.rb +0 -336
  42. data/spec/unit/base_spec.rb +0 -256
  43. data/spec/unit/canonical_path_spec.rb +0 -102
  44. data/spec/unit/client_spec.rb +0 -55
  45. data/spec/unit/deprecations_spec.rb +0 -19
  46. data/spec/vcr/vcr_setup.rb +0 -16
  47. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_acknowledge_an_alert.yml +0 -205
  48. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_add_tags_to_existing_alert.yml +0 -210
  49. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_fetch_single_alert.yml +0 -108
  50. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_list_alerts.yml +0 -59
  51. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_list_alerts_for_trigger.yml +0 -58
  52. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_list_alerts_for_unknown_trigger.yml +0 -50
  53. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_list_open_alerts.yml +0 -59
  54. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_remove_tags_from_existing_alert.yml +0 -257
  55. data/spec/vcr_cassettes/Alert/Alerts/Templates/Should_resolve_an_alert.yml +0 -207
  56. data/spec/vcr_cassettes/Alert/Alerts/Templates/setup.yml +0 -255
  57. data/spec/vcr_cassettes/Alert/Alerts/Templates/setup_cleanup.yml +0 -302
  58. data/spec/vcr_cassettes/Alert/EndToEnd/Templates/Should_create_and_fire_a_trigger.yml +0 -527
  59. data/spec/vcr_cassettes/Alert/Events/Templates/Should_create_an_event.yml +0 -101
  60. data/spec/vcr_cassettes/Alert/Events/Templates/Should_delete_an_event.yml +0 -148
  61. data/spec/vcr_cassettes/Alert/Events/Templates/Should_list_events.yml +0 -91
  62. data/spec/vcr_cassettes/Alert/Events/Templates/Should_list_events_using_criteria.yml +0 -60
  63. data/spec/vcr_cassettes/Alert/Events/Templates/Should_not_list_events_using_criteria.yml +0 -50
  64. data/spec/vcr_cassettes/Alert/Events/Templates/setup.yml +0 -615
  65. data/spec/vcr_cassettes/Alert/Events/Templates/setup_cleanup.yml +0 -567
  66. data/spec/vcr_cassettes/Alert/Groups/Templates/Should_operate_a_complex_group_trigger.yml +0 -1882
  67. data/spec/vcr_cassettes/Alert/Templates/Should_return_the_version.yml +0 -42
  68. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_List_Triggers.yml +0 -55
  69. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_List_Triggers_for_ID.yml +0 -56
  70. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_List_Triggers_for_Tag.yml +0 -56
  71. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_List_Triggers_for_Tags.yml +0 -56
  72. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_bulk_load_triggers.yml +0 -243
  73. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_create_a_basic_trigger_with_action.yml +0 -386
  74. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_create_a_firing_ALL_ANY_trigger.yml +0 -483
  75. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_create_an_action.yml +0 -146
  76. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_get_a_single_Trigger_with_conditions.yml +0 -144
  77. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_get_a_single_metric_Trigger.yml +0 -50
  78. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_get_the_action_definitions.yml +0 -228
  79. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_not_create_an_action_for_unknown_plugin.yml +0 -50
  80. data/spec/vcr_cassettes/Alert/Triggers/Templates/Should_not_create_an_action_for_unknown_properties.yml +0 -100
  81. data/spec/vcr_cassettes/Alert/Triggers/Templates/setup.yml +0 -52
  82. data/spec/vcr_cassettes/Alert/Triggers/Templates/setup_cleanup.yml +0 -285
  83. data/spec/vcr_cassettes/HawkularClient/Should_err_on_bad_credentials.yml +0 -42
  84. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_both_create_and_delete_feed.yml +0 -317
  85. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_both_list_WildFlys.yml +0 -103
  86. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_both_list_types_with_bad_feed.yml +0 -103
  87. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_list_same_types_when_param_is_given.yml +0 -325
  88. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_list_the_same_feeds.yml +0 -117
  89. data/spec/vcr_cassettes/HawkularClient/and_Inventory_client/Should_list_the_same_resource_types.yml +0 -111
  90. data/spec/vcr_cassettes/HawkularClient/and_Metrics_client/Should_both_create_and_retrieve_tags_for_Availability.yml +0 -155
  91. data/spec/vcr_cassettes/HawkularClient/and_Metrics_client/Should_both_create_and_return_Availability_using_Hash_parameter.yml +0 -155
  92. data/spec/vcr_cassettes/HawkularClient/and_Metrics_client/Should_both_return_the_version.yml +0 -89
  93. data/spec/vcr_cassettes/HawkularClient/and_Metrics_client/Should_both_work_the_same_way_when_pushing_metric_data_to_non-existing_counter.yml +0 -114
  94. data/spec/vcr_cassettes/HawkularClient/and_Operations_client/Should_both_work_the_same_way.yml +0 -158
  95. data/spec/vcr_cassettes/HawkularClient/and_Operations_client/Should_work_initializing_with_URI.yml +0 -48
  96. data/spec/vcr_cassettes/HawkularClient/and_Operations_client_Should_both_work_the_same_way.json +0 -44
  97. data/spec/vcr_cassettes/HawkularClient/and_Operations_client_Should_work_initializing_with_URI.json +0 -9
  98. data/spec/vcr_cassettes/HawkularClient/and_URIs_as_input/Should_work_with_URI.yml +0 -169
  99. data/spec/vcr_cassettes/HawkularClient/and_URIs_as_input/Should_work_with_URI_on_metrics_client.yml +0 -42
  100. data/spec/vcr_cassettes/Inventory/NonSecure/Connection/Templates/Should_err_on_bad_credentials.yml +0 -44
  101. data/spec/vcr_cassettes/Inventory/NonSecure/Tenants/Templates/Should_Get_Tenant_For_Explicit_Credentials.yml +0 -101
  102. data/spec/vcr_cassettes/Inventory/NonSecure/Tenants/Templates/Should_Get_Tenant_For_Implicit_Credentials.yml +0 -101
  103. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Client_should_listen_on_various_inventory_events.json +0 -47
  104. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Client_should_listen_on_various_inventory_events.yml +0 -207
  105. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Helpers/create_url.yml +0 -52
  106. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Helpers/generate_some_events_for_websocket.yml +0 -411
  107. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Helpers/get_feeds.yml +0 -62
  108. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_List_datasources_with_no_props.yml +0 -133
  109. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_feed.yml +0 -59
  110. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_feed_again.yml +0 -181
  111. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_nested_resource_and_metric_on_it.yml +0 -664
  112. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_resource.yml +0 -360
  113. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_resource_with_metric.yml +0 -846
  114. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_a_resourcetype.yml +0 -169
  115. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_and_delete_feed.yml +0 -166
  116. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_create_and_get_a_resource.yml +0 -420
  117. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_get_resource_with_its_configurations.yml +0 -132
  118. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_have_a_consistent_behaviour_when_creating_an_already_existing_resource.yml +0 -714
  119. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_have_the_same_requested_metric_type_id.yml +0 -73
  120. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_URLs.yml +0 -90
  121. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_WildFlys.yml +0 -70
  122. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_WildFlys_with_props.yml +0 -138
  123. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_all_the_resource_types.yml +0 -59
  124. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_children_of_WildFly.yml +0 -333
  125. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_children_of_nested_resource.yml +0 -180
  126. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_feeds.yml +0 -62
  127. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_heap_metrics_for_WildFlys.yml +0 -943
  128. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_metrics_for_WildFlys.yml +0 -361
  129. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_metrics_of_given_metric_type.yml +0 -94
  130. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_metrics_of_given_resource_type.yml +0 -294
  131. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_operation_definitions_of_given_resource.yml +0 -871
  132. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_operation_definitions_of_given_resource_type.yml +0 -740
  133. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_recursive_children_of_WildFly.yml +0 -1117
  134. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_relationships_of_WildFly.yml +0 -393
  135. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_resources_for_feed.yml +0 -84
  136. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_types_with_bad_feed.yml +0 -55
  137. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_list_types_with_feed.yml +0 -166
  138. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_not_find_an_unknown_resource.yml +0 -59
  139. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_return_config_data_of_given_nested_resource.yml +0 -66
  140. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_return_config_data_of_given_resource.yml +0 -71
  141. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_return_data_from_get_entity.yml +0 -230
  142. data/spec/vcr_cassettes/Inventory/NonSecure/inventory_0_17/Templates/Should_return_the_version.yml +0 -50
  143. data/spec/vcr_cassettes/Inventory/Secure/Connection/Templates/Should_err_on_bad_credentials.yml +0 -44
  144. data/spec/vcr_cassettes/Inventory/Secure/Tenants/Templates/Should_Get_Tenant_For_Explicit_Credentials.yml +0 -101
  145. data/spec/vcr_cassettes/Inventory/Secure/Tenants/Templates/Should_Get_Tenant_For_Implicit_Credentials.yml +0 -101
  146. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Client_should_listen_on_various_inventory_events.json +0 -47
  147. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Client_should_listen_on_various_inventory_events.yml +0 -207
  148. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Helpers/create_url.yml +0 -52
  149. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Helpers/generate_some_events_for_websocket.yml +0 -411
  150. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Helpers/get_feeds.yml +0 -62
  151. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_List_datasources_with_no_props.yml +0 -133
  152. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_feed.yml +0 -59
  153. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_feed_again.yml +0 -181
  154. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_nested_resource_and_metric_on_it.yml +0 -664
  155. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_resource.yml +0 -360
  156. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_resource_with_metric.yml +0 -846
  157. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_a_resourcetype.yml +0 -169
  158. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_and_delete_feed.yml +0 -166
  159. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_create_and_get_a_resource.yml +0 -420
  160. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_get_resource_with_its_configurations.yml +0 -132
  161. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_have_the_same_requested_metric_type_id.yml +0 -73
  162. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_URLs.yml +0 -90
  163. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_WildFlys.yml +0 -70
  164. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_WildFlys_with_props.yml +0 -138
  165. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_all_the_resource_types.yml +0 -59
  166. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_children_of_WildFly.yml +0 -333
  167. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_children_of_nested_resource.yml +0 -180
  168. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_feeds.yml +0 -62
  169. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_heap_metrics_for_WildFlys.yml +0 -943
  170. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_metrics_for_WildFlys.yml +0 -361
  171. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_metrics_of_given_metric_type.yml +0 -90
  172. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_metrics_of_given_resource_type.yml +0 -294
  173. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_operation_definitions_of_given_resource.yml +0 -871
  174. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_operation_definitions_of_given_resource_type.yml +0 -740
  175. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_recursive_children_of_WildFly.yml +0 -1117
  176. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_relationships_of_WildFly.yml +0 -393
  177. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_resources_for_feed.yml +0 -84
  178. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_types_with_bad_feed.yml +0 -55
  179. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_list_types_with_feed.yml +0 -166
  180. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_not_find_an_unknown_resource.yml +0 -59
  181. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_return_config_data_of_given_nested_resource.yml +0 -66
  182. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_return_config_data_of_given_resource.yml +0 -71
  183. data/spec/vcr_cassettes/Inventory/Secure/inventory_0_17/Templates/Should_return_the_version.yml +0 -50
  184. data/spec/vcr_cassettes/Inventory/Templates/Should_list_feeds_when_using_SSL_without_certificate.yml +0 -114
  185. data/spec/vcr_cassettes/Inventory/inventory_0_17/Templates/Should_get_resource_with_its_configurations.yml +0 -132
  186. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Get_metric_definition_by_id.yml +0 -51
  187. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Retrieve_metric_rate_points.yml +0 -92
  188. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_create_Availability_definition.yml +0 -101
  189. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_create_Counter_definition.yml +0 -101
  190. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_create_gauge_definition.yml +0 -101
  191. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_push_metric_data_to_existing_gauge.yml +0 -50
  192. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_update_tags_for_Availability_definition.yml +0 -146
  193. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/Should_update_tags_for_gauge_definition.yml +0 -146
  194. data/spec/vcr_cassettes/Metrics/NonSecure/ID_with_special_characters/Templates/setup_client.yml +0 -44
  195. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Availability_metrics/Should_create_Availability_definition_using_MetricDefinition_parameter.yml +0 -83
  196. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Availability_metrics/Should_create_and_return_Availability_using_Hash_parameter.yml +0 -83
  197. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Availability_metrics/Should_push_metric_data_to_non-existing_Availability.yml +0 -120
  198. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Availability_metrics/Should_update_tags_for_Availability_definition.yml +0 -200
  199. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Counter_metrics/Should_create_and_return_counter_using_Hash_parameter.yml +0 -83
  200. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Counter_metrics/Should_create_counter_definition_using_MetricDefinition_parameter.yml +0 -83
  201. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Counter_metrics/Should_get_metrics_as_bucketed_results.yml +0 -200
  202. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Counter_metrics/Should_push_metric_data_to_existing_counter.yml +0 -237
  203. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Counter_metrics/Should_push_metric_data_to_non-existing_counter.yml +0 -120
  204. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_create_gauge_definition_using_Hash.yml +0 -83
  205. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_create_gauge_definition_using_MetricDefinition.yml +0 -83
  206. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_push_metric_data_to_existing_gauge.yml +0 -237
  207. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_push_metric_data_to_non-existing_gauge.yml +0 -120
  208. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_return_periods.yml +0 -81
  209. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Gauge_metrics/Should_update_tags_for_gauge_definition.yml +0 -200
  210. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Mixed_metrics/Should_send_mixed_metric_request.yml +0 -270
  211. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Mixed_metrics/Should_send_mixed_metric_request_of_a_single_type.yml +0 -237
  212. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Simple/Should_be_Cool.yml +0 -82
  213. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Status/Should_return_the_version.yml +0 -42
  214. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_0_8_0/Templates/Tenants/Should_create_and_return_tenant.yml +0 -83
  215. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/All_Tags_for_metrics/Should_fetch_all_metric_tags_for_metrics_definitions.yml +0 -434
  216. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/All_Tags_for_metrics/Should_fetch_all_metrics_with_some_tags.yml +0 -1251
  217. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/Should_create_Availability_definition_using_MetricDefinition_parameter.yml +0 -99
  218. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/Should_create_and_return_Availability_using_Hash_parameter.yml +0 -99
  219. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/Should_group_contiguous_values.yml +0 -138
  220. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/Should_push_metric_data_to_non-existing_Availability.yml +0 -144
  221. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/Should_update_tags_for_Availability_definition.yml +0 -240
  222. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Availability_metrics/setup_client.yml +0 -44
  223. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_create_and_return_counter_using_Hash_parameter.yml +0 -99
  224. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_create_counter_definition_using_MetricDefinition_parameter.yml +0 -99
  225. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_get_metrics_as_bucketed_results.yml +0 -240
  226. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_get_metrics_with_limit_and_order.yml +0 -328
  227. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_push_metric_data_to_existing_counter.yml +0 -281
  228. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/Should_push_metric_data_to_non-existing_counter.yml +0 -144
  229. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Counter_metrics/setup_client.yml +0 -44
  230. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_create_gauge_definition_using_Hash.yml +0 -99
  231. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_create_gauge_definition_using_MetricDefinition.yml +0 -99
  232. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_push_metric_data_to_existing_gauge.yml +0 -281
  233. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_push_metric_data_to_non-existing_gauge.yml +0 -144
  234. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_return_periods.yml +0 -97
  235. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_return_platform_memory.yml +0 -196
  236. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_return_platform_memory_def.yml +0 -197
  237. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/Should_update_tags_for_gauge_definition.yml +0 -240
  238. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Gauge_metrics/setup_client.yml +0 -44
  239. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/Should_fetch_rate_stats_for_mixed_metric.yml +0 -328
  240. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/Should_fetch_stats_for_mixed_metric.yml +0 -363
  241. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/Should_requests_raw_data_for_multiple_metrics.yml +0 -414
  242. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/Should_send_mixed_metric_request.yml +0 -314
  243. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/Should_send_mixed_metric_request_of_a_single_type.yml +0 -285
  244. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Mixed_metrics/setup_client.yml +0 -44
  245. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/No_Tenant/Should_fail.yml +0 -89
  246. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Simple/Should_be_Cool.yml +0 -48
  247. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Status/Should_return_the_version.yml +0 -85
  248. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/String_metrics/Should_create_string_definition_using_Hash.yml +0 -99
  249. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/String_metrics/Should_create_string_definition_using_MetricDefinition.yml +0 -99
  250. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/String_metrics/Should_push_metric_data_to_existing_string.yml +0 -281
  251. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/String_metrics/Should_push_metric_data_to_non-existing_string.yml +0 -144
  252. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/String_metrics/setup_client.yml +0 -44
  253. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Tags_Metrics/setup_client.yml +0 -44
  254. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Tenants/Should_create_and_return_tenant.yml +0 -103
  255. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/Tenants/setup_client.yml +0 -44
  256. data/spec/vcr_cassettes/Metrics/NonSecure/metrics_services/Templates/setup_client.yml +0 -44
  257. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Get_metric_definition_by_id.yml +0 -51
  258. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Retrieve_metric_rate_points.yml +0 -92
  259. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_create_Availability_definition.yml +0 -101
  260. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_create_Counter_definition.yml +0 -101
  261. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_create_gauge_definition.yml +0 -101
  262. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_push_metric_data_to_existing_gauge.yml +0 -50
  263. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_update_tags_for_Availability_definition.yml +0 -146
  264. data/spec/vcr_cassettes/Metrics/Secure/ID_with_special_characters/Templates/Should_update_tags_for_gauge_definition.yml +0 -146
  265. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Availability_metrics/Should_create_Availability_definition_using_MetricDefinition_parameter.yml +0 -99
  266. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Availability_metrics/Should_create_and_return_Availability_using_Hash_parameter.yml +0 -99
  267. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Availability_metrics/Should_group_contiguous_values.yml +0 -97
  268. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Availability_metrics/Should_push_metric_data_to_non-existing_Availability.yml +0 -144
  269. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Availability_metrics/Should_update_tags_for_Availability_definition.yml +0 -240
  270. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_create_and_return_counter_using_Hash_parameter.yml +0 -99
  271. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_create_counter_definition_using_MetricDefinition_parameter.yml +0 -99
  272. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_get_metrics_as_bucketed_results.yml +0 -240
  273. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_get_metrics_with_limit_and_order.yml +0 -328
  274. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_push_metric_data_to_existing_counter.yml +0 -281
  275. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Counter_metrics/Should_push_metric_data_to_non-existing_counter.yml +0 -144
  276. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_create_gauge_definition_using_Hash.yml +0 -99
  277. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_create_gauge_definition_using_MetricDefinition.yml +0 -99
  278. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_push_metric_data_to_existing_gauge.yml +0 -281
  279. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_push_metric_data_to_non-existing_gauge.yml +0 -144
  280. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_return_periods.yml +0 -97
  281. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_return_platform_memory.yml +0 -50
  282. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_return_platform_memory_def.yml +0 -51
  283. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Gauge_metrics/Should_update_tags_for_gauge_definition.yml +0 -240
  284. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Mixed_metrics/Should_fetch_stats_for_mixed_metric.yml +0 -364
  285. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Mixed_metrics/Should_requests_raw_data_for_multiple_metrics.yml +0 -373
  286. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Mixed_metrics/Should_send_mixed_metric_request.yml +0 -314
  287. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Mixed_metrics/Should_send_mixed_metric_request_of_a_single_type.yml +0 -285
  288. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/No_Tenant/Should_fail.yml +0 -50
  289. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Simple/Should_be_Cool.yml +0 -48
  290. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Status/Should_return_the_version.yml +0 -44
  291. data/spec/vcr_cassettes/Metrics/Secure/metrics_services/Templates/Tenants/Should_create_and_return_tenant.yml +0 -99
  292. data/spec/vcr_cassettes/New_API_Counter_metrics/Should_get_metrics_as_bucketed_results.yml +0 -230
  293. data/spec/vcr_cassettes/New_API_Mixed_metrics/Should_send_mixed_metric_request.yml +0 -300
  294. data/spec/vcr_cassettes/Operation/NonSecure/Helpers/Templates/agent_properties.yml +0 -124
  295. data/spec/vcr_cassettes/Operation/NonSecure/Helpers/Templates/get_feed.yml +0 -61
  296. data/spec/vcr_cassettes/Operation/NonSecure/Helpers/Templates/get_tenant.yml +0 -55
  297. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Add_JDBC_driver_should_add_the_driver.json +0 -23
  298. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Add_XA_datasource_should_be_doable.json +0 -23
  299. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Add_deployment_should_be_doable.json +0 -23
  300. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Add_non-XA_datasource_should_be_doable.json +0 -23
  301. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Disable_should_be_performed_and_eventually_respond_with_success.json +0 -23
  302. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Remove_JDBC_driver_should_be_performed_and_eventually_respond_with_success.json +0 -23
  303. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Remove_datasource_should_be_performed_and_eventually_respond_with_success.json +0 -23
  304. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Restart_can_be_run_multiple_times_in_parallel.json +0 -32
  305. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Restart_should_be_performed_and_eventually_respond_with_success.json +0 -23
  306. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Restart_should_not_be_performed_if_resource_path_is_wrong.json +0 -23
  307. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Undeploy_deployment_should_be_performed_and_eventually_respond_with_success.json +0 -23
  308. data/spec/vcr_cassettes/Operation/NonSecure/Operation/Update_collection_intervals_should_be_performed_and_eventually_respond_with_success.json +0 -23
  309. data/spec/vcr_cassettes/Operation/NonSecure/Operation/should_not_be_possible_to_perform_on_closed_client.json +0 -12
  310. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_bail_with_hash_property_error_because_no_callback_at_all.json +0 -9
  311. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_bail_with_hash_property_error_because_no_error-callback_.json +0 -9
  312. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_bail_with_no_host.json +0 -3
  313. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_be_established.json +0 -9
  314. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_be_established_via_entrypoint.json +0 -9
  315. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_run_into_error_callback.json +0 -18
  316. data/spec/vcr_cassettes/Operation/NonSecure/Websocket_connection/should_run_into_error_callback_because_bad_hash_parameters.json +0 -13
  317. data/spec/vcr_cassettes/Operation/Secure/Helpers/Templates/get_feed.yml +0 -61
  318. data/spec/vcr_cassettes/Operation/Secure/Helpers/Templates/get_tenant.yml +0 -55
  319. data/spec/vcr_cassettes/Operation/Secure/Operation/Add_JDBC_driver_should_add_the_driver.json +0 -23
  320. data/spec/vcr_cassettes/Operation/Secure/Operation/Add_datasource_should_be_doable.json +0 -23
  321. data/spec/vcr_cassettes/Operation/Secure/Operation/Add_deployment_should_be_doable.json +0 -23
  322. data/spec/vcr_cassettes/Operation/Secure/Operation/Disable_should_be_performed_and_eventually_respond_with_success.json +0 -23
  323. data/spec/vcr_cassettes/Operation/Secure/Operation/Remove_JDBC_driver_should_be_performed_and_eventually_respond_with_success.json +0 -23
  324. data/spec/vcr_cassettes/Operation/Secure/Operation/Remove_datasource_should_be_performed_and_eventually_respond_with_success.json +0 -23
  325. data/spec/vcr_cassettes/Operation/Secure/Operation/Restart_can_be_run_multiple_times_in_parallel.json +0 -32
  326. data/spec/vcr_cassettes/Operation/Secure/Operation/Restart_should_be_performed_and_eventually_respond_with_success.json +0 -23
  327. data/spec/vcr_cassettes/Operation/Secure/Operation/Restart_should_not_be_performed_if_resource_path_is_wrong.json +0 -23
  328. data/spec/vcr_cassettes/Operation/Secure/Operation/Undeploy_deployment_should_be_performed_and_eventually_respond_with_success.json +0 -23
  329. data/spec/vcr_cassettes/Operation/Secure/Operation/should_not_be_possible_to_perform_on_closed_client.json +0 -12
  330. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_bail_with_hash_property_error_because_no_callback_at_all.json +0 -9
  331. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_bail_with_hash_property_error_because_no_error-callback_.json +0 -9
  332. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_bail_with_no_host.json +0 -3
  333. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_be_established.json +0 -9
  334. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_be_established_via_entrypoint.json +0 -9
  335. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_run_into_error_callback.json +0 -18
  336. data/spec/vcr_cassettes/Operation/Secure/Websocket_connection/should_run_into_error_callback_because_bad_hash_parameters.json +0 -13
  337. data/spec/vcr_cassettes/Tokens/Should_be_able_to_create_a_new_token_for_an_actual_user.yml +0 -57
  338. data/spec/vcr_cassettes/Tokens/Should_be_able_to_list_the_available_tokens.yml +0 -49
  339. data/spec/vcr_cassettes/Tokens/Should_get_a_401_when_attempting_to_create_a_token_with_a_wrong_password.yml +0 -56
  340. data/spec/vcr_cassettes/Tokens/Should_get_a_401_when_attempting_to_create_a_token_without_a_password.yml +0 -55
@@ -1,78 +0,0 @@
1
- {
2
- "events": [
3
- {
4
- "id": "my-event-01",
5
- "category": "general-category",
6
- "text": "some text for this event",
7
- "extras": {
8
- "ctime": 2000
9
- }
10
- },
11
- {
12
- "id": "my-event-02",
13
- "category": "my-category-01",
14
- "text": "some text for this event",
15
- "extras": {}
16
- },
17
- {
18
- "id": "my-event-03",
19
- "category": "my-category-01",
20
- "text": "some text for this event",
21
- "extras": {}
22
- },
23
- {
24
- "id": "my-event-04",
25
- "category": "general-category",
26
- "text": "some text for this event",
27
- "extras": {}
28
- },
29
- {
30
- "id": "my-event-05",
31
- "category": "my-category-02",
32
- "text": "some text for this event",
33
- "extras": {}
34
- },
35
- {
36
- "id": "my-event-06",
37
- "category": "general-category",
38
- "text": "some text for this event",
39
- "extras": {}
40
- },
41
- {
42
- "id": "my-event-07",
43
- "category": "my-category-01",
44
- "text": "some text for this event",
45
- "extras": {}
46
- },
47
- {
48
- "id": "my-event-08",
49
- "category": "general-category",
50
- "text": "some text for this event",
51
- "extras": {}
52
- },
53
- {
54
- "id": "my-event-09",
55
- "category": "general-category",
56
- "text": "some text for this event",
57
- "extras": {}
58
- },
59
- {
60
- "id": "my-event-10",
61
- "category": "general-category",
62
- "text": "some text for this event",
63
- "extras": {}
64
- },
65
- {
66
- "id": "my-event-11",
67
- "category": "general-category",
68
- "text": "some text for this event",
69
- "extras": {}
70
- },
71
- {
72
- "id": "my-event-12",
73
- "category": "general-category",
74
- "text": "some text for this event",
75
- "extras": {}
76
- }
77
- ]
78
- }
@@ -1,66 +0,0 @@
1
- {
2
- "triggers":[
3
- {
4
- "trigger": {
5
- "id": "my-trigger-01",
6
- "tags": {
7
- "resourceId": "my-resource01",
8
- "app": "MyShop"
9
- }
10
- },
11
- "conditions":[
12
- {
13
- "triggerMode": "FIRING",
14
- "type": "threshold",
15
- "dataId": "data-x",
16
- "operator": "LT",
17
- "threshold": 5
18
- }
19
- ],
20
- "dampenings":[
21
- {
22
- "dampeningId": "my-trigger-01-my-dampening-id"
23
- }
24
- ]
25
- },
26
- {
27
- "trigger": {
28
- "id": "my-trigger-02",
29
- "tags": {
30
- "resourceId": "my-resource01"
31
- }
32
- }
33
- },
34
- {
35
- "trigger": {
36
- "id": "my-trigger-03",
37
- "tags": {
38
- "app": "MyShop"
39
- }
40
- }
41
- },
42
- {
43
- "trigger": {
44
- "id": "my-trigger-04",
45
- "tags": {
46
- "resourceId": "my-resource01",
47
- "app": "MyShop"
48
- }
49
- }
50
- },
51
- {
52
- "trigger": {
53
- "id": "my-trigger-05"
54
- }
55
- },
56
- {
57
- "trigger": {
58
- "id": "my-trigger-06",
59
- "tags": {
60
- "resourceId": "my-resource01",
61
- "app": "MyShop"
62
- }
63
- }
64
- }
65
- ]
66
- }
@@ -1,774 +0,0 @@
1
- require_relative '../vcr/vcr_setup'
2
- require_relative '../spec_helper'
3
-
4
- module Hawkular::Alerts::RSpec
5
- ALERTS_BASE = 'http://localhost:8080/hawkular/alerts'
6
- creds = { username: 'jdoe', password: 'password' }
7
- options = { tenant: 'hawkular' }
8
-
9
- describe 'Alert/Triggers' do
10
- before(:all) do
11
- # Setup for testing
12
- record('Alert/Triggers', credentials, 'setup') do
13
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
14
- json = IO.read('spec/integration/alert-resources/triggers-test-data.json')
15
- trigger_hash = JSON.parse(json)
16
- @client.bulk_import_triggers trigger_hash
17
- end
18
- end
19
-
20
- after(:all) do
21
- # cleanup test values
22
- record('Alert/Triggers', credentials, 'setup_cleanup') do
23
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
24
- json = IO.read('spec/integration/alert-resources/triggers-test-data.json')
25
- trigger_hash = JSON.parse(json)
26
- trigger_hash['triggers'].each do |trigger|
27
- @client.delete_trigger trigger['trigger']['id']
28
- end
29
- end
30
- end
31
-
32
- let(:cassette_name) do |example|
33
- description = example.description
34
- description
35
- end
36
-
37
- around(:each) do |example|
38
- record('Alert/Triggers', credentials, cassette_name, example: example)
39
- end
40
-
41
- before(:each) do
42
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
43
- end
44
-
45
- it 'Should List Triggers' do
46
- triggers = @client.list_triggers
47
-
48
- expect(triggers.size).to be(6)
49
- end
50
-
51
- it 'Should List Triggers for Tag' do
52
- triggers = @client.list_triggers [],
53
- ['resourceId|my-resource01']
54
-
55
- expect(triggers.size).to be(4)
56
- end
57
-
58
- it 'Should List Triggers for Tags' do
59
- triggers = @client.list_triggers [],
60
- %w(resourceId|my-resource01 app|MyShop)
61
-
62
- expect(triggers.size).to be(5)
63
- end
64
-
65
- it 'Should List Triggers for ID' do
66
- triggers = @client.list_triggers ['my-trigger-05']
67
-
68
- expect(triggers.size).to be(1)
69
- end
70
-
71
- it 'Should get a single metric Trigger' do
72
- trigger = @client.get_single_trigger('my-trigger-01')
73
-
74
- expect(trigger).not_to be_nil
75
- end
76
-
77
- it 'Should get a single Trigger with conditions' do
78
- trigger = @client.get_single_trigger 'my-trigger-01', true
79
-
80
- expect(trigger).not_to be_nil
81
- expect(trigger.conditions.size).to be(1)
82
- expect(trigger.dampenings.size).to be(1)
83
- end
84
-
85
- it 'Should bulk load triggers' do
86
- json = IO.read('spec/integration/hello-world-definitions.json')
87
- trigger_hash = JSON.parse(json)
88
-
89
- @client.bulk_import_triggers trigger_hash
90
-
91
- trigger = @client.get_single_trigger 'hello-world-trigger', true
92
- expect(trigger).not_to be_nil
93
- expect(trigger.conditions.size).to be(2)
94
- expect(trigger.dampenings.size).to be(0)
95
-
96
- @client.delete_trigger(trigger.id)
97
- end
98
-
99
- it 'Should create a basic trigger with action' do
100
- @client.create_action :email, 'send-via-email', 'to' => 'joe@acme.org'
101
-
102
- # Create the trigger
103
- t = Hawkular::Alerts::Trigger.new({})
104
- t.enabled = true
105
- t.id = 'my-cool-trigger'
106
- t.name = 'Just a trigger'
107
- t.severity = :HIGH
108
- t.description = 'Just a test trigger'
109
-
110
- # Create a condition
111
- c = Hawkular::Alerts::Trigger::Condition.new({})
112
- c.trigger_mode = :FIRING
113
- c.type = :THRESHOLD
114
- c.data_id = 'my-metric-id'
115
- c.operator = :LT
116
- c.threshold = 5
117
-
118
- # Reference an action definition
119
- a = Hawkular::Alerts::Trigger::Action.new({})
120
- a.action_plugin = :email
121
- a.action_id = 'send-via-email'
122
- t.actions.push a
123
-
124
- begin
125
- ft = @client.create_trigger t, [c], nil
126
-
127
- expect(ft).not_to be_nil
128
-
129
- trigger = @client.get_single_trigger t.id, true
130
- expect(trigger).not_to be_nil
131
- expect(trigger.conditions.size).to be(1)
132
- expect(trigger.dampenings.size).to be(0)
133
- ensure
134
- # rubocop:disable Lint/HandleExceptions
135
- begin
136
- @client.delete_trigger(t.id)
137
- rescue
138
- # I am not interested
139
- end
140
- begin
141
- @client.delete_action(a.action_plugin, a.action_id)
142
- rescue
143
- # I am not interested
144
- end
145
- # rubocop:enable Lint/HandleExceptions
146
- end
147
- end
148
-
149
- it 'Should create a firing ALL_ANY trigger' do
150
- # Create the trigger
151
- t = Hawkular::Alerts::Trigger.new({})
152
- t.enabled = true
153
- t.id = 'my-cool-trigger'
154
- t.name = 'Just a trigger'
155
- t.severity = :HIGH
156
- t.description = 'Just a test trigger'
157
-
158
- begin
159
- ft = @client.create_trigger t, [], nil
160
- expect(ft).not_to be_nil
161
-
162
- trigger = @client.get_single_trigger t.id, true
163
- expect(trigger.firing_match).to eq('ALL')
164
- expect(trigger.auto_resolve_match).to eq('ALL')
165
-
166
- @client.delete_trigger(t.id)
167
-
168
- t.firing_match = :ANY
169
- t.auto_resolve_match = :ANY
170
-
171
- ft = @client.create_trigger t, [], nil
172
- expect(ft).not_to be_nil
173
-
174
- trigger = @client.get_single_trigger t.id, true
175
- expect(trigger.firing_match).to eq('ANY')
176
- expect(trigger.auto_resolve_match).to eq('ANY')
177
- ensure
178
- # rubocop:disable Lint/HandleExceptions
179
- begin
180
- @client.delete_trigger(t.id)
181
- rescue
182
- # I am not interested
183
- end
184
- # rubocop:enable Lint/HandleExceptions
185
- end
186
- end
187
-
188
- it 'Should get the action definitions' do
189
- ret = @client.get_action_definition
190
- expect(ret.size).to be > 0
191
- expect(ret.key? 'email').to be_truthy
192
-
193
- ret = @client.get_action_definition 'email'
194
- expect(ret.size).to be(1)
195
- expect(ret['email'].size).to be(8)
196
-
197
- expect { @client.get_action_definition '-does-not-exist-' }
198
- .to raise_error(Hawkular::BaseClient::HawkularException)
199
- end
200
-
201
- it 'Should create an action' do
202
- @client.create_action 'email', 'my-id1', 'to' => 'joe@acme.org'
203
- @client.delete_action 'email', 'my-id1'
204
- end
205
-
206
- it 'Should not create an action for unknown plugin' do
207
- expect do
208
- @client.create_action '-does-not-exist',
209
- 'my-id2',
210
- 'notify-to-admins' => 'joe@acme.org'
211
- end.to raise_error(Hawkular::BaseClient::HawkularException)
212
- end
213
-
214
- it 'Should not create an action for unknown properties' do
215
- expect do
216
- @client.create_action :email, 'my-id3', foo: 'bar'
217
- end.to raise_error(Hawkular::BaseClient::HawkularException)
218
- end
219
- end
220
-
221
- describe 'Alert/Groups' do
222
- let(:cassette_name) do |example|
223
- description = example.description
224
- description
225
- end
226
-
227
- around(:each) do |example|
228
- record('Alert/Groups', credentials, cassette_name, example: example)
229
- end
230
-
231
- before(:each) do
232
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
233
- end
234
-
235
- it 'Should operate a complex group trigger' do
236
- # Create a group trigger
237
- t = Hawkular::Alerts::Trigger.new({})
238
- t.enabled = false
239
- t.id = 'a-group-trigger'
240
- t.name = 'A Group Trigger'
241
- t.severity = :HIGH
242
- t.description = 'A Group Trigger generated from test'
243
-
244
- # Create a condition
245
- c = Hawkular::Alerts::Trigger::Condition.new({})
246
- c.trigger_mode = :FIRING
247
- c.type = :THRESHOLD
248
- c.data_id = 'my-metric-id'
249
- c.operator = :LT
250
- c.threshold = 5
251
-
252
- # Create a group condition
253
- # no members yet
254
- gc = Hawkular::Alerts::Trigger::GroupConditionsInfo.new([c])
255
-
256
- # Create a member
257
- m1 = Hawkular::Alerts::Trigger::GroupMemberInfo.new
258
- m1.group_id = 'a-group-trigger'
259
- m1.member_id = 'member1'
260
- m1.member_name = 'Member One'
261
- m1.data_id_map = { 'my-metric-id' => 'my-metric-id-member1' }
262
-
263
- # Create a second member
264
- m2 = Hawkular::Alerts::Trigger::GroupMemberInfo.new
265
- m2.group_id = 'a-group-trigger'
266
- m2.member_id = 'member2'
267
- m2.member_name = 'Member Two'
268
- m2.data_id_map = { 'my-metric-id' => 'my-metric-id-member2' }
269
-
270
- # Create a dampening for the group trigger
271
- d = Hawkular::Alerts::Trigger::Dampening.new(
272
- 'triggerId' => 'a-group-trigger',
273
- 'triggerMode' => :FIRING,
274
- 'type' => :STRICT,
275
- 'evalTrueSetting' => 2,
276
- 'evalTotalSetting' => 2
277
- )
278
-
279
- # Create a second condition
280
- c2 = Hawkular::Alerts::Trigger::Condition.new({})
281
- c2.trigger_mode = :FIRING
282
- c2.type = :THRESHOLD
283
- c2.data_id = 'my-metric-id2'
284
- c2.operator = :GT
285
- c2.threshold = 50
286
-
287
- # Create the second group condition
288
- # member2 is an orphan so, no need to update it into the data_id_member_map
289
- gc2 = Hawkular::Alerts::Trigger::GroupConditionsInfo.new([c, c2])
290
- gc2.data_id_member_map = {
291
- 'my-metric-id' => { 'member1' => 'my-metric-id-member1' },
292
- 'my-metric-id2' => { 'member1' => 'my-metric-id2-member1' }
293
- }
294
-
295
- # Create a third condition of type compare
296
- c3 = Hawkular::Alerts::Trigger::Condition.new({})
297
- c3.trigger_mode = :FIRING
298
- c3.type = :COMPARE
299
- c3.data_id = 'my-metric-id3'
300
- c3.operator = :GT
301
- c3.data2_id = 'my-metric-id4'
302
- c3.data2_multiplier = 1
303
-
304
- # Create the thrid group condition
305
- # member 2 is still an orphan, no need to update it into the data_id_member_map
306
- gc3 = Hawkular::Alerts::Trigger::GroupConditionsInfo.new([c, c2, c3])
307
- gc3.data_id_member_map = {
308
- 'my-metric-id' => { 'member1' => 'my-metric-id-member1' },
309
- 'my-metric-id2' => { 'member1' => 'my-metric-id2-member1' },
310
- 'my-metric-id3' => { 'member1' => 'my-metric-id3-member1' },
311
- 'my-metric-id4' => { 'member1' => 'my-metric-id4-member1' }
312
- }
313
-
314
- begin
315
- group_trigger = @client.create_group_trigger t
316
- expect(group_trigger).not_to be_nil
317
- expect(group_trigger.type).to eq('GROUP')
318
-
319
- created_conditions = @client.set_group_conditions t.id, :FIRING, gc
320
- expect(created_conditions.size).to be(1)
321
-
322
- member1 = @client.create_member_trigger m1
323
- expect(member1.type).to eq('MEMBER')
324
-
325
- full_member1 = @client.get_single_trigger member1.id, true
326
- expect(full_member1).not_to be_nil
327
- expect(full_member1.id).to eq('member1')
328
- expect(full_member1.conditions.size).to be(1)
329
- expect(full_member1.conditions[0].data_id).to eq('my-metric-id-member1')
330
-
331
- members = @client.list_members t.id
332
- expect(members.size).to be(1)
333
-
334
- member2 = @client.create_member_trigger m2
335
- expect(member2.type).to eq('MEMBER')
336
-
337
- full_member2 = @client.get_single_trigger member2.id, true
338
- expect(full_member2).not_to be_nil
339
- expect(full_member2.id).to eq('member2')
340
- expect(full_member2.conditions.size).to be(1)
341
- expect(full_member2.conditions[0].data_id).to eq('my-metric-id-member2')
342
-
343
- members = @client.list_members t.id
344
- expect(members.size).to be(2)
345
-
346
- member2 = @client.orphan_member member2.id
347
- expect(member2.type).to eq('ORPHAN')
348
-
349
- members = @client.list_members t.id
350
- expect(members.size).to be(1)
351
-
352
- orphans = @client.list_members t.id, true
353
- expect(orphans.size).to be(2)
354
-
355
- group_dampening = @client.create_group_dampening d
356
- expect(group_dampening).not_to be_nil
357
- expect(group_dampening.type).to eq('STRICT')
358
-
359
- full_member1 = @client.get_single_trigger member1.id, true
360
- expect(full_member1).not_to be_nil
361
- expect(full_member1.id).to eq('member1')
362
- expect(full_member1.dampenings.size).to be(1)
363
- expect(full_member1.dampenings[0].eval_true_setting).to be(2)
364
- expect(full_member1.dampenings[0].eval_total_setting).to be(2)
365
-
366
- group_trigger.tags = { 'group-tname' => 'group-tvalue' }
367
- group_trigger = @client.update_group_trigger group_trigger
368
-
369
- full_member1 = @client.get_single_trigger member1.id, false
370
- expect(full_member1).not_to be_nil
371
- expect(full_member1.tags['group-tname']).to eq('group-tvalue')
372
-
373
- created_conditions = @client.set_group_conditions t.id, :FIRING, gc2
374
- expect(created_conditions.size).to be(2)
375
-
376
- full_member1 = @client.get_single_trigger member1.id, true
377
- expect(full_member1).not_to be_nil
378
- expect(full_member1.conditions.size).to be(2)
379
-
380
- group_dampening.type = :RELAXED_COUNT
381
- group_dampening.eval_true_setting = 2
382
- group_dampening.eval_total_setting = 4
383
- group_dampening = @client.update_group_dampening group_dampening
384
-
385
- group_trigger.context = { 'alert-profiles' => 'profile1' }
386
- @client.update_group_trigger group_trigger
387
-
388
- @client.delete_group_dampening group_dampening.trigger_id, group_dampening.dampening_id
389
-
390
- full_member1 = @client.get_single_trigger member1.id, true
391
- expect(full_member1).not_to be_nil
392
- expect(full_member1.context['alert-profiles']).to eq('profile1')
393
- expect(full_member1.dampenings.size).to be(0)
394
-
395
- created_conditions = @client.set_group_conditions t.id, :FIRING, gc3
396
- expect(created_conditions.size).to be(3)
397
-
398
- full_member1 = @client.get_single_trigger member1.id, true
399
- expect(full_member1).not_to be_nil
400
- expect(full_member1.conditions.size).to be(3)
401
- ensure
402
- # rubocop:disable Lint/HandleExceptions
403
- begin
404
- @client.delete_group_trigger(t.id)
405
- rescue
406
- # I am not interested
407
- end
408
- # rubocop:enable Lint/HandleExceptions
409
- end
410
- end
411
- end
412
-
413
- describe 'Alert/Alerts' do
414
- before(:all) do
415
- # Setup for testing
416
- record('Alert/Alerts', credentials, 'setup') do
417
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
418
- json = IO.read('spec/integration/alert-resources/alerts-test-data.json')
419
- trigger_hash = JSON.parse(json)
420
- @client.bulk_import_triggers trigger_hash
421
- current_open_alert_count = @client.list_alerts('statuses' => 'OPEN')
422
- @client.http_post('data', [{ id: 'data-x', timestamp: Time.new.to_i, value: 4 }])
423
- wait_while do
424
- current_open_alert_count == @client.list_alerts('statuses' => 'OPEN')
425
- end
426
- end
427
- end
428
-
429
- after(:all) do
430
- # cleanup test values
431
- record('Alert/Alerts', credentials, 'setup_cleanup') do
432
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
433
- json = IO.read('spec/integration/alert-resources/alerts-test-data.json')
434
- trigger_hash = JSON.parse(json)
435
- trigger_hash['triggers'].each do |trigger|
436
- @client.list_alerts('triggerIds' => [trigger['trigger']['id']]).each do |alert|
437
- @client.http_delete(alert.id)
438
- end
439
- @client.delete_trigger trigger['trigger']['id']
440
- end
441
- end
442
- end
443
-
444
- let(:cassette_name) do |example|
445
- description = example.description
446
- description
447
- end
448
-
449
- around(:each) do |example|
450
- record('Alert/Alerts', credentials, cassette_name, example: example)
451
- end
452
-
453
- before(:each) do
454
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
455
- end
456
-
457
- it 'Should list alerts' do
458
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
459
-
460
- alerts = client.list_alerts
461
-
462
- expect(alerts).to_not be_nil
463
- expect(alerts.size).to be >= 2
464
- end
465
-
466
- it 'Should list open alerts' do
467
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
468
-
469
- alerts = client.list_alerts('statuses' => 'OPEN')
470
-
471
- expect(alerts).to_not be_nil
472
- expect(alerts.size).to be(2)
473
- end
474
-
475
- it 'Should list alerts for trigger' do
476
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
477
-
478
- alerts = client.get_alerts_for_trigger 'hello-world-trigger'
479
-
480
- expect(alerts).to_not be_nil
481
- expect(alerts.size).to be(1)
482
- end
483
-
484
- it 'Should list alerts for unknown trigger' do
485
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
486
-
487
- alerts = client.get_alerts_for_trigger 'does-not-exist'
488
-
489
- expect(alerts).to_not be_nil
490
- expect(alerts.size).to be(0)
491
- end
492
-
493
- it 'Should fetch single alert' do
494
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
495
-
496
- alert_id = client.list_alerts('statuses' => 'OPEN').first.id
497
-
498
- alert = client.get_single_alert(alert_id)
499
-
500
- expect(alert).to_not be_nil
501
- expect(alert.id).to eql(alert_id)
502
- end
503
-
504
- it 'Should resolve an alert' do
505
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
506
-
507
- alert_id = client.list_alerts('statuses' => 'OPEN').first.id
508
- alert = client.get_single_alert alert_id
509
-
510
- expect(alert.status).to eql('OPEN')
511
-
512
- client.resolve_alert(alert_id, 'Heiko', 'Hello Ruby World :-)')
513
-
514
- alert = client.get_single_alert alert_id
515
- expect(alert.status).to eql('RESOLVED')
516
- end
517
-
518
- # # TODO enable when the semantics on the server side is known
519
- # it 'Should resolve an alert2' do
520
- # client = Hawkular::Alerts::Client.new(ALERTS_BASE,creds)
521
- #
522
- # alert_id = '28026b36-8fe4-4332-84c8-524e173a68bf-snert~Local_jvm_garba-1446977734134'
523
- # client.resolve_alert alert_id
524
- #
525
- # end
526
-
527
- it 'Should acknowledge an alert' do
528
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
529
-
530
- alert_id = client.list_alerts('statuses' => 'OPEN').first.id
531
- client.get_single_alert alert_id
532
-
533
- client.acknowledge_alert(alert_id, 'Heiko', 'Hello Ruby World :-)')
534
-
535
- alert = client.get_single_alert alert_id
536
- expect(alert.ackBy).to eql('Heiko')
537
- end
538
-
539
- it 'Should add tags to existing alert' do
540
- client = Hawkular::Alerts::AlertsClient.new(ALERTS_BASE, creds, options)
541
- alert_id = client.list_alerts.first.id
542
- alert_not_found = client.list_alerts(tags: 'new-tag-name|tag_value', thin: true).first
543
- client.add_tags([alert_id], ['new-tag-name|tag_value', 'othertag|othervalue'])
544
- alert_found_by_new_tag_name = client.list_alerts(tags: 'new-tag-name|tag_value', thin: true).first
545
-
546
- expect(alert_not_found).to be_nil
547
- expect(alert_found_by_new_tag_name).to_not be_nil
548
- end
549
-
550
- it 'Should remove tags from existing alert' do
551
- client = Hawkular::Alerts::AlertsClient.new(ALERTS_BASE, creds, options)
552
- alert_id = client.list_alerts.first.id
553
- client.add_tags([alert_id], ['new-tag-name|tag_value', 'othertag|othervalue'])
554
- alert_found_by_new_tag_name = client.list_alerts(tags: 'new-tag-name|tag_value', thin: true).first
555
- client.remove_tags([alert_id], ['new-tag-name'])
556
- alert_not_found = client.list_alerts(tags: 'new-tag-name|tag_value', thin: true).first
557
-
558
- expect(alert_found_by_new_tag_name).to_not be_nil
559
- expect(alert_not_found).to be_nil
560
- end
561
- end
562
-
563
- describe 'Alert' do
564
- let(:cassette_name) do |example|
565
- description = example.description
566
- description
567
- end
568
-
569
- around(:each) do |example|
570
- record('Alert', credentials, cassette_name, example: example)
571
- end
572
-
573
- before(:each) do
574
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds)
575
- end
576
-
577
- it 'Should return the version' do
578
- data = @client.fetch_version_and_status
579
- expect(data).not_to be_nil
580
- end
581
- end
582
-
583
- describe 'Alert/Events' do
584
- before(:all) do
585
- # Setup for testing
586
- record('Alert/Events', credentials, 'setup') do
587
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
588
- json = IO.read('spec/integration/alert-resources/events-test-data.json')
589
- hash = JSON.parse(json)
590
- hash['events'].each do |event|
591
- @client.create_event event['id'], event['category'], event['text'], event['extras']
592
- end
593
- end
594
- end
595
-
596
- after(:all) do
597
- # cleanup test values
598
- record('Alert/Events', credentials, 'setup_cleanup') do
599
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, credentials, options)
600
- json = IO.read('spec/integration/alert-resources/events-test-data.json')
601
- hash = JSON.parse(json)
602
- hash['events'].each do |event|
603
- @client.delete_event event['id']
604
- end
605
- end
606
- end
607
-
608
- let(:cassette_name) do |example|
609
- description = example.description
610
- description
611
- end
612
-
613
- around(:each) do |example|
614
- record('Alert/Events', credentials, cassette_name, example: example)
615
- end
616
-
617
- it 'Should list events' do
618
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
619
-
620
- events = client.list_events('thin' => true)
621
-
622
- expect(events).to_not be_nil
623
- expect(events.size).to be >= 12
624
- end
625
-
626
- it 'Should list events using criteria' do
627
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
628
-
629
- events = client.list_events('categories' => %w(my-category-01 my-category-02))
630
-
631
- expect(events).to_not be_nil
632
- expect(events.size).to be(4)
633
- end
634
-
635
- it 'Should not list events using criteria' do
636
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
637
-
638
- events = client.list_events('startTime' => 0, 'endTime' => 1000)
639
-
640
- expect(events).to_not be_nil
641
- expect(events.size).to be(0)
642
- end
643
-
644
- it 'Should create an event' do
645
- the_id = "test-event@#{Time.new.to_i}"
646
- VCR.eject_cassette
647
- record('Alert/Events', credentials.merge(id: the_id), cassette_name) do
648
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
649
-
650
- the_event = client.create_event(the_id, 'MyCategory', 'Li la lu',
651
- context: { message: 'This is a test' },
652
- tags: { tag_name: 'tag-value' })
653
-
654
- expect(the_event['id']).to eql(the_id)
655
- expect(the_event['category']).to eql('MyCategory')
656
-
657
- client.delete_event the_id
658
- end
659
- end
660
-
661
- it 'Should delete an event' do
662
- the_id = "test-event@#{Time.new.to_i}"
663
- VCR.eject_cassette
664
- record('Alert/Events', credentials.merge(id: the_id), cassette_name) do
665
- client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
666
- client.create_event(the_id, 'MyCategory', 'Li la lu',
667
- context: { message: 'This is a test' },
668
- tags: { tag_name: 'tag-value' })
669
-
670
- client.delete_event the_id
671
- the_event = client.list_events('thin' => true, 'eventIds' => [the_id]).first
672
- expect(the_event).to be_nil
673
- end
674
- end
675
- end
676
-
677
- describe 'Alert/EndToEnd' do
678
- let(:cassette_name) do |example|
679
- description = example.description
680
- description
681
- end
682
-
683
- around(:each) do |example|
684
- record('Alert/EndToEnd', credentials, cassette_name, example: example)
685
- end
686
-
687
- before(:each) do
688
- @client = Hawkular::Alerts::Client.new(ALERTS_BASE, creds, options)
689
- end
690
-
691
- it 'Should create and fire a trigger' do
692
- email_props = { to: 'joe@acme.org',
693
- from: 'admin@acme.org' }
694
- begin
695
- @client.create_action 'email', 'send-via-email',
696
- email_props
697
- rescue
698
- @client.delete_action 'email', 'send-via-email'
699
- @client.create_action 'email', 'send-via-email',
700
- email_props
701
- end
702
-
703
- # Create the trigger
704
- t = Hawkular::Alerts::Trigger.new({})
705
- t.enabled = true
706
- t.id = 'my-cool-email-trigger'
707
- t.name = 'Just a trigger'
708
- t.severity = :HIGH
709
- t.description = 'Just a test trigger'
710
-
711
- # Create a condition
712
- c = Hawkular::Alerts::Trigger::Condition.new({})
713
- c.trigger_mode = :FIRING
714
- c.type = :THRESHOLD
715
- c.data_id = 'my-metric-id1'
716
- c.operator = :GT
717
- c.threshold = 5
718
-
719
- # Reference an action definition for email
720
- a = Hawkular::Alerts::Trigger::Action.new({})
721
- a.action_plugin = 'email'
722
- a.action_id = 'send-via-email'
723
- t.actions.push a
724
-
725
- begin
726
- ft = @client.create_trigger t, [c], nil
727
-
728
- expect(ft).not_to be_nil
729
-
730
- trigger = @client.get_single_trigger t.id, true
731
- expect(trigger).not_to be_nil
732
- expect(trigger.conditions.size).to be(1)
733
- expect(trigger.dampenings.size).to be(0)
734
-
735
- # Trigger is set up - send a metric value to trigger it.
736
- metric_client = nil
737
- ::RSpec::Mocks.with_temporary_scope do
738
- mock_metrics_version
739
- metric_client = Hawkular::Metrics::Client.new('http://localhost:8080/hawkular/metrics',
740
- creds, options)
741
- end
742
-
743
- data_point = { timestamp: Time.now.to_i * 1000, value: 42 }
744
- data = [{ id: 'my-metric-id1', data: [data_point] }]
745
-
746
- metric_client.push_data(gauges: data)
747
-
748
- # wait for the alert engine to work if we are live
749
- wait_while do
750
- @client.get_alerts_for_trigger('my-cool-email-trigger').nil?
751
- end
752
-
753
- # see if alert has fired
754
- alerts = @client.get_alerts_for_trigger 'my-cool-email-trigger'
755
- expect(alerts).to_not be(nil)
756
- alerts.each { |al| @client.resolve_alert(al.id, 'Heiko', 'Hello Ruby World :-)') }
757
-
758
- ensure
759
- # rubocop:disable Lint/HandleExceptions
760
- begin
761
- @client.delete_trigger(t.id)
762
- rescue
763
- # I am not interested
764
- end
765
- begin
766
- @client.delete_action('email', 'send-via-email')
767
- rescue
768
- # I am not interested
769
- end
770
- # rubocop:enable Lint/HandleExceptions
771
- end
772
- end
773
- end
774
- end