wavefront-sdk 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +62 -72
- data/.travis.yml +5 -4
- data/README.md +10 -0
- data/lib/wavefront-sdk/base.rb +28 -8
- data/lib/wavefront-sdk/constants.rb +3 -0
- data/lib/wavefront-sdk/credentials.rb +36 -17
- data/lib/wavefront-sdk/mixins.rb +3 -22
- data/lib/wavefront-sdk/notificant.rb +1 -1
- data/lib/wavefront-sdk/parse_time.rb +58 -0
- data/lib/wavefront-sdk/response.rb +7 -6
- data/lib/wavefront-sdk/search.rb +5 -2
- data/lib/wavefront-sdk/user.rb +7 -0
- data/lib/wavefront-sdk/validators.rb +15 -7
- data/lib/wavefront-sdk/version.rb +1 -1
- data/lib/wavefront-sdk/write.rb +29 -3
- data/spec/.rubocop.yml +3 -0
- data/spec/spec_helper.rb +24 -18
- data/spec/wavefront-sdk/alert_spec.rb +5 -0
- data/spec/wavefront-sdk/base_spec.rb +9 -9
- data/spec/wavefront-sdk/credentials_spec.rb +123 -4
- data/spec/wavefront-sdk/event_spec.rb +4 -5
- data/spec/wavefront-sdk/externallink_spec.rb +1 -1
- data/spec/wavefront-sdk/maintenancewindow_spec.rb +2 -2
- data/spec/wavefront-sdk/metric_spec.rb +2 -2
- data/spec/wavefront-sdk/mixins_spec.rb +1 -1
- data/spec/wavefront-sdk/parse_time_spec.rb +65 -0
- data/spec/wavefront-sdk/resources/test2.conf +4 -0
- data/spec/wavefront-sdk/response_spec.rb +3 -5
- data/spec/wavefront-sdk/savedsearch_spec.rb +1 -1
- data/spec/wavefront-sdk/source_spec.rb +1 -1
- data/spec/wavefront-sdk/user_spec.rb +5 -3
- data/spec/wavefront-sdk/validators_spec.rb +65 -62
- data/spec/wavefront-sdk/webhook_spec.rb +1 -1
- data/spec/wavefront-sdk/write_spec.rb +19 -1
- data/wavefront-sdk.gemspec +4 -3
- metadata +29 -15
data/spec/.rubocop.yml
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
#
|
2
2
|
# Stuff needed by multiple tests
|
3
3
|
#
|
4
|
+
|
5
|
+
require 'simplecov'
|
6
|
+
SimpleCov.start do
|
7
|
+
add_filter '/spec/'
|
8
|
+
end
|
4
9
|
require 'minitest/autorun'
|
5
10
|
require 'webmock/minitest'
|
6
11
|
|
@@ -10,17 +15,18 @@ CREDS = {
|
|
10
15
|
}
|
11
16
|
|
12
17
|
POST_HEADERS = {
|
13
|
-
|
18
|
+
'Content-Type': 'text/plain', Accept: 'application/json'
|
14
19
|
}.freeze
|
15
20
|
|
16
21
|
JSON_POST_HEADERS = {
|
17
|
-
|
22
|
+
'Content-Type': 'application/json', Accept: 'application/json'
|
18
23
|
}.freeze
|
19
24
|
|
20
25
|
DUMMY_RESPONSE = '{"status":{"result":"OK","message":"","code":200},' \
|
21
26
|
'"response":{"items":[{"name":"test data"}],"offset":0,' \
|
22
|
-
'"limit":100,"totalItems":3,"moreItems":false}}'
|
27
|
+
'"limit":100,"totalItems":3,"moreItems":false}}'.freeze
|
23
28
|
|
29
|
+
# Common testing code
|
24
30
|
class WavefrontTestBase < MiniTest::Test
|
25
31
|
attr_reader :wf, :wf_noop, :uri_base, :headers
|
26
32
|
|
@@ -60,21 +66,22 @@ class WavefrontTestBase < MiniTest::Test
|
|
60
66
|
# @body [String] a JSON object you expect to be sent as part of
|
61
67
|
# the request
|
62
68
|
#
|
63
|
-
#
|
69
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
70
|
+
# rubocop:disable Metrics/ParameterLists
|
64
71
|
def should_work(method, args, path, call = :get, more_headers = {},
|
65
72
|
body = nil, id = nil)
|
66
73
|
path = Array(path)
|
67
|
-
uri = target_uri(path.first).sub(
|
74
|
+
uri = target_uri(path.first).sub(%r{/$}, '')
|
68
75
|
|
69
76
|
headers = { 'Accept': /.*/,
|
70
77
|
'Accept-Encoding': /.*/,
|
71
78
|
'Authorization': 'Bearer 0123456789-ABCDEF',
|
72
|
-
'User-Agent': "wavefront-sdk #{WF_SDK_VERSION}"
|
73
|
-
|
79
|
+
'User-Agent': "wavefront-sdk #{WF_SDK_VERSION}" }
|
80
|
+
.merge(more_headers)
|
74
81
|
|
75
82
|
if body
|
76
|
-
stub_request(call, uri).with(body: body, headers:headers)
|
77
|
-
|
83
|
+
stub_request(call, uri).with(body: body, headers: headers)
|
84
|
+
.to_return(body: DUMMY_RESPONSE, status: 200)
|
78
85
|
else
|
79
86
|
stub_request(call, uri).to_return(body: DUMMY_RESPONSE, status: 200)
|
80
87
|
end
|
@@ -85,12 +92,10 @@ class WavefrontTestBase < MiniTest::Test
|
|
85
92
|
else
|
86
93
|
wf.send(method, args)
|
87
94
|
end
|
95
|
+
elsif id
|
96
|
+
wf.send(method, id, *args)
|
88
97
|
else
|
89
|
-
|
90
|
-
wf.send(method, id, *args)
|
91
|
-
else
|
92
|
-
wf.send(method, *args)
|
93
|
-
end
|
98
|
+
wf.send(method, *args)
|
94
99
|
end
|
95
100
|
|
96
101
|
assert_requested(call, uri, headers: headers)
|
@@ -99,7 +104,7 @@ class WavefrontTestBase < MiniTest::Test
|
|
99
104
|
|
100
105
|
def standard_exception
|
101
106
|
Object.const_get('Wavefront::Exception')
|
102
|
-
|
107
|
+
.const_get("Invalid#{class_basename}Id")
|
103
108
|
end
|
104
109
|
|
105
110
|
def should_be_invalid(method, args = '!!invalid_val!!')
|
@@ -118,8 +123,8 @@ class WavefrontTestBase < MiniTest::Test
|
|
118
123
|
#
|
119
124
|
should_work('tag_set', [id, 'tag'],
|
120
125
|
["#{id}/tag", ['tag'].to_json], :post, JSON_POST_HEADERS)
|
121
|
-
should_work('tag_set', [id, %w
|
122
|
-
["#{id}/tag", %w
|
126
|
+
should_work('tag_set', [id, %w[tag1 tag2]],
|
127
|
+
["#{id}/tag", %w[tag1 tag2].to_json], :post,
|
123
128
|
JSON_POST_HEADERS)
|
124
129
|
should_fail_tags('tag_set', id)
|
125
130
|
|
@@ -146,8 +151,9 @@ class WavefrontTestBase < MiniTest::Test
|
|
146
151
|
end
|
147
152
|
end
|
148
153
|
|
154
|
+
# Extensions to stdlib
|
155
|
+
#
|
149
156
|
class Hash
|
150
|
-
|
151
157
|
# A quick way to deep-copy a hash.
|
152
158
|
#
|
153
159
|
def dup
|
@@ -20,6 +20,11 @@ class WavefrontAlertTest < WavefrontTestBase
|
|
20
20
|
should_work(:list, 10, '?offset=10&limit=100')
|
21
21
|
end
|
22
22
|
|
23
|
+
def test_update_keys
|
24
|
+
assert_instance_of(Array, wf.update_keys)
|
25
|
+
wf.update_keys.each { |k| assert_instance_of(Symbol, k) }
|
26
|
+
end
|
27
|
+
|
23
28
|
def test_describe
|
24
29
|
should_work(:describe, ALERT, ALERT)
|
25
30
|
assert_raises(ArgumentError) { wf.describe }
|
@@ -20,17 +20,17 @@ class WavefrontBaseTest < MiniTest::Test
|
|
20
20
|
def test_time_to_ms
|
21
21
|
now_ms = Time.now.to_i * 1000
|
22
22
|
assert_equal wf.time_to_ms(now_ms), now_ms
|
23
|
-
assert_equal wf.time_to_ms(
|
23
|
+
assert_equal wf.time_to_ms(1_469_711_187), 1_469_711_187_000
|
24
24
|
refute wf.time_to_ms([])
|
25
25
|
refute wf.time_to_ms('1469711187')
|
26
26
|
end
|
27
27
|
|
28
28
|
def test_uri_concat
|
29
|
-
assert_equal %w
|
29
|
+
assert_equal %w[a b].uri_concat, 'a/b'
|
30
30
|
assert_equal ['', 'a', 'b'].uri_concat, '/a/b'
|
31
|
-
assert_equal %w
|
31
|
+
assert_equal %w[a /b].uri_concat, 'a/b'
|
32
32
|
assert_equal ['', 'a', 'b/'].uri_concat, '/a/b'
|
33
|
-
assert_equal %w
|
33
|
+
assert_equal %w[/a /b/ /c].uri_concat, '/a/b/c'
|
34
34
|
assert_equal ['/a', '/b c'].uri_concat, '/a/b c'
|
35
35
|
end
|
36
36
|
|
@@ -43,7 +43,7 @@ class WavefrontBaseTest < MiniTest::Test
|
|
43
43
|
|
44
44
|
def test_api_post
|
45
45
|
uri = "#{uri_base}/path"
|
46
|
-
obj = {key: 'value'}
|
46
|
+
obj = { key: 'value' }
|
47
47
|
stub_request(:post, uri).to_return(body: DUMMY_RESPONSE, status: 200)
|
48
48
|
wf.api_post('/path', 'string')
|
49
49
|
assert_requested(:post, uri, body: 'string',
|
@@ -71,7 +71,7 @@ class WavefrontBaseTest < MiniTest::Test
|
|
71
71
|
def test_api_noop
|
72
72
|
uri = "#{uri_base}/path"
|
73
73
|
|
74
|
-
%w
|
74
|
+
%w[get post put delete].each do |call|
|
75
75
|
stub_request(call.to_sym, uri)
|
76
76
|
wf_noop.send("api_#{call}", '/path')
|
77
77
|
refute_requested(call.to_sym, uri)
|
@@ -79,10 +79,10 @@ class WavefrontBaseTest < MiniTest::Test
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def test_hash_for_update
|
82
|
-
wf.instance_variable_set('@update_keys',
|
83
|
-
body = { k1: 'ov1', k2: 'ov2', k3: 'ov3'}
|
82
|
+
wf.instance_variable_set('@update_keys', %i[k1 k2])
|
83
|
+
body = { k1: 'ov1', k2: 'ov2', k3: 'ov3' }
|
84
84
|
upd = { k2: 'nv1' }
|
85
85
|
|
86
|
-
assert_equal(wf.hash_for_update(body, upd),
|
86
|
+
assert_equal(wf.hash_for_update(body, upd), k1: 'ov1', k2: 'nv1')
|
87
87
|
end
|
88
88
|
end
|
@@ -5,8 +5,9 @@ require_relative '../spec_helper'
|
|
5
5
|
require_relative '../../lib/wavefront-sdk/credentials'
|
6
6
|
|
7
7
|
CONF = Pathname.new(__FILE__).dirname.realpath + 'resources' + 'test.conf'
|
8
|
+
CONF2 = Pathname.new(__FILE__).dirname.realpath + 'resources' + 'test2.conf'
|
8
9
|
|
9
|
-
# Test SDK base class
|
10
|
+
# Test SDK base class end-to-end
|
10
11
|
#
|
11
12
|
class WavefrontCredentialsTest < MiniTest::Test
|
12
13
|
attr_reader :wf, :wf_noop, :uri_base, :headers
|
@@ -20,7 +21,7 @@ class WavefrontCredentialsTest < MiniTest::Test
|
|
20
21
|
assert_instance_of(Map, c.proxy)
|
21
22
|
assert_instance_of(Map, c.config)
|
22
23
|
|
23
|
-
assert_equal(c.creds.keys, %w
|
24
|
+
assert_equal(c.creds.keys, %w[token endpoint])
|
24
25
|
assert_equal(c.creds[:token], '12345678-abcd-1234-abcd-123456789012')
|
25
26
|
assert_equal(c.creds[:endpoint], 'default.wavefront.com')
|
26
27
|
end
|
@@ -34,7 +35,7 @@ class WavefrontCredentialsTest < MiniTest::Test
|
|
34
35
|
assert_instance_of(Map, c.proxy)
|
35
36
|
assert_instance_of(Map, c.config)
|
36
37
|
|
37
|
-
assert_equal(c.creds.keys, %w
|
38
|
+
assert_equal(c.creds.keys, %w[token endpoint])
|
38
39
|
assert_equal(c.creds[:token], 'abcdefgh')
|
39
40
|
assert_equal(c.creds[:endpoint], 'default.wavefront.com')
|
40
41
|
end
|
@@ -48,8 +49,126 @@ class WavefrontCredentialsTest < MiniTest::Test
|
|
48
49
|
assert_instance_of(Map, c.proxy)
|
49
50
|
assert_instance_of(Map, c.config)
|
50
51
|
|
51
|
-
assert_equal(c.creds.keys, %w
|
52
|
+
assert_equal(c.creds.keys, %w[token endpoint])
|
52
53
|
assert_equal(c.creds[:token], '12345678-abcd-1234-abcd-123456789012')
|
53
54
|
assert_equal(c.creds[:endpoint], 'endpoint.wavefront.com')
|
54
55
|
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
# Test individual methods. We must override the constructor to do
|
60
|
+
# this.
|
61
|
+
#
|
62
|
+
class Giblets < Wavefront::Credentials
|
63
|
+
def initialize; end
|
64
|
+
end
|
65
|
+
|
66
|
+
class GibletsTest < MiniTest::Test
|
67
|
+
attr_reader :wf, :raw
|
68
|
+
|
69
|
+
def setup
|
70
|
+
@wf = Giblets.new
|
71
|
+
@raw = { endpoint: 'raw_ep', token: 'raw_tok', proxy: 'raw_proxy' }
|
72
|
+
clear_env_vars
|
73
|
+
end
|
74
|
+
|
75
|
+
def clear_env_vars
|
76
|
+
%w[WAVEFRONT_ENDPOINT WAVEFRONT_TOKEN WAVEFRONT_PROXY].each do |ev|
|
77
|
+
ENV.delete(ev)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_env_override_noenvs
|
82
|
+
assert_equal(wf.env_override(raw), raw)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_env_override_env_endpoint
|
86
|
+
ENV['WAVEFRONT_ENDPOINT'] = 'env_ep'
|
87
|
+
|
88
|
+
assert_equal(wf.env_override(raw),
|
89
|
+
{ endpoint: 'env_ep', token: 'raw_tok', proxy: 'raw_proxy' })
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_env_override_env_endpoint_and_token
|
93
|
+
ENV['WAVEFRONT_ENDPOINT'] = 'env_ep'
|
94
|
+
ENV['WAVEFRONT_TOKEN'] = 'env_tok'
|
95
|
+
|
96
|
+
assert_equal(wf.env_override(raw),
|
97
|
+
{ endpoint: 'env_ep', token: 'env_tok', proxy: 'raw_proxy' })
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_env_override_env_proxy
|
101
|
+
ENV['WAVEFRONT_PROXY'] = 'env_proxy'
|
102
|
+
x = wf.env_override(raw)
|
103
|
+
|
104
|
+
assert_instance_of(Hash, x)
|
105
|
+
assert_equal(x, { endpoint: 'raw_ep', token: 'raw_tok', proxy:
|
106
|
+
'env_proxy' })
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_populate
|
110
|
+
wf.populate(raw)
|
111
|
+
config = wf.instance_variable_get('@config')
|
112
|
+
creds = wf.instance_variable_get('@creds')
|
113
|
+
proxy = wf.instance_variable_get('@proxy')
|
114
|
+
|
115
|
+
assert_instance_of(Map, config)
|
116
|
+
assert_equal(config.proxy, 'raw_proxy')
|
117
|
+
assert_equal(config.endpoint, 'raw_ep')
|
118
|
+
|
119
|
+
assert_instance_of(Map, creds)
|
120
|
+
assert_equal(creds.endpoint, 'raw_ep')
|
121
|
+
assert_equal(creds.token, 'raw_tok')
|
122
|
+
refute creds[:proxy]
|
123
|
+
|
124
|
+
assert_instance_of(Map, proxy)
|
125
|
+
assert_equal(config.proxy, 'raw_proxy')
|
126
|
+
refute proxy[:endpoint]
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_cred_files_no_opts
|
130
|
+
x = wf.cred_files
|
131
|
+
assert_instance_of(Array, x)
|
132
|
+
assert_equal(x.length, 2)
|
133
|
+
x.each { |p| assert_instance_of(Pathname, p) }
|
134
|
+
assert_includes(x, Pathname.new('/etc/wavefront/credentials'))
|
135
|
+
assert_includes(x, Pathname.new(ENV['HOME']) + '.wavefront')
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_cred_files_opts
|
139
|
+
x = wf.cred_files(file: '/test/file')
|
140
|
+
assert_instance_of(Array, x)
|
141
|
+
assert_equal(x.length, 1)
|
142
|
+
assert_equal(x, Array(Pathname.new('/test/file')))
|
143
|
+
end
|
144
|
+
|
145
|
+
def test_load_from_file
|
146
|
+
assert_equal(wf.load_from_file(
|
147
|
+
[Pathname.new('/no/file/1'), Pathname.new('/no/file/2')]), {})
|
148
|
+
|
149
|
+
assert_equal(wf.load_from_file([CONF], 'noprofile'),
|
150
|
+
{ file: CONF })
|
151
|
+
|
152
|
+
x = wf.load_from_file([CONF2, CONF], 'default')
|
153
|
+
assert_instance_of(Hash, x)
|
154
|
+
assert_equal(x.keys.size, 5)
|
155
|
+
assert_equal(x[:proxy], 'wavefront.localnet')
|
156
|
+
|
157
|
+
%i[token endpoint proxy sourceformat file].each do |k|
|
158
|
+
assert_includes(x.keys, k)
|
159
|
+
end
|
160
|
+
|
161
|
+
y = wf.load_from_file([CONF2, CONF], 'other')
|
162
|
+
assert_instance_of(Hash, y)
|
163
|
+
%i[token endpoint proxy file].each { |k| assert_includes(y.keys, k) }
|
164
|
+
assert_equal(y.keys.size, 4)
|
165
|
+
assert_equal(y[:proxy], 'otherwf.localnet')
|
166
|
+
|
167
|
+
z = wf.load_from_file([CONF, CONF2], 'default')
|
168
|
+
assert_instance_of(Hash, z)
|
169
|
+
%i[token endpoint proxy file].each { |k| assert_includes(z.keys, k) }
|
170
|
+
assert_equal(z.keys.size, 4)
|
171
|
+
assert_equal(z[:proxy], 'wavefront.lab')
|
172
|
+
assert_equal(z[:endpoint], 'somewhere.wavefront.com')
|
173
|
+
end
|
55
174
|
end
|
@@ -10,10 +10,10 @@ EVENT_BODY = {
|
|
10
10
|
type: 'SDK test event',
|
11
11
|
details: 'an imaginary event to test the SDK'
|
12
12
|
},
|
13
|
-
hosts: %w
|
14
|
-
startTime:
|
15
|
-
endTime:
|
16
|
-
tags: %w
|
13
|
+
hosts: %w[host1 host2],
|
14
|
+
startTime: 1_493_385_089_000,
|
15
|
+
endTime: 1_493_385_345_678,
|
16
|
+
tags: %w[tag1 tag2],
|
17
17
|
isEphemeral: false
|
18
18
|
}.freeze
|
19
19
|
|
@@ -21,7 +21,6 @@ EVENT_BODY = {
|
|
21
21
|
#
|
22
22
|
class WavefrontEventTest < WavefrontTestBase
|
23
23
|
def test_list
|
24
|
-
|
25
24
|
t1 = Time.now - 600
|
26
25
|
t2 = Time.now
|
27
26
|
tms1 = t1.to_datetime.strftime('%Q')
|
@@ -8,8 +8,8 @@ WINDOW_BODY = {
|
|
8
8
|
title: 'test window',
|
9
9
|
start: Time.now.to_i,
|
10
10
|
end: Time.now.to_i + 600,
|
11
|
-
tags: %w
|
12
|
-
hostTags: %w
|
11
|
+
tags: %w[testtag1 testtag2],
|
12
|
+
hostTags: %w[hosttag1 hosttag2]
|
13
13
|
}.freeze
|
14
14
|
|
15
15
|
# Unit tests for MaintenanceWindow class
|
@@ -11,9 +11,9 @@ class WavefrontMetricTest < WavefrontTestBase
|
|
11
11
|
|
12
12
|
def test_detail
|
13
13
|
should_work(:detail, 'metric.1', 'detail?m=metric.1')
|
14
|
-
should_work(:detail, ['metric.1', %w
|
14
|
+
should_work(:detail, ['metric.1', %w[host1 host2]],
|
15
15
|
'detail?m=metric.1&h=host1&h=host2')
|
16
|
-
should_work(:detail, ['metric.1', %w
|
16
|
+
should_work(:detail, ['metric.1', %w[host1 host2], 'abc'],
|
17
17
|
'detail?m=metric.1&h=host1&h=host2&c=abc')
|
18
18
|
assert_raises(ArgumentError) { wf.detail }
|
19
19
|
assert_raises(ArgumentError) { wf.detail('m1', 'm2') }
|
@@ -57,7 +57,7 @@ class WavefrontMixinsTest < MiniTest::Test
|
|
57
57
|
def test_parse_relative_time
|
58
58
|
assert_equal parse_relative_time('-5s'), -5
|
59
59
|
assert_equal parse_relative_time('-5s', true), -5000
|
60
|
-
assert_equal parse_relative_time('+10000s'),
|
60
|
+
assert_equal parse_relative_time('+10000s'), 10_000
|
61
61
|
assert_equal parse_relative_time('-5m'), -300
|
62
62
|
assert_equal parse_relative_time('-.5m'), -30
|
63
63
|
assert_equal parse_relative_time('-0.5m'), -30
|
@@ -0,0 +1,65 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require_relative '../spec_helper'
|
4
|
+
require_relative '../../lib/wavefront-sdk/parse_time'
|
5
|
+
|
6
|
+
TSS = 1517151869
|
7
|
+
TSM = 1517151869523
|
8
|
+
|
9
|
+
# Test parse_time class
|
10
|
+
#
|
11
|
+
class WavefrontParseTimeTest < MiniTest::Test
|
12
|
+
attr_reader :pts, :ptm
|
13
|
+
|
14
|
+
def setup
|
15
|
+
@pts = Wavefront::ParseTime.new(TSS, false)
|
16
|
+
@ptm = Wavefront::ParseTime.new(TSM, true)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_parse_time_Fixnum
|
20
|
+
assert_equal(pts.parse_time_Fixnum, TSS)
|
21
|
+
assert_equal(ptm.parse_time_Fixnum, TSM)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_parse_time_Integer
|
25
|
+
assert_equal(pts.parse_time_Integer, TSS)
|
26
|
+
assert_equal(ptm.parse_time_Integer, TSM)
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_parse_time_String
|
30
|
+
ptss = Wavefront::ParseTime.new(TSS.to_s, false)
|
31
|
+
ptms = Wavefront::ParseTime.new(TSM.to_s, true)
|
32
|
+
assert_instance_of(Fixnum, ptss.parse_time_String, TSS)
|
33
|
+
assert_instance_of(Fixnum, ptms.parse_time_String, TSM)
|
34
|
+
assert_equal(ptss.parse_time_String, TSS)
|
35
|
+
assert_equal(ptms.parse_time_String, TSM)
|
36
|
+
assert_instance_of(Fixnum, ptss.parse!)
|
37
|
+
assert_instance_of(Fixnum, ptms.parse!)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_parse_time_Time
|
41
|
+
ptst = Wavefront::ParseTime.new(Time.at(TSS), false)
|
42
|
+
ptmt = Wavefront::ParseTime.new(DateTime.strptime(TSM.to_s,
|
43
|
+
'%Q').to_time, true)
|
44
|
+
assert_equal(ptst.parse_time_Time, TSS)
|
45
|
+
assert_equal(ptmt.parse_time_Time, TSM)
|
46
|
+
assert_instance_of(Fixnum, ptst.parse!)
|
47
|
+
assert_instance_of(Fixnum, ptmt.parse!)
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_parse_time_DateTime
|
51
|
+
ptsd = Wavefront::ParseTime.new(Time.at(TSS).to_datetime, false)
|
52
|
+
ptmd = Wavefront::ParseTime.new(DateTime.strptime(TSM.to_s, '%Q'), true)
|
53
|
+
assert_instance_of(Fixnum, ptsd.parse_time_DateTime, TSS)
|
54
|
+
assert_instance_of(Fixnum, ptmd.parse_time_DateTime, TSM)
|
55
|
+
assert_equal(ptsd.parse_time_DateTime, TSS)
|
56
|
+
assert_equal(ptmd.parse_time_DateTime, TSM)
|
57
|
+
assert_instance_of(Fixnum, ptsd.parse!)
|
58
|
+
assert_instance_of(Fixnum, ptmd.parse!)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_parse!
|
62
|
+
assert_instance_of(Fixnum, pts.parse!)
|
63
|
+
assert_instance_of(Fixnum, ptm.parse!)
|
64
|
+
end
|
65
|
+
end
|