wavefront-sdk 3.4.0 → 3.5.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.
- checksums.yaml +4 -4
- data/HISTORY.md +3 -0
- data/lib/wavefront-sdk/apitoken.rb +53 -1
- data/lib/wavefront-sdk/defs/version.rb +1 -1
- data/lib/wavefront-sdk/serviceaccount.rb +3 -3
- data/spec/spec_helper.rb +5 -1
- data/spec/wavefront-sdk/apitoken_spec.rb +60 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a1343ef6a630b783c158b7ff3373247ea541a22e1b3428a9bacc30c4bf6c4f0
|
4
|
+
data.tar.gz: bd9366f76e693b5ccafe6956ec841fde8816481bff27c24ce2f7167a150942d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4647a15bce3d481808699c017c21df2f08046e50a7931fc58b7b4c1249ad67315f779038aa619ec57f80ba714dff56d9cb46fed7c85feff70d1b66375e7aaea5
|
7
|
+
data.tar.gz: 8578a761628a6ce77a234d12ff59c084498bc2615448aaf905c8057f2230e2fd74df2638f4bbb7e9ebf6df74a963715f1c8bff2154e5894dff1fb51b67f8ff4c
|
data/HISTORY.md
CHANGED
@@ -4,7 +4,7 @@ require_relative 'core/api'
|
|
4
4
|
|
5
5
|
module Wavefront
|
6
6
|
#
|
7
|
-
# View and manage API tokens
|
7
|
+
# View and manage API tokens for one's own user, and for service accounts.
|
8
8
|
#
|
9
9
|
class ApiToken < CoreApi
|
10
10
|
# GET /api/v2/apitoken
|
@@ -47,5 +47,57 @@ module Wavefront
|
|
47
47
|
wf_apitoken_id?(id)
|
48
48
|
api.put(id, { tokenID: id, tokenName: name }, 'application/json')
|
49
49
|
end
|
50
|
+
|
51
|
+
# GET /api/v2/apitoken/serviceaccount/{id}
|
52
|
+
# Get all api tokens for the given service account
|
53
|
+
#
|
54
|
+
# @param id [String] service account ID
|
55
|
+
# @return [Wavefront::Response]
|
56
|
+
#
|
57
|
+
def sa_list(id)
|
58
|
+
wf_serviceaccount_id?(id)
|
59
|
+
api.get(['serviceaccount', id].uri_concat)
|
60
|
+
end
|
61
|
+
|
62
|
+
# POST /api/v2/apitoken/serviceaccount/{id}
|
63
|
+
# Create a new api token for the service account
|
64
|
+
#
|
65
|
+
# @param id [String] service account ID
|
66
|
+
# @param name [String] optional name for token
|
67
|
+
# @return [Wavefront::Response]
|
68
|
+
#
|
69
|
+
def sa_create(id, name = nil)
|
70
|
+
wf_serviceaccount_id?(id)
|
71
|
+
body = {}.tap { |b| b[:tokenName] = name if name }
|
72
|
+
api.post(['serviceaccount', id].uri_concat, body, 'application/json')
|
73
|
+
end
|
74
|
+
|
75
|
+
# DELETE /api/v2/apitoken/serviceaccount/{id}/{token}
|
76
|
+
# Delete the specified api token of the given service account
|
77
|
+
#
|
78
|
+
# @param id [String] service account ID
|
79
|
+
# @param token_id [String] ID of the api token
|
80
|
+
# @return [Wavefront::Response]
|
81
|
+
#
|
82
|
+
def sa_delete(id, token_id)
|
83
|
+
wf_serviceaccount_id?(id)
|
84
|
+
wf_apitoken_id?(token_id)
|
85
|
+
api.delete(['serviceaccount', id, token_id].uri_concat)
|
86
|
+
end
|
87
|
+
|
88
|
+
# PUT /api/v2/apitoken/serviceaccount/{id}/{token}
|
89
|
+
# Update the name of the specified api token for the given service
|
90
|
+
# account
|
91
|
+
#
|
92
|
+
# @param id [String] service account ID
|
93
|
+
# @param token_id [String] ID of the api token
|
94
|
+
# @return [Wavefront::Response]
|
95
|
+
#
|
96
|
+
def sa_rename(id, token_id, name)
|
97
|
+
wf_serviceaccount_id?(id)
|
98
|
+
wf_apitoken_id?(token_id)
|
99
|
+
api.put(['serviceaccount', id, token_id].uri_concat,
|
100
|
+
{ tokenID: token_id, tokenName: name }, 'application/json')
|
101
|
+
end
|
50
102
|
end
|
51
103
|
end
|
@@ -37,7 +37,7 @@ module Wavefront
|
|
37
37
|
# GET /api/v2/account/serviceaccount/{id}
|
38
38
|
# Retrieves a service account by identifier
|
39
39
|
#
|
40
|
-
# @param id [String
|
40
|
+
# @param id [String] ID of the account
|
41
41
|
# @return [Wavefront::Response]
|
42
42
|
#
|
43
43
|
def describe(id)
|
@@ -69,7 +69,7 @@ module Wavefront
|
|
69
69
|
# POST /api/v2/account/serviceaccount/{id}/activate
|
70
70
|
# Activates the given service account
|
71
71
|
#
|
72
|
-
# @param id [String
|
72
|
+
# @param id [String] ID of the account
|
73
73
|
# @return [Wavefront::Response]
|
74
74
|
#
|
75
75
|
def activate(id)
|
@@ -80,7 +80,7 @@ module Wavefront
|
|
80
80
|
# POST /api/v2/account/serviceaccount/{id}/deactivate
|
81
81
|
# Deactivates the given service account
|
82
82
|
#
|
83
|
-
# @param id [String
|
83
|
+
# @param id [String] ID of the account
|
84
84
|
# @return [Wavefront::Response]
|
85
85
|
#
|
86
86
|
def deactivate(id)
|
data/spec/spec_helper.rb
CHANGED
@@ -14,11 +14,15 @@ class WavefrontTestBase < MiniTest::Test
|
|
14
14
|
attr_reader :wf, :wf_noop, :headers, :invalid_id, :valid_id
|
15
15
|
|
16
16
|
def initialize(args)
|
17
|
-
require_relative
|
17
|
+
require_relative libfile_to_test
|
18
18
|
setup_fixtures if respond_to?(:setup_fixtures)
|
19
19
|
super(args)
|
20
20
|
end
|
21
21
|
|
22
|
+
def libfile_to_test
|
23
|
+
"../lib/wavefront-sdk/#{class_basename.downcase}"
|
24
|
+
end
|
25
|
+
|
22
26
|
private
|
23
27
|
|
24
28
|
def setup
|
@@ -2,13 +2,10 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require_relative '../spec_helper'
|
5
|
-
require_relative '../test_mixins/general'
|
6
5
|
|
7
6
|
# Unit tests for API token class
|
8
7
|
#
|
9
8
|
class WavefrontApiTokenTest < WavefrontTestBase
|
10
|
-
include WavefrontTest::Delete
|
11
|
-
|
12
9
|
def test_list
|
13
10
|
assert_gets('/api/v2/apitoken') { wf.list }
|
14
11
|
end
|
@@ -19,22 +16,79 @@ class WavefrontApiTokenTest < WavefrontTestBase
|
|
19
16
|
end
|
20
17
|
|
21
18
|
def test_rename
|
22
|
-
assert_puts("/api/v2/apitoken/#{
|
23
|
-
tokenID:
|
24
|
-
wf.rename(
|
19
|
+
assert_puts("/api/v2/apitoken/#{token_id}",
|
20
|
+
tokenID: token_id, tokenName: 'token name') do
|
21
|
+
wf.rename(token_id, 'token name')
|
25
22
|
end
|
26
23
|
|
27
24
|
assert_invalid_id { wf.rename(invalid_id, 'token name') }
|
28
25
|
assert_raises(ArgumentError) { wf.rename }
|
26
|
+
assert_raises(ArgumentError) { wf.rename(token_id) }
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_sa_list
|
30
|
+
assert_gets("/api/v2/apitoken/serviceaccount/#{id}") { wf.sa_list(id) }
|
31
|
+
|
32
|
+
assert_raises(Wavefront::Exception::InvalidServiceAccountId) do
|
33
|
+
wf.sa_list(invalid_id)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_sa_create
|
38
|
+
assert_posts("/api/v2/apitoken/serviceaccount/#{id}",
|
39
|
+
tokenName: 'token name') do
|
40
|
+
wf.sa_create(id, 'token name')
|
41
|
+
end
|
42
|
+
|
43
|
+
assert_raises(Wavefront::Exception::InvalidServiceAccountId) do
|
44
|
+
wf.sa_create(invalid_id, 'token name')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_sa_rename
|
49
|
+
assert_puts("/api/v2/apitoken/serviceaccount/#{id}/#{token_id}",
|
50
|
+
tokenID: token_id, tokenName: 'new token name') do
|
51
|
+
wf.sa_rename(id, token_id, 'new token name')
|
52
|
+
end
|
53
|
+
|
54
|
+
assert_invalid_id { wf.sa_rename(id, invalid_token_id, 'token name') }
|
55
|
+
assert_raises(ArgumentError) { wf.sa_rename }
|
29
56
|
assert_raises(ArgumentError) { wf.rename(id) }
|
57
|
+
|
58
|
+
assert_raises(Wavefront::Exception::InvalidServiceAccountId) do
|
59
|
+
wf.sa_rename(invalid_id, token_id, 'token name')
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_delete
|
64
|
+
assert_deletes("/api/v2/apitoken/serviceaccount/#{id}/#{token_id}") do
|
65
|
+
wf.sa_delete(id, token_id)
|
66
|
+
end
|
67
|
+
|
68
|
+
assert_invalid_id { wf.sa_delete(id, invalid_token_id) }
|
69
|
+
|
70
|
+
assert_raises(Wavefront::Exception::InvalidServiceAccountId) do
|
71
|
+
wf.sa_delete(invalid_id, token_id)
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_raises(ArgumentError) { wf.sa_delete(id) }
|
75
|
+
assert_raises(ArgumentError) { wf.sa_delete }
|
30
76
|
end
|
31
77
|
|
32
78
|
private
|
33
79
|
|
34
80
|
def id
|
81
|
+
'sa::tester'
|
82
|
+
end
|
83
|
+
|
84
|
+
def token_id
|
35
85
|
'17db4cc1-65f6-40a8-a1fa-6fcae460c4bd'
|
36
86
|
end
|
37
87
|
|
88
|
+
def invalid_token_id
|
89
|
+
'__bad__'
|
90
|
+
end
|
91
|
+
|
38
92
|
def invalid_id
|
39
93
|
'__rubbish__'
|
40
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wavefront-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Fisher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|