wavefront-cli 2.1.4 → 2.1.5
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.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rubocop.yml +1147 -0
- data/README.md +1 -1
- data/lib/wavefront-cli/alert.rb +2 -3
- data/lib/wavefront-cli/base.rb +27 -20
- data/lib/wavefront-cli/commands/alert.rb +0 -1
- data/lib/wavefront-cli/commands/event.rb +3 -2
- data/lib/wavefront-cli/commands/query.rb +0 -1
- data/lib/wavefront-cli/commands/window.rb +0 -1
- data/lib/wavefront-cli/commands/write.rb +0 -1
- data/lib/wavefront-cli/constants.rb +0 -1
- data/lib/wavefront-cli/controller.rb +5 -5
- data/lib/wavefront-cli/display/alert.rb +3 -5
- data/lib/wavefront-cli/display/dashboard.rb +3 -3
- data/lib/wavefront-cli/display/webhook.rb +2 -2
- data/lib/wavefront-cli/display/write.rb +1 -1
- data/lib/wavefront-cli/event.rb +67 -53
- data/lib/wavefront-cli/integration.rb +0 -1
- data/lib/wavefront-cli/maintenancewindow.rb +36 -20
- data/lib/wavefront-cli/opt_handler.rb +1 -1
- data/lib/wavefront-cli/query.rb +44 -27
- data/lib/wavefront-cli/string.rb +13 -25
- data/lib/wavefront-cli/version.rb +1 -1
- data/lib/wavefront-cli/write.rb +2 -7
- data/spec/.rubocop.yml +16 -0
- data/spec/spec_helper.rb +55 -55
- data/spec/wavefront-cli/alert_spec.rb +8 -8
- data/spec/wavefront-cli/base_spec.rb +1 -1
- data/spec/wavefront-cli/cloudintegration_spec.rb +6 -6
- data/spec/wavefront-cli/commands/base_spec.rb +0 -2
- data/spec/wavefront-cli/controller_spec.rb +5 -5
- data/spec/wavefront-cli/dashboard_spec.rb +8 -8
- data/spec/wavefront-cli/display/base_spec.rb +22 -23
- data/spec/wavefront-cli/display/printer/long_spec.rb +30 -28
- data/spec/wavefront-cli/event_spec.rb +8 -8
- data/spec/wavefront-cli/externallink_spec.rb +6 -6
- data/spec/wavefront-cli/maintanancewindow_spec.rb +8 -9
- data/spec/wavefront-cli/opt_handler_spec.rb +4 -5
- data/spec/wavefront-cli/proxy_spec.rb +8 -8
- data/spec/wavefront-cli/savedsearch_spec.rb +6 -6
- data/spec/wavefront-cli/source_spec.rb +8 -8
- data/spec/wavefront-cli/string_spec.rb +2 -3
- data/spec/wavefront-cli/webhook_spec.rb +8 -8
- data/wavefront-cli.gemspec +3 -3
- metadata +20 -5
@@ -8,8 +8,8 @@ require_relative(File.join('../../../lib/wavefront-cli/display',
|
|
8
8
|
.to_s.sub('_spec.rb', '')))
|
9
9
|
require_relative './spec_helper'
|
10
10
|
|
11
|
-
S_DATA = Map.new
|
12
|
-
S_OPTIONS = { '<id>': 'abc123' }
|
11
|
+
S_DATA = Map.new
|
12
|
+
S_OPTIONS = { '<id>': 'abc123' }.freeze
|
13
13
|
|
14
14
|
# Test base class for display methods
|
15
15
|
#
|
@@ -21,16 +21,15 @@ class WavefrontDisplayBaseTest < MiniTest::Test
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_put_id_first
|
24
|
-
assert_equal(wf.put_id_first(
|
25
|
-
|
26
|
-
assert_equal(wf.put_id_first(
|
27
|
-
|
28
|
-
assert_equal(wf.put_id_first(
|
29
|
-
|
24
|
+
assert_equal(wf.put_id_first(k1: 1, k2: 2, id: 3, k4: 4),
|
25
|
+
id: 3, k1: 1, k2: 2, k4: 4)
|
26
|
+
assert_equal(wf.put_id_first(id: 3, k1: 1, k2: 2, k4: 4),
|
27
|
+
id: 3, k1: 1, k2: 2, k4: 4)
|
28
|
+
assert_equal(wf.put_id_first(k2: 1, k1: 2, k4: 4),
|
29
|
+
k2: 1, k1: 2, k4: 4)
|
30
30
|
end
|
31
31
|
|
32
|
-
def test_run
|
33
|
-
end
|
32
|
+
def test_run; end
|
34
33
|
|
35
34
|
def test_friendly_name
|
36
35
|
assert_equal(wf.friendly_name, 'base')
|
@@ -82,11 +81,11 @@ class WavefrontDisplayBaseTest < MiniTest::Test
|
|
82
81
|
assert_output("No tags set on base 'abc123'.\n") { wf.do_tags }
|
83
82
|
|
84
83
|
assert_output("tag1\ntag2\n") do
|
85
|
-
WavefrontDisplay::Base.new(%w
|
84
|
+
WavefrontDisplay::Base.new(%w[tag1 tag2], S_OPTIONS).do_tags
|
86
85
|
end
|
87
86
|
|
88
87
|
assert_output("tag1\n") do
|
89
|
-
WavefrontDisplay::Base.new(%w
|
88
|
+
WavefrontDisplay::Base.new(%w[tag1], S_OPTIONS).do_tags
|
90
89
|
end
|
91
90
|
end
|
92
91
|
|
@@ -102,7 +101,7 @@ class WavefrontDisplayBaseTest < MiniTest::Test
|
|
102
101
|
wf = WavefrontDisplay::Base.new(data)
|
103
102
|
wf.drop_fields(:k1)
|
104
103
|
assert_equal(wf.instance_variable_get(:@data),
|
105
|
-
|
104
|
+
k2: Time.now.to_i, k3: Time.now.to_i)
|
106
105
|
end
|
107
106
|
|
108
107
|
def test_drop_fields_3
|
@@ -120,41 +119,41 @@ class WavefrontDisplayBaseTest < MiniTest::Test
|
|
120
119
|
end
|
121
120
|
|
122
121
|
def test_readable_time_2
|
123
|
-
data = { k1: 'string', k2:
|
122
|
+
data = { k1: 'string', k2: 1_499_426_615, k3: 1_499_426_615 }
|
124
123
|
wf = WavefrontDisplay::Base.new(data)
|
125
124
|
wf.readable_time(:k2)
|
126
125
|
x = wf.data
|
127
126
|
assert x.is_a?(Hash)
|
128
127
|
assert_equal(x.size, 3)
|
129
|
-
assert_equal(x.keys, %i
|
128
|
+
assert_equal(x.keys, %i[k1 k2 k3])
|
130
129
|
assert_equal(x[:k1], 'string')
|
131
130
|
assert_match(/^20\d\d-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d$/, x[:k2])
|
132
|
-
assert_equal(x[:k3],
|
131
|
+
assert_equal(x[:k3], 1_499_426_615)
|
133
132
|
end
|
134
133
|
|
135
|
-
def
|
136
|
-
data = { k1: 'string', k2:
|
134
|
+
def test_readable_time_3
|
135
|
+
data = { k1: 'string', k2: 1_499_426_615, k3: 1_499_426_615 }
|
137
136
|
wf = WavefrontDisplay::Base.new(data)
|
138
137
|
wf.readable_time(:k2, :k3)
|
139
138
|
x = wf.data
|
140
139
|
assert x.is_a?(Hash)
|
141
140
|
assert_equal(x.size, 3)
|
142
|
-
assert_equal(x.keys, %i
|
141
|
+
assert_equal(x.keys, %i[k1 k2 k3])
|
143
142
|
assert_equal(x[:k1], 'string')
|
144
143
|
assert_match(/^20\d\d-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d$/, x[:k2])
|
145
144
|
assert_match(/^20\d\d-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d$/, x[:k3])
|
146
145
|
end
|
147
146
|
|
148
147
|
def test_human_time
|
149
|
-
assert_raises(ArgumentError) { wf.human_time([1,2,3]) }
|
148
|
+
assert_raises(ArgumentError) { wf.human_time([1, 2, 3]) }
|
150
149
|
assert_raises(ArgumentError) { wf.human_time(123) }
|
151
|
-
assert_raises(ArgumentError) { wf.human_time(
|
152
|
-
assert_equal('2017-07-07 11:23:35', wf.human_time(
|
150
|
+
assert_raises(ArgumentError) { wf.human_time(12_345_678_901_234) }
|
151
|
+
assert_equal('2017-07-07 11:23:35', wf.human_time(1_499_426_615, true))
|
153
152
|
assert_match(/^20\d\d-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d.\d{3}$/,
|
154
153
|
wf.human_time(DateTime.now.strftime('%Q')))
|
155
154
|
assert_match(/^20\d\d-[01]\d-[0-3]\d [0-2]\d:[0-5]\d:[0-5]\d$/,
|
156
155
|
wf.human_time(Time.now.to_i))
|
157
|
-
assert_equal('2017-07-07 11:23:35.123', wf.human_time(
|
156
|
+
assert_equal('2017-07-07 11:23:35.123', wf.human_time(1_499_426_615_123,
|
158
157
|
true))
|
159
158
|
end
|
160
159
|
end
|
@@ -3,6 +3,8 @@
|
|
3
3
|
require_relative '../../../../lib/wavefront-cli/display/printer/long'
|
4
4
|
require_relative '../spec_helper'
|
5
5
|
|
6
|
+
# Test verbose printing stuff
|
7
|
+
#
|
6
8
|
class WavefrontDisplayPrinterLong < MiniTest::Test
|
7
9
|
attr_reader :wf
|
8
10
|
|
@@ -27,17 +29,35 @@ class WavefrontDisplayPrinterLong < MiniTest::Test
|
|
27
29
|
assert_equal(' key value', wf.mk_line('key', 'value'))
|
28
30
|
end
|
29
31
|
|
32
|
+
def test_mk_line_3
|
33
|
+
wf.instance_variable_set(:@kw, 7)
|
34
|
+
wf.instance_variable_set(:@indent_str, ' ')
|
35
|
+
assert_equal(' key value', wf.mk_line('key', 'value'))
|
36
|
+
assert_equal(' value', wf.mk_line(nil, 'value'))
|
37
|
+
assert_equal(' value', wf.mk_line('', 'value'))
|
38
|
+
assert_equal(" key a long string which must be\n" \
|
39
|
+
' folded once',
|
40
|
+
wf.mk_line('key', 'a long string which must be ' \
|
41
|
+
'folded once', 40))
|
42
|
+
assert_equal(" key a very long string whose very length\n" \
|
43
|
+
" means that the method is going to\n" \
|
44
|
+
' have to fold it twice',
|
45
|
+
wf.mk_line('key', 'a very long string whose very ' \
|
46
|
+
'length means that the method is going to ' \
|
47
|
+
'have to fold it twice', 49))
|
48
|
+
end
|
49
|
+
|
30
50
|
def test_mk_indent
|
31
51
|
wf.mk_indent(2)
|
32
52
|
assert_equal(wf.instance_variable_get(:@indent_str), ' ')
|
33
53
|
end
|
34
54
|
|
35
55
|
def test_preen_fields
|
36
|
-
assert_equal(wf.preen_fields({k1: 1, k2: 2}, [:k1]),
|
37
|
-
assert_equal(wf.preen_fields(
|
38
|
-
assert_equal(wf.preen_fields({k1: 1, k2: 2}, [:k3]), {})
|
39
|
-
assert_equal(wf.preen_fields({k1: 1, k2: 2}, [
|
40
|
-
|
56
|
+
assert_equal(wf.preen_fields({ k1: 1, k2: 2 }, [:k1]), k1: 1)
|
57
|
+
assert_equal(wf.preen_fields(k1: 1, k2: 2), k1: 1, k2: 2)
|
58
|
+
assert_equal(wf.preen_fields({ k1: 1, k2: 2 }, [:k3]), {})
|
59
|
+
assert_equal(wf.preen_fields({ k1: 1, k2: 2 }, %i[k1 k2]),
|
60
|
+
k1: 1, k2: 2)
|
41
61
|
end
|
42
62
|
|
43
63
|
def test_preen_value
|
@@ -59,14 +79,14 @@ class WavefrontDisplayPrinterLong < MiniTest::Test
|
|
59
79
|
def test_parse_line_1
|
60
80
|
assert_nil wf.parse_line(:k, [])
|
61
81
|
spy = Spy.on(wf, :add_hash)
|
62
|
-
wf.parse_line('key',
|
63
|
-
assert spy.has_been_called_with?('key',
|
82
|
+
wf.parse_line('key', k1: 1, k2: 2)
|
83
|
+
assert spy.has_been_called_with?('key', k1: 1, k2: 2)
|
64
84
|
end
|
65
85
|
|
66
86
|
def test_parse_line_2
|
67
87
|
spy = Spy.on(wf, :add_array)
|
68
|
-
wf.parse_line('key', [1,2,3,4])
|
69
|
-
assert spy.has_been_called_with?('key', [1,2,3,4])
|
88
|
+
wf.parse_line('key', [1, 2, 3, 4])
|
89
|
+
assert spy.has_been_called_with?('key', [1, 2, 3, 4])
|
70
90
|
end
|
71
91
|
|
72
92
|
def test_parse_line_3
|
@@ -77,7 +97,7 @@ class WavefrontDisplayPrinterLong < MiniTest::Test
|
|
77
97
|
|
78
98
|
def test_add_array
|
79
99
|
spy = Spy.on(wf, :add_line)
|
80
|
-
wf.add_array('key', %w
|
100
|
+
wf.add_array('key', %w[value1 value2 value3 value4])
|
81
101
|
assert spy.has_been_called_with?('key', 'value1')
|
82
102
|
assert spy.has_been_called_with?(nil, 'value2')
|
83
103
|
assert spy.has_been_called_with?(nil, 'value3')
|
@@ -116,22 +136,4 @@ class WavefrontDisplayPrinterLong < MiniTest::Test
|
|
116
136
|
assert tc_spy.has_been_called_with?([hash], 6)
|
117
137
|
refute hr_spy.has_been_called?
|
118
138
|
end
|
119
|
-
|
120
|
-
def test_mk_line_1
|
121
|
-
wf.instance_variable_set(:@kw, 7)
|
122
|
-
wf.instance_variable_set(:@indent_str, ' ')
|
123
|
-
assert_equal(' key value', wf.mk_line('key', 'value'))
|
124
|
-
assert_equal(' value', wf.mk_line(nil, 'value'))
|
125
|
-
assert_equal(' value', wf.mk_line('', 'value'))
|
126
|
-
assert_equal(" key a long string which must be\n" \
|
127
|
-
' folded once',
|
128
|
-
wf.mk_line('key', 'a long string which must be ' \
|
129
|
-
'folded once', 40))
|
130
|
-
assert_equal(" key a very long string whose very length\n" \
|
131
|
-
" means that the method is going to\n" \
|
132
|
-
" have to fold it twice",
|
133
|
-
wf.mk_line('key', 'a very long string whose very ' \
|
134
|
-
'length means that the method is going to ' \
|
135
|
-
'have to fold it twice', 49))
|
136
|
-
end
|
137
139
|
end
|
@@ -17,12 +17,12 @@ describe "#{word} command" do
|
|
17
17
|
method: :post, path: "/api/v2/#{word}/#{id}/close")
|
18
18
|
tag_tests(word, id, bad_id)
|
19
19
|
cmd_to_call(word, "search -o 11 id=#{id}",
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
method: :post, path: "/api/v2/search/#{word}",
|
21
|
+
body: { limit: 10,
|
22
|
+
offset: '11',
|
23
|
+
query: [{ key: 'id',
|
24
|
+
value: id,
|
25
|
+
matchingMethod: 'EXACT' }],
|
26
|
+
sort: { field: 'id', ascending: true } },
|
27
|
+
headers: JSON_POST_HEADERS)
|
28
28
|
end
|
@@ -16,12 +16,12 @@ describe "#{word} command" do
|
|
16
16
|
{ method: :delete, path: "/api/v2/extlink/#{id}" }, k)
|
17
17
|
invalid_ids(word, ["describe #{bad_id}", "delete #{bad_id}"])
|
18
18
|
cmd_to_call(word, "search -L 100 id~#{id}",
|
19
|
-
{ method: :post, path:
|
20
|
-
body: { limit:
|
19
|
+
{ method: :post, path: '/api/v2/search/externallink',
|
20
|
+
body: { limit: '100',
|
21
21
|
offset: 0,
|
22
|
-
query: [{key: 'id',
|
23
|
-
|
24
|
-
|
25
|
-
sort: {field: 'id', ascending: true}},
|
22
|
+
query: [{ key: 'id',
|
23
|
+
value: id,
|
24
|
+
matchingMethod: 'CONTAINS' }],
|
25
|
+
sort: { field: 'id', ascending: true } },
|
26
26
|
headers: JSON_POST_HEADERS }, WavefrontCli::ExternalLink)
|
27
27
|
end
|
@@ -19,19 +19,18 @@ describe "#{word} command" do
|
|
19
19
|
cmd_to_call(word, "search -o 100 id=#{id}",
|
20
20
|
{ method: :post, path: '/api/v2/search/maintenancewindow',
|
21
21
|
body: { limit: 10,
|
22
|
-
offset:
|
23
|
-
query: [{key: 'id',
|
24
|
-
|
25
|
-
|
26
|
-
sort: {field: 'id', ascending: true}},
|
22
|
+
offset: '100',
|
23
|
+
query: [{ key: 'id',
|
24
|
+
value: id,
|
25
|
+
matchingMethod: 'EXACT' }],
|
26
|
+
sort: { field: 'id', ascending: true } },
|
27
27
|
headers: JSON_POST_HEADERS },
|
28
|
-
|
28
|
+
WavefrontCli::MaintenanceWindow)
|
29
29
|
|
30
30
|
cmd_to_call(word, 'create -d testing -H shark tester',
|
31
31
|
{ method: :post, path: '/api/v2/maintenancewindow',
|
32
32
|
body: {
|
33
|
-
|
33
|
+
},
|
34
34
|
headers: JSON_POST_HEADERS },
|
35
|
-
|
36
|
-
|
35
|
+
WavefrontCli::MaintenanceWindow)
|
37
36
|
end
|
@@ -7,7 +7,6 @@ require_relative '../../lib/wavefront-cli/opt_handler'
|
|
7
7
|
# always done in the constructor
|
8
8
|
#
|
9
9
|
class OptHandlerTest < MiniTest::Test
|
10
|
-
|
11
10
|
# This one has to be kind of vague because I have a config file on
|
12
11
|
# the box I develop on, which will always be picked up. Other
|
13
12
|
# tests are more specific
|
@@ -63,7 +62,7 @@ class OptHandlerTest < MiniTest::Test
|
|
63
62
|
assert_equal(o[:config], CF)
|
64
63
|
assert_equal(o[:endpoint], 'default.wavefront.com')
|
65
64
|
assert_equal(o[:proxy], 'wavefront.localnet')
|
66
|
-
assert_output(
|
65
|
+
assert_output('') { WavefrontCli::OptHandler.new(opts) }
|
67
66
|
end
|
68
67
|
|
69
68
|
def test_alt_config_env
|
@@ -78,12 +77,12 @@ class OptHandlerTest < MiniTest::Test
|
|
78
77
|
assert_equal(o[:config], CF)
|
79
78
|
assert_equal(o[:endpoint], 'other.wavefront.com')
|
80
79
|
assert_equal(o[:proxy], 'otherwf.localnet')
|
81
|
-
assert_output(
|
80
|
+
assert_output('') { WavefrontCli::OptHandler.new(opts) }
|
82
81
|
ENV['WAVEFRONT_TOKEN'] = nil
|
83
82
|
ENV['WAVEFRONT_ENDPOINT'] = nil
|
84
83
|
end
|
85
84
|
|
86
|
-
def
|
85
|
+
def test_alt_config_env_2
|
87
86
|
ENV['WAVEFRONT_TOKEN'] = nil
|
88
87
|
ENV['WAVEFRONT_ENDPOINT'] = 'myendpoint.wavefront.com'
|
89
88
|
opts = { config: CF, profile: 'other' }
|
@@ -95,7 +94,7 @@ class OptHandlerTest < MiniTest::Test
|
|
95
94
|
assert_equal(o[:config], CF)
|
96
95
|
assert_equal(o[:endpoint], 'myendpoint.wavefront.com')
|
97
96
|
assert_equal(o[:proxy], 'otherwf.localnet')
|
98
|
-
assert_output(
|
97
|
+
assert_output('') { WavefrontCli::OptHandler.new(opts) }
|
99
98
|
ENV['WAVEFRONT_TOKEN'] = nil
|
100
99
|
ENV['WAVEFRONT_ENDPOINT'] = nil
|
101
100
|
end
|
@@ -24,12 +24,12 @@ describe "#{word} command" do
|
|
24
24
|
"undelete #{bad_id}", "rename #{bad_id} newname"])
|
25
25
|
invalid_something(word, ["rename #{id} '(>_<)'"], 'proxy name')
|
26
26
|
cmd_to_call(word, "search -o 10 id=#{id}",
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
27
|
+
method: :post, path: "/api/v2/search/#{word}",
|
28
|
+
body: { limit: 10,
|
29
|
+
offset: '10',
|
30
|
+
query: [{ key: 'id',
|
31
|
+
value: id,
|
32
|
+
matchingMethod: 'EXACT' }],
|
33
|
+
sort: { field: 'id', ascending: true } },
|
34
|
+
headers: JSON_POST_HEADERS)
|
35
35
|
end
|
@@ -16,12 +16,12 @@ describe "#{word} command" do
|
|
16
16
|
{ method: :delete, path: "/api/v2/#{word}/#{id}" }, k)
|
17
17
|
invalid_ids(word, ["describe #{bad_id}", "delete #{bad_id}"])
|
18
18
|
cmd_to_call(word, "search -L 100 id~#{id}",
|
19
|
-
{ method: :post, path:
|
20
|
-
body: { limit:
|
19
|
+
{ method: :post, path: '/api/v2/search/savedsearch',
|
20
|
+
body: { limit: '100',
|
21
21
|
offset: 0,
|
22
|
-
query: [{key: 'id',
|
23
|
-
|
24
|
-
|
25
|
-
sort: {field: 'id', ascending: true}},
|
22
|
+
query: [{ key: 'id',
|
23
|
+
value: id,
|
24
|
+
matchingMethod: 'CONTAINS' }],
|
25
|
+
sort: { field: 'id', ascending: true } },
|
26
26
|
headers: JSON_POST_HEADERS }, WavefrontCli::SavedSearch)
|
27
27
|
end
|
@@ -19,12 +19,12 @@ describe "#{word} command" do
|
|
19
19
|
invalid_ids(word, ["describe #{bad_id}", "clear #{bad_id}"])
|
20
20
|
tag_tests(word, id, bad_id)
|
21
21
|
cmd_to_call(word, "search -f json id^#{id}",
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
method: :post, path: "/api/v2/search/#{word}",
|
23
|
+
body: { limit: 10,
|
24
|
+
offset: 0,
|
25
|
+
query: [{ key: 'id',
|
26
|
+
value: id,
|
27
|
+
matchingMethod: 'STARTSWITH' }],
|
28
|
+
sort: { field: 'id', ascending: true } },
|
29
|
+
headers: JSON_POST_HEADERS)
|
30
30
|
end
|
@@ -37,10 +37,9 @@ class StringTest < MiniTest::Test
|
|
37
37
|
def test_to_seconds
|
38
38
|
assert_equal(14, '14s'.to_seconds)
|
39
39
|
assert_equal(300, '5m'.to_seconds)
|
40
|
-
assert_equal(
|
41
|
-
assert_equal(
|
40
|
+
assert_equal(10_800, '3h'.to_seconds)
|
41
|
+
assert_equal(1_209_600, '2w'.to_seconds)
|
42
42
|
assert_raises(ArgumentError) { 'm'.to_seconds }
|
43
43
|
assert_raises(ArgumentError) { '3m5s'.to_seconds }
|
44
44
|
end
|
45
45
|
end
|
46
|
-
|
@@ -15,12 +15,12 @@ describe "#{word} command" do
|
|
15
15
|
path: "/api/v2/#{word}/#{id}")
|
16
16
|
invalid_ids(word, ["describe #{bad_id}", "delete #{bad_id}"])
|
17
17
|
cmd_to_call(word, "search -o 100 -L 100 id~#{id}",
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
18
|
+
method: :post, path: "/api/v2/search/#{word}",
|
19
|
+
body: { limit: '100',
|
20
|
+
offset: '100',
|
21
|
+
query: [{ key: 'id',
|
22
|
+
value: id,
|
23
|
+
matchingMethod: 'CONTAINS' }],
|
24
|
+
sort: { field: 'id', ascending: true } },
|
25
|
+
headers: JSON_POST_HEADERS)
|
26
26
|
end
|
data/wavefront-cli.gemspec
CHANGED
@@ -23,14 +23,14 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.require_paths = %w(lib)
|
24
24
|
|
25
25
|
gem.add_dependency 'docopt', '~> 0.6.0'
|
26
|
-
gem.
|
26
|
+
gem.add_runtime_dependency 'wavefront-sdk', '~> 1.2', '>= 1.2.1'
|
27
27
|
|
28
28
|
gem.add_development_dependency 'bundler', '~> 1.3'
|
29
29
|
gem.add_development_dependency 'rake', '~> 12.0'
|
30
30
|
gem.add_development_dependency 'yard', '~> 0.9.5'
|
31
|
-
gem.add_development_dependency 'rubocop', '~> 0.
|
31
|
+
gem.add_development_dependency 'rubocop', '~> 0.51.0'
|
32
32
|
gem.add_development_dependency 'webmock', '~> 3.0'
|
33
|
-
gem.add_development_dependency 'minitest', '~> 5.8.0'
|
33
|
+
gem.add_development_dependency 'minitest', '~> 5.8', '>= 5.8.0'
|
34
34
|
gem.add_development_dependency 'spy', '~> 0.4.0'
|
35
35
|
|
36
36
|
gem.required_ruby_version = Gem::Requirement.new('>= 2.2.0')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wavefront-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Fisher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -28,6 +28,9 @@ dependencies:
|
|
28
28
|
name: wavefront-sdk
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
31
34
|
- - ">="
|
32
35
|
- !ruby/object:Gem::Version
|
33
36
|
version: 1.2.1
|
@@ -35,6 +38,9 @@ dependencies:
|
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
38
44
|
- - ">="
|
39
45
|
- !ruby/object:Gem::Version
|
40
46
|
version: 1.2.1
|
@@ -86,14 +92,14 @@ dependencies:
|
|
86
92
|
requirements:
|
87
93
|
- - "~>"
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
95
|
+
version: 0.51.0
|
90
96
|
type: :development
|
91
97
|
prerelease: false
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
100
|
- - "~>"
|
95
101
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
102
|
+
version: 0.51.0
|
97
103
|
- !ruby/object:Gem::Dependency
|
98
104
|
name: webmock
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,6 +119,9 @@ dependencies:
|
|
113
119
|
requirement: !ruby/object:Gem::Requirement
|
114
120
|
requirements:
|
115
121
|
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '5.8'
|
124
|
+
- - ">="
|
116
125
|
- !ruby/object:Gem::Version
|
117
126
|
version: 5.8.0
|
118
127
|
type: :development
|
@@ -120,6 +129,9 @@ dependencies:
|
|
120
129
|
version_requirements: !ruby/object:Gem::Requirement
|
121
130
|
requirements:
|
122
131
|
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '5.8'
|
134
|
+
- - ">="
|
123
135
|
- !ruby/object:Gem::Version
|
124
136
|
version: 5.8.0
|
125
137
|
- !ruby/object:Gem::Dependency
|
@@ -145,6 +157,7 @@ extra_rdoc_files: []
|
|
145
157
|
files:
|
146
158
|
- ".codeclimate.yml"
|
147
159
|
- ".gitignore"
|
160
|
+
- ".rubocop.yml"
|
148
161
|
- ".travis.yml"
|
149
162
|
- Gemfile
|
150
163
|
- LICENSE.txt
|
@@ -214,6 +227,7 @@ files:
|
|
214
227
|
- lib/wavefront-cli/version.rb
|
215
228
|
- lib/wavefront-cli/webhook.rb
|
216
229
|
- lib/wavefront-cli/write.rb
|
230
|
+
- spec/.rubocop.yml
|
217
231
|
- spec/spec_helper.rb
|
218
232
|
- spec/wavefront-cli/alert_spec.rb
|
219
233
|
- spec/wavefront-cli/base_spec.rb
|
@@ -275,11 +289,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
275
289
|
version: '0'
|
276
290
|
requirements: []
|
277
291
|
rubyforge_project:
|
278
|
-
rubygems_version: 2.7.
|
292
|
+
rubygems_version: 2.7.3
|
279
293
|
signing_key:
|
280
294
|
specification_version: 4
|
281
295
|
summary: CLI for Wavefront API v2
|
282
296
|
test_files:
|
297
|
+
- spec/.rubocop.yml
|
283
298
|
- spec/spec_helper.rb
|
284
299
|
- spec/wavefront-cli/alert_spec.rb
|
285
300
|
- spec/wavefront-cli/base_spec.rb
|