wavefront-sdk 5.4.4 → 7.0.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +3 -3
  3. data/.github/workflows/test.yml +2 -2
  4. data/.rubocop.yml +1 -3
  5. data/HISTORY.md +17 -0
  6. data/README.md +5 -5
  7. data/lib/wavefront-sdk/api_mixins/acl.rb +1 -1
  8. data/lib/wavefront-sdk/core/api.rb +1 -1
  9. data/lib/wavefront-sdk/core/api_caller.rb +1 -7
  10. data/lib/wavefront-sdk/core/exception.rb +2 -0
  11. data/lib/wavefront-sdk/core/response.rb +1 -1
  12. data/lib/wavefront-sdk/credentials.rb +3 -5
  13. data/lib/wavefront-sdk/defs/version.rb +1 -1
  14. data/lib/wavefront-sdk/event.rb +64 -1
  15. data/lib/wavefront-sdk/maintenancewindow.rb +1 -1
  16. data/lib/wavefront-sdk/metric.rb +2 -2
  17. data/lib/wavefront-sdk/metric_helper.rb +1 -1
  18. data/lib/wavefront-sdk/metricspolicy.rb +57 -0
  19. data/lib/wavefront-sdk/paginator/base.rb +1 -1
  20. data/lib/wavefront-sdk/search.rb +3 -3
  21. data/lib/wavefront-sdk/spy.rb +22 -0
  22. data/lib/wavefront-sdk/support/mixins.rb +1 -1
  23. data/lib/wavefront-sdk/support/parse_time.rb +1 -1
  24. data/lib/wavefront-sdk/user.rb +1 -1
  25. data/lib/wavefront-sdk/validators.rb +18 -3
  26. data/lib/wavefront-sdk/write.rb +2 -2
  27. data/lib/wavefront-sdk/writers/api.rb +1 -1
  28. data/lib/wavefront-sdk/writers/core.rb +1 -1
  29. data/lib/wavefront-sdk/writers/proxy.rb +71 -0
  30. data/lib/wavefront-sdk/writers/socket.rb +15 -27
  31. data/lib/wavefront_sdk.rb +1 -1
  32. data/spec/constants.rb +2 -2
  33. data/spec/test_mixins/general.rb +1 -1
  34. data/spec/wavefront-sdk/core/api_spec.rb +1 -1
  35. data/spec/wavefront-sdk/core/response_spec.rb +2 -2
  36. data/spec/wavefront-sdk/credentials_spec.rb +9 -13
  37. data/spec/wavefront-sdk/event_spec.rb +46 -0
  38. data/spec/wavefront-sdk/metric_helper_spec.rb +2 -0
  39. data/spec/wavefront-sdk/metricspolicy_spec.rb +94 -0
  40. data/spec/wavefront-sdk/misc_spec.rb +2 -2
  41. data/spec/wavefront-sdk/savedsearch_spec.rb +2 -2
  42. data/spec/wavefront-sdk/spy_spec.rb +27 -0
  43. data/spec/wavefront-sdk/user_spec.rb +2 -2
  44. data/spec/wavefront-sdk/validators_spec.rb +10 -0
  45. data/spec/wavefront-sdk/write_spec.rb +1 -1
  46. data/spec/wavefront-sdk/writers/{unix_spec.rb → proxy_spec.rb} +29 -31
  47. data/spec/wavefront-sdk/writers/socket_spec.rb +26 -24
  48. data/wavefront-sdk.gemspec +10 -11
  49. metadata +27 -97
  50. data/lib/wavefront-sdk/writers/unix.rb +0 -59
@@ -1,70 +1,58 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'socket'
3
4
  require_relative 'core'
4
5
 
5
6
  module Wavefront
6
7
  module Writer
7
8
  #
8
- # Everything specific to writing points to a Wavefront proxy, in
9
- # native Wavefront format, to a socket. (The original and,
10
- # once, only way to send points.)
9
+ # Everything specific to writing points to a Unix datagram socket.
11
10
  #
12
11
  class Socket < Core
13
- # Open a socket to a Wavefront proxy, putting the descriptor
14
- # in instance variable @conn.
15
- # @return [TCPSocket]
12
+ # Make a connection to a Unix datagram socket, putting the
13
+ # descriptor in instance variable @conn.
14
+ # This requires the name of the socket file in creds[:socket]
15
+ # @return [UnixSocket]
16
16
  #
17
17
  def open
18
18
  if opts[:noop]
19
- logger.log('No-op requested. Not opening connection to proxy.')
19
+ logger.log('No-op requested. Not opening socket connection.')
20
20
  return true
21
21
  end
22
22
 
23
- port = creds[:port] || default_port
24
- logger.log("Connecting to #{creds[:proxy]}:#{port}.", :debug)
25
- open_socket(creds[:proxy], port)
23
+ logger.log("Connecting to #{creds[:socket]}.", :debug)
24
+ open_socket(creds[:socket])
26
25
  end
27
26
 
28
- # Close the connection described by the @conn instance variable.
29
- #
30
27
  def close
31
28
  return if opts[:noop]
32
29
 
33
- logger.log('Closing connection to proxy.', :debug)
30
+ logger.log('Closing socket connection.', :debug)
34
31
  conn.close
35
32
  end
36
33
 
37
34
  def validate_credentials(creds)
38
- return if creds.key?(:proxy) && creds[:proxy]
35
+ return true if creds.key?(:socket) && creds[:socket]
39
36
 
40
37
  raise(Wavefront::Exception::CredentialError,
41
- 'credentials must contain proxy address')
38
+ 'credentials must contain socket file path')
42
39
  end
43
40
 
44
41
  private
45
42
 
46
- def open_socket(proxy, port)
47
- @conn = TCPSocket.new(proxy, port)
43
+ def open_socket(socket)
44
+ @conn = UNIXSocket.new(socket)
48
45
  rescue StandardError => e
49
46
  logger.log(e, :error)
50
47
  raise Wavefront::Exception::InvalidEndpoint
51
48
  end
52
49
 
53
50
  # @param point [String] point or points in native Wavefront format.
54
- # @raise [SocketError] if point cannot be written
55
51
  #
56
52
  def _send_point(point)
57
53
  return if opts[:noop]
58
54
 
59
- conn.puts(point)
60
- rescue StandardError
61
- raise Wavefront::Exception::SocketError
62
- end
63
-
64
- # return [Integer] the port to connect to, if none is supplied
65
- #
66
- def default_port
67
- 2878
55
+ conn.write(point)
68
56
  end
69
57
  end
70
58
  end
data/lib/wavefront_sdk.rb CHANGED
@@ -4,7 +4,7 @@
4
4
  #
5
5
  require 'pathname'
6
6
 
7
- libdir = Pathname.new(__dir__) + 'wavefront-sdk'
7
+ libdir = Pathname.new(__dir__).join('wavefront-sdk')
8
8
 
9
9
  libdir.children.select { |f| f.extname == '.rb' }.each do |f|
10
10
  require_relative f
data/spec/constants.rb CHANGED
@@ -19,8 +19,8 @@ DUMMY_RESPONSE = '{"status":{"result":"OK","message":"","code":200},' \
19
19
  '"response":{"items":[{"name":"test data"}],"offset":0,' \
20
20
  '"limit":100,"totalItems":3,"moreItems":false}}'
21
21
 
22
- RESOURCE_DIR = (Pathname.new(__FILE__).dirname +
23
- 'wavefront-sdk' + 'resources').freeze
22
+ RESOURCE_DIR = Pathname.new(__FILE__).dirname.join('wavefront-sdk',
23
+ 'resources').freeze
24
24
 
25
25
  U_ACL_1 = 'someone@example.com'
26
26
  U_ACL_2 = 'other@elsewhere.com'
@@ -77,7 +77,7 @@ module WavefrontTest
77
77
 
78
78
  def test_update_keys
79
79
  assert_instance_of Array, wf.update_keys
80
- assert(wf.update_keys.all? { |k| k.is_a?(Symbol) })
80
+ assert(wf.update_keys.all?(Symbol))
81
81
  end
82
82
  end
83
83
 
@@ -22,7 +22,7 @@ class WavefrontCoreApiTest < MiniTest::Test
22
22
  end
23
23
 
24
24
  def test_hash_for_update
25
- wf.instance_variable_set('@update_keys', %i[k1 k2])
25
+ wf.instance_variable_set(:@update_keys, %i[k1 k2])
26
26
  body = { k1: 'ov1',
27
27
  k2: 'ov2',
28
28
  k3: 'ov3',
@@ -7,8 +7,8 @@ require_relative '../../../lib/wavefront-sdk/core/exception'
7
7
  require_relative '../../../lib/wavefront-sdk/core/response'
8
8
 
9
9
  GOOD_RESP = '{"status":{"result":"OK","message":"","code":200},' \
10
- '"response":{"items":[{"name":"test agent"}],"offset":0,' \
11
- '"limit":100,"totalItems":3,"moreItems":false}}'
10
+ '"response":{"items":[{"name":"test agent"}],"offset":0,' \
11
+ '"limit":100,"totalItems":3,"moreItems":false}}'
12
12
 
13
13
  BAD_RESP = "error='not_found'
14
14
  message='resource cannot be found'
@@ -5,8 +5,8 @@ require 'pathname'
5
5
  require_relative '../spec_helper'
6
6
  require_relative '../../lib/wavefront-sdk/credentials'
7
7
 
8
- CONF1 = RESOURCE_DIR + 'test.conf'
9
- CONF2 = RESOURCE_DIR + 'test2.conf'
8
+ CONF1 = RESOURCE_DIR.join('test.conf')
9
+ CONF2 = RESOURCE_DIR.join('test2.conf')
10
10
 
11
11
  # Test SDK base class end-to-end
12
12
  #
@@ -60,11 +60,7 @@ end
60
60
  # Test individual methods. We must override the constructor to do
61
61
  # this.
62
62
  #
63
- # rubocop:disable Lint/MissingSuper
64
- class Giblets < Wavefront::Credentials
65
- def initialize; end
66
- end
67
- # rubocop:enable Lint/MissingSuper
63
+ class Giblets < Wavefront::Credentials; end
68
64
 
69
65
  # And here are the tests
70
66
  #
@@ -119,9 +115,9 @@ class GibletsTest < MiniTest::Test
119
115
 
120
116
  def test_populate
121
117
  wf.populate(raw)
122
- config = wf.instance_variable_get('@config')
123
- creds = wf.instance_variable_get('@creds')
124
- proxy = wf.instance_variable_get('@proxy')
118
+ config = wf.instance_variable_get(:@config)
119
+ creds = wf.instance_variable_get(:@creds)
120
+ proxy = wf.instance_variable_get(:@proxy)
125
121
 
126
122
  assert_instance_of(Map, config)
127
123
  assert_equal('raw_proxy', config.proxy)
@@ -143,8 +139,8 @@ class GibletsTest < MiniTest::Test
143
139
  assert_equal(3, x.length)
144
140
  x.each { |p| assert_instance_of(Pathname, p) }
145
141
  assert_includes(x, Pathname.new('/etc/wavefront/credentials'))
146
- assert_includes(x, Pathname.new(ENV['HOME']) + '.wavefront')
147
- assert_includes(x, Pathname.new(ENV['HOME']) + '.wavefront.conf')
142
+ assert_includes(x, Pathname.new(Dir.home).join('.wavefront'))
143
+ assert_includes(x, Pathname.new(Dir.home).join('.wavefront.conf'))
148
144
  end
149
145
 
150
146
  def test_cred_files_opts
@@ -197,7 +193,7 @@ class GibletsTest < MiniTest::Test
197
193
  end
198
194
 
199
195
  assert_raises Wavefront::Exception::InvalidConfigFile do
200
- wf.load_profile(RESOURCE_DIR + 'malformed.conf')
196
+ wf.load_profile(RESOURCE_DIR.join('malformed.conf'))
201
197
  end
202
198
  end
203
199
  end
@@ -43,12 +43,58 @@ class WavefrontEventTest < WavefrontTestBase
43
43
  assert_raises(ArgumentError) { wf.close }
44
44
  end
45
45
 
46
+ def test_alert_firing_details
47
+ assert_gets("/api/v2/event/#{id}/alertFiringDetails") do
48
+ wf.alert_firing_details(id)
49
+ end
50
+
51
+ assert_raises(Wavefront::Exception::InvalidEventId) do
52
+ wf.alert_firing_details(invalid_id)
53
+ end
54
+ end
55
+
56
+ def test_alert_queries_slug
57
+ assert_gets("/api/v2/event/#{id}/alertQueriesSlug") do
58
+ wf.alert_queries_slug(id)
59
+ end
60
+
61
+ assert_raises(Wavefront::Exception::InvalidEventId) do
62
+ wf.alert_queries_slug(invalid_id)
63
+ end
64
+ end
65
+
66
+ def test_events
67
+ assert_gets(
68
+ "/api/v2/event/#{id}/events?isOverlapped=false&renderingMethod=HOST"
69
+ ) do
70
+ wf.events(id)
71
+ end
72
+
73
+ assert_raises(Wavefront::Exception::InvalidEventId) do
74
+ wf.events(invalid_id)
75
+ end
76
+ end
77
+
78
+ def test_alert_firings
79
+ assert_gets("/api/v2/event/alertFirings?alertId=#{alert_id}&asc=true") do
80
+ wf.alert_firings(alert_id, asc: true)
81
+ end
82
+
83
+ assert_raises(Wavefront::Exception::InvalidAlertId) do
84
+ wf.alert_firings(invalid_id)
85
+ end
86
+ end
87
+
46
88
  private
47
89
 
48
90
  def id
49
91
  '1481553823153:testev'
50
92
  end
51
93
 
94
+ def alert_id
95
+ '1481553823153'
96
+ end
97
+
52
98
  def invalid_id
53
99
  'nonsense'
54
100
  end
@@ -4,6 +4,8 @@
4
4
  require 'minitest/autorun'
5
5
  require_relative '../spec_helper'
6
6
  require_relative '../../lib/wavefront-sdk/metric_helper'
7
+ require_relative '../support/mocket'
8
+ require_relative '../support/bad_mocket'
7
9
 
8
10
  ND_CREDS = { proxy: 'wavefront' }.freeze
9
11
  WH_TAGS = { t1: 'v1', t2: 'v2' }.freeze
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../spec_helper'
5
+ require_relative '../test_mixins/general'
6
+
7
+ # Unit tests for MetricsPolicy class
8
+ #
9
+ class WavefrontMetricsPolicyTest < WavefrontTestBase
10
+ def test_describe
11
+ assert_gets('/api/v2/metricspolicy') { wf.describe }
12
+
13
+ assert_gets('/api/v2/metricspolicy/history/5') { wf.describe(5) }
14
+
15
+ assert_raises(Wavefront::Exception::InvalidVersion) do
16
+ wf.describe('v5')
17
+ end
18
+ end
19
+
20
+ def test_history
21
+ assert_gets('/api/v2/metricspolicy/history?offset=10&limit=100') do
22
+ wf.history(10)
23
+ end
24
+
25
+ assert_gets('/api/v2/metricspolicy/history?offset=12&limit=34') do
26
+ wf.history(12, 34)
27
+ end
28
+ end
29
+
30
+ def test_revert
31
+ assert_posts('/api/v2/metricspolicy/revert/5', nil, :json) do
32
+ wf.revert(5)
33
+ end
34
+
35
+ assert_raises(Wavefront::Exception::InvalidVersion) do
36
+ wf.revert('v5')
37
+ end
38
+ end
39
+
40
+ def test_update
41
+ assert_puts('/api/v2/metricspolicy', payload.to_json) do
42
+ wf.update(payload)
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ def api_class
49
+ 'metricspolicy'
50
+ end
51
+
52
+ def id
53
+ 'a7d2e651-cec1-4154-a5e8-1946f57ef5b3'
54
+ end
55
+
56
+ def invalid_id
57
+ '+-+-+-+'
58
+ end
59
+
60
+ def payload
61
+ {
62
+ policyRules: [
63
+ {
64
+ name: 'Policy rule1 name',
65
+ description: 'Policy rule1 description',
66
+ prefixes: ['revenue.*'],
67
+ tags: [
68
+ {
69
+ key: 'sensitive',
70
+ value: 'false'
71
+ },
72
+ {
73
+ key: 'source',
74
+ value: 'app1'
75
+ }
76
+ ],
77
+ tagsAnded: 'true',
78
+ accessType: 'ALLOW',
79
+ accounts: %w[accountId1 accountId2],
80
+ userGroups: ['userGroupId1'],
81
+ roles: ['roleId']
82
+ },
83
+ {
84
+ name: 'Policy rule2 name',
85
+ description: 'Policy rule2 description',
86
+ prefixes: ['revenue.*'],
87
+ accessType: 'BLOCK',
88
+ accounts: ['accountId3'],
89
+ userGroups: ['userGroupId1']
90
+ }
91
+ ]
92
+ }
93
+ end
94
+ end
@@ -11,8 +11,8 @@ class WavefrontMiscTest < MiniTest::Test
11
11
  # defines itself as.
12
12
  #
13
13
  def test_version_vs_history
14
- history_file = WF_SDK_LOCATION + 'HISTORY.md'
15
- history_vers = IO.read(history_file).match(/^## (\d+\.\d+\.\d+) \(/)
14
+ history_file = WF_SDK_LOCATION.join('HISTORY.md')
15
+ history_vers = File.read(history_file).match(/^## (\d+\.\d+\.\d+) \(/)
16
16
  assert_equal(WF_SDK_VERSION, history_vers.captures.first)
17
17
  end
18
18
  end
@@ -54,8 +54,8 @@ class WavefrontSavedSearchTest < WavefrontTestBase
54
54
 
55
55
  def payload
56
56
  { query: {
57
- foo: '{"searchTerms":[{"type":"freetext","value":"foo"}]}'
58
- },
57
+ foo: '{"searchTerms":[{"type":"freetext","value":"foo"}]}'
58
+ },
59
59
  entityType: 'DASHBOARD' }
60
60
  end
61
61
  end
@@ -38,6 +38,33 @@ class WavefrontSpyTest < MiniTest::Test
38
38
  end
39
39
  end
40
40
 
41
+ def test_deltas
42
+ capture_io do
43
+ assert_gets('/api/spy/deltas?sampling=0.01') { wf.deltas }
44
+ assert_gets('/api/spy/deltas?sampling=0.05') { wf.deltas(0.05) }
45
+
46
+ assert_gets('/api/spy/deltas?sampling=0.05&counter=my_prefix') do
47
+ wf.deltas(0.05, prefix: 'my_prefix')
48
+ end
49
+
50
+ assert_gets(
51
+ '/api/spy/deltas?sampling=0.05&counter=my_prefix&host=h1'
52
+ ) do
53
+ wf.deltas(0.05, prefix: 'my_prefix', host: 'h1')
54
+ end
55
+
56
+ assert_gets('/api/spy/deltas?sampling=0.02&counter=my_prefix&' \
57
+ 'counterTagKey=the_tag') do
58
+ wf.deltas(0.02, prefix: 'my_prefix', tag_key: 'the_tag')
59
+ end
60
+
61
+ assert_gets('/api/spy/deltas?sampling=0.02&counter=my_prefix&' \
62
+ 'counterTagKey=tag1&counterTagKey=tag2') do
63
+ wf.deltas(0.02, prefix: 'my_prefix', tag_key: %w[tag1 tag2])
64
+ end
65
+ end
66
+ end
67
+
41
68
  def test_histograms
42
69
  capture_io do
43
70
  assert_gets('/api/spy/histograms?sampling=0.01') { wf.histograms }
@@ -127,10 +127,10 @@ class WavefrontUserTest < WavefrontTestBase
127
127
  end
128
128
 
129
129
  def test_response_shim
130
- (RESOURCE_DIR + 'user_responses').each_child do |input|
130
+ RESOURCE_DIR.join('user_responses').each_child do |input|
131
131
  # Ugly hack for the 202 in the 'create' file
132
132
  status = input.basename.to_s == 'create.json' ? 202 : 200
133
- shimmed = wf.response_shim(IO.read(input), status)
133
+ shimmed = wf.response_shim(File.read(input), status)
134
134
  assert_instance_of(String, shimmed)
135
135
 
136
136
  ret_obj = JSON.parse(shimmed, symbolize_names: true)
@@ -417,4 +417,14 @@ class WavefrontValidatorsTest < MiniTest::Test
417
417
  bad = %w[h5Z9dkr46jbvLtJ HqOM4mru5svd3uFp3 c!lBx!LC*NxLKdx*]
418
418
  good_and_bad('wf_aws_external_id?', 'InvalidAwsExternalId', good, bad)
419
419
  end
420
+
421
+ def test_wf_metricspolicy_id
422
+ good = %w[2bfdcac7-1c9c-4c4b-9b56-c41c22c586dc
423
+ a7d2e651-cec1-4154-a5e8-1946f57ef5b3
424
+ fca312fb-5ff4-420d-862d-5d6d99ed6bcf
425
+ 3a1957e0-459e-49e5-9209-3888a4e8ac5b]
426
+
427
+ bad = %w[fa312fb-5ff4-420d-862d-5d6d99ed6bcf thing 123]
428
+ good_and_bad('wf_metricspolicy_id?', 'InvalidMetricsPolicyId', good, bad)
429
+ end
420
430
  end
@@ -27,7 +27,7 @@ class WavefrontWriteTest < MiniTest::Test
27
27
  refute(wf.opts[:noop])
28
28
  assert(wf_noop.opts[:noop])
29
29
  assert_equal(wf_tags.opts[:tags], TAGS)
30
- assert_instance_of(Wavefront::Writer::Socket, wf.writer)
30
+ assert_instance_of(Wavefront::Writer::Proxy, wf.writer)
31
31
  end
32
32
 
33
33
  def test_composite_response
@@ -11,36 +11,34 @@ require_relative '../../spec_helper'
11
11
  require_relative '../../../lib/wavefront-sdk/write'
12
12
  require_relative '../../../spec/support/mocket'
13
13
 
14
- UNIX_SOCK = '/tmp/testsock'
14
+ WS_CREDS = { proxy: 'wavefront-proxy' }.freeze
15
15
 
16
- WU_CREDS = { socket: UNIX_SOCK }.freeze
17
-
18
- # Test UNIX Datagram socket writing
16
+ # The Proxy class writes to a proxy TCP socket
19
17
  #
20
- class WavefrontWriterUnixTest < MiniTest::Test
18
+ class WavefrontWriterSocketTest < MiniTest::Test
21
19
  attr_reader :wf, :wf_noop
22
20
 
23
21
  def setup
24
- @wf = Wavefront::Write.new(WU_CREDS, writer: :unix)
25
- @wf_noop = Wavefront::Write.new(WU_CREDS, writer: :unix, noop: true)
22
+ @wf = Wavefront::Write.new(WS_CREDS, writer: :proxy)
23
+ @wf_noop = Wavefront::Write.new(WS_CREDS, writer: :proxy, noop: true)
26
24
  end
27
25
 
28
26
  def test_writer_class
29
- assert_instance_of(Wavefront::Writer::Unix, wf.writer)
27
+ assert_instance_of(Wavefront::Writer::Proxy, wf.writer)
30
28
  end
31
29
 
32
30
  def test_write_openclose
33
31
  mocket = Mocket.new
34
- Spy.on(UNIXSocket, :new).and_return(mocket)
35
- mocket_spy = Spy.on(mocket, :write)
32
+ Spy.on(TCPSocket, :new).and_return(mocket)
33
+ mocket_spy = Spy.on(mocket, :puts)
36
34
  wf.write(POINT)
37
35
  assert mocket_spy.has_been_called?
38
36
  end
39
37
 
40
38
  def test_write_noop
41
39
  mocket = Mocket.new
42
- Spy.on(UNIXSocket, :new).and_return(mocket)
43
- mocket_spy = Spy.on(mocket, :write)
40
+ Spy.on(TCPSocket, :new).and_return(mocket)
41
+ mocket_spy = Spy.on(mocket, :puts)
44
42
  wf_noop.open
45
43
  wf_noop.write(POINT, false)
46
44
  refute mocket_spy.has_been_called?
@@ -48,16 +46,16 @@ class WavefrontWriterUnixTest < MiniTest::Test
48
46
 
49
47
  def test_write_noop_openclose
50
48
  mocket = Mocket.new
51
- Spy.on(UNIXSocket, :new).and_return(mocket)
52
- mocket_spy = Spy.on(mocket, :write)
49
+ Spy.on(TCPSocket, :new).and_return(mocket)
50
+ mocket_spy = Spy.on(mocket, :puts)
53
51
  wf_noop.write(POINT)
54
52
  refute mocket_spy.has_been_called?
55
53
  end
56
54
 
57
55
  def test_write
58
56
  mocket = Mocket.new
59
- Spy.on(UNIXSocket, :new).and_return(mocket)
60
- mocket_spy = Spy.on(mocket, :write)
57
+ Spy.on(TCPSocket, :new).and_return(mocket)
58
+ mocket_spy = Spy.on(mocket, :puts)
61
59
  wf.open
62
60
  wf.write(POINT, false)
63
61
  assert mocket_spy.has_been_called?
@@ -65,8 +63,8 @@ class WavefrontWriterUnixTest < MiniTest::Test
65
63
 
66
64
  def test_write_array
67
65
  mocket = Mocket.new
68
- Spy.on(UNIXSocket, :new).and_return(mocket)
69
- mocket_spy = Spy.on(mocket, :write)
66
+ Spy.on(TCPSocket, :new).and_return(mocket)
67
+ mocket_spy = Spy.on(mocket, :puts)
70
68
  wf.open
71
69
  wf.write(POINT_A, false)
72
70
  assert mocket_spy.has_been_called?
@@ -74,32 +72,32 @@ class WavefrontWriterUnixTest < MiniTest::Test
74
72
 
75
73
  def test_noop_send_point
76
74
  mocket = Mocket.new
77
- Spy.on(UNIXSocket, :new).and_return(mocket)
78
- mocket_spy = Spy.on(mocket, :write)
75
+ Spy.on(TCPSocket, :new).and_return(mocket)
76
+ mocket_spy = Spy.on(mocket, :puts)
79
77
  wf_noop.open
80
78
  wf_noop.send_point(POINT_L)
81
79
  refute mocket_spy.has_been_called?
82
80
  end
83
81
 
84
82
  def test_open
85
- tcp_spy = Spy.on(UNIXSocket, :new)
83
+ tcp_spy = Spy.on(TCPSocket, :new)
86
84
  wf.open
87
85
  assert tcp_spy.has_been_called?
88
- assert_equal([UNIX_SOCK], tcp_spy.calls.first.args)
86
+ assert_equal(['wavefront-proxy', 2878], tcp_spy.calls.first.args)
89
87
  end
90
88
 
91
89
  def test_noop_open
92
- tcp_spy = Spy.on(UNIXSocket, :new)
90
+ tcp_spy = Spy.on(TCPSocket, :new)
93
91
  log_spy = Spy.on(wf_noop.logger, :log)
94
92
  wf_noop.open
95
93
  refute tcp_spy.has_been_called?
96
- assert_equal(['No-op requested. Not opening socket connection.'],
94
+ assert_equal(['No-op requested. Not opening connection to proxy.'],
97
95
  log_spy.calls.last.args)
98
96
  assert_equal(1, log_spy.calls.size)
99
97
  end
100
98
 
101
99
  def test_noop_close
102
- tcp_spy = Spy.on(UNIXSocket, :new)
100
+ tcp_spy = Spy.on(TCPSocket, :new)
103
101
  log_spy = Spy.on(wf_noop.logger, :log)
104
102
  wf_noop.close
105
103
  refute tcp_spy.has_been_called?
@@ -107,25 +105,25 @@ class WavefrontWriterUnixTest < MiniTest::Test
107
105
  end
108
106
 
109
107
  def test_validate_credentials
110
- assert(Wavefront::Write.new(WU_CREDS, writer: :unix))
108
+ assert(Wavefront::Write.new(WS_CREDS, writer: :proxy))
111
109
 
112
110
  assert_instance_of(Wavefront::Write,
113
- Wavefront::Write.new(WU_CREDS, writer: :unix))
111
+ Wavefront::Write.new(WS_CREDS, writer: :proxy))
114
112
 
115
113
  assert_raises(Wavefront::Exception::CredentialError) do
116
- Wavefront::Write.new({}, writer: :unix)
114
+ Wavefront::Write.new({}, writer: :proxy)
117
115
  end
118
116
 
119
117
  assert_raises(Wavefront::Exception::CredentialError) do
120
- Wavefront::Write.new({ endpoint: 'wavefront.com' }, writer: :unix)
118
+ Wavefront::Write.new({ endpoint: 'wavefront.com' }, writer: :proxy)
121
119
  end
122
120
 
123
121
  assert_raises(Wavefront::Exception::CredentialError) do
124
- Wavefront::Write.new({ token: 'abcdef' }, writer: :unix)
122
+ Wavefront::Write.new({ token: 'abcdef' }, writer: :proxy)
125
123
  end
126
124
 
127
125
  assert_raises(Wavefront::Exception::CredentialError) do
128
- Wavefront::Write.new({ proxy: nil }, writer: :unix)
126
+ Wavefront::Write.new({ proxy: nil }, writer: :proxy)
129
127
  end
130
128
  end
131
129
  end