dogapi 1.4.0 → 1.4.1

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.
@@ -1,9 +1,13 @@
1
- = Ruby client for Datadog API v1.3.6
1
+ = Ruby client for Datadog API v1.4.0
2
2
 
3
3
  The Ruby client is a library suitable for inclusion in existing Ruby projects or for development of standalone scripts. It provides an abstraction on top of Datadog's raw HTTP interface for reporting events and metrics.
4
4
 
5
5
  = What's new?
6
6
 
7
+ == v1.4.0
8
+
9
+ * Added support for the dashboard, search and comment API endpoints.
10
+
7
11
  == v1.3.6
8
12
 
9
13
  * Small fix for capistrano integration
@@ -78,7 +78,8 @@ module Dogapi
78
78
  params[:sources] = options[:sources]
79
79
  end
80
80
  if options[:tags]
81
- params[:tags] = options[:tags]
81
+ tags = options[:tags]
82
+ params[:tags] = tags.kind_of?(Array) ? tags.join(",") : tags
82
83
  end
83
84
 
84
85
  request(Net::HTTP::Get, '/api/' + API_VERSION + '/events', params, nil, false)
@@ -2,16 +2,7 @@ require 'test/unit'
2
2
  require 'dogapi'
3
3
  require 'time'
4
4
 
5
- unless Kernel.respond_to?(:require_relative)
6
- module Kernel
7
- def require_relative(path)
8
- require File.join(File.dirname(caller[0]), path.to_str)
9
- end
10
- end
11
- end
12
-
13
-
14
- class TestBase < Test::Unit::TestCase
5
+ module TestBase
15
6
 
16
7
  def config_client_test_env
17
8
  @api_key = ENV['DATADOG_API_KEY']
@@ -25,5 +16,10 @@ class TestBase < Test::Unit::TestCase
25
16
  def setup
26
17
  config_client_test_env()
27
18
  end
19
+
20
+ def random
21
+ Kernel.rand 100000
22
+ end
23
+
28
24
  end
29
25
 
@@ -1,11 +1,12 @@
1
1
  require 'dogapi'
2
2
  require 'time'
3
- require_relative 'test_base.rb'
3
+ require 'test_base.rb'
4
4
 
5
- class TestClient < TestBase
5
+ class TestClient < Test::Unit::TestCase
6
+ include TestBase
6
7
 
7
8
  def test_tags
8
- hostname = 'test.tag.host'
9
+ hostname = "test.tag.host.#{random}"
9
10
  dog = Dogapi::Client.new(@api_key, @app_key)
10
11
 
11
12
  # post a metric to make sure the test host context exists
@@ -14,6 +15,8 @@ class TestClient < TestBase
14
15
  # Disable this call until we fix the timeouts
15
16
  # dog.all_tags()
16
17
 
18
+ sleep 3
19
+
17
20
  dog.detach_tags(hostname)
18
21
  code, resp = dog.host_tags(hostname)
19
22
  assert resp["tags"].size == 0
@@ -47,6 +50,8 @@ class TestClient < TestBase
47
50
  def test_events
48
51
  now = Time.now()
49
52
 
53
+ tags = ["test-run:#{random}"]
54
+
50
55
  now_ts = now
51
56
  now_title = 'dogapi-rb end test title ' + now_ts.to_i.to_s
52
57
  now_message = 'test message ' + now_ts.to_i.to_s
@@ -58,8 +63,11 @@ class TestClient < TestBase
58
63
  dog = Dogapi::Client.new(@api_key, @app_key)
59
64
  dog_r = Dogapi::Client.new(@api_key)
60
65
 
61
- e1 = Dogapi::Event.new(now_message, :msg_title =>now_title, :date_happened => now_ts)
62
- e2 = Dogapi::Event.new(before_message, :msg_title =>before_title, :date_happened => before_ts)
66
+ # Tag the events with the build number, because traivs
67
+ e1 = Dogapi::Event.new(now_message, :msg_title =>now_title, :date_happened => now_ts, :tags => tags)
68
+ e2 = Dogapi::Event.new(before_message, :msg_title =>before_title,
69
+ :date_happened => before_ts, :tags => tags)
70
+
63
71
  code, resp = dog_r.emit_event(e1)
64
72
  now_event_id = resp["event"]["id"]
65
73
  code, resp = dog_r.emit_event(e2)
@@ -67,11 +75,12 @@ class TestClient < TestBase
67
75
 
68
76
  sleep 3
69
77
 
70
- code, resp = dog.stream(before_ts, now_ts + 1)
78
+ code, resp = dog.stream(before_ts, now_ts + 1, :tags => tags)
71
79
  stream = resp["events"]
72
80
 
73
- assert stream.last['title'] == before_title
74
- assert stream.first['title'] == now_title
81
+ assert_equal 2, stream.length()
82
+ assert_equal stream.last['title'], before_title
83
+ assert_equal stream.first['title'], now_title
75
84
 
76
85
  code, resp = dog.get_event(now_event_id)
77
86
  now_event = resp['event']
@@ -1,8 +1,10 @@
1
1
  require 'dogapi'
2
2
  require 'time'
3
- require_relative 'test_base.rb'
3
+ require 'test_base.rb'
4
+
5
+ class TestComments < Test::Unit::TestCase
6
+ include TestBase
4
7
 
5
- class TestComments < TestBase
6
8
 
7
9
  def test_comments
8
10
  dog = Dogapi::Client.new(@api_key, @app_key)
@@ -1,8 +1,9 @@
1
1
  require 'dogapi'
2
2
  require 'time'
3
- require_relative 'test_base.rb'
3
+ require 'test_base.rb'
4
4
 
5
- class TestDashes < TestBase
5
+ class TestDashes < Test::Unit::TestCase
6
+ include TestBase
6
7
 
7
8
  def test_dashes
8
9
  dog = Dogapi::Client.new(@api_key, @app_key)
@@ -1,8 +1,9 @@
1
1
  require 'dogapi'
2
2
  require 'time'
3
- require_relative 'test_base.rb'
3
+ require 'test_base.rb'
4
4
 
5
- class TestSearch < TestBase
5
+ class TestSearch < Test::Unit::TestCase
6
+ include TestBase
6
7
 
7
8
  def test_search
8
9
  dog = Dogapi::Client.new(@api_key, @app_key)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dogapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-04 00:00:00.000000000 Z
12
+ date: 2012-09-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json