yao 0.13.0 → 0.13.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 30ea2f00c9ac02892a86b95ffd29c6dac6323d430fcc9656e053f7ceb0c55987
4
- data.tar.gz: 174922729484e225f2d362f15a19fe5fad949c2e91ab7f301a858cd21eaf4073
3
+ metadata.gz: d6d9322e2d2c8af453bddcb207b1dcdb50c252745712f3d3f1e6f7f416f25da7
4
+ data.tar.gz: 11831fa1c4752f26306b72a1416767c56dc4eb238d16b9f593d4e9aa62736570
5
5
  SHA512:
6
- metadata.gz: 97ef036c9655f766fa79475aaaa634067adc4f8f78c1521e5958de2a77f1360cfc504026e5b7321268f392062ea2b7f42c7ef84235696807945f5b766101a46b
7
- data.tar.gz: 3e83cbce18a6e9a59d7fa23641e6309274a1f085082cfb9819c91a445dd45fb86333be02ba302685fed5428bd346d1bde1a1a3d7dc0d55094b703b8ec59ae6ef
6
+ metadata.gz: 45d0473120a677f5b322dfa9746ce9ba63599f214372f1f7b163c15ad9c73670983ee6cd03cb8d5298c3a426a913fcaa0f616e41b7b2d7d9ed3ba90f3c8a8d9c
7
+ data.tar.gz: e7773888bb3c9ca1e0baaecc4ca8b58f003a00e254c554fd4a6bc745803a19fc7eeae8c4ea6a03b058a793d8f1289c06a3f867374015a0fabec79996b3d7377e
@@ -1,6 +1,7 @@
1
1
  module Yao
2
2
  class ReadOnlyViolationError < ::StandardError; end
3
3
  class TooManyItemFonud < ::StandardError; end
4
+ class InvalidResponse < ::StandardError; end
4
5
 
5
6
  class ServerError < ::StandardError
6
7
  def initialize(message, requested_env)
@@ -211,6 +211,8 @@ module Yao::Resources
211
211
  item = find_by_name(name)
212
212
  if item.size > 1
213
213
  raise Yao::TooManyItemFonud.new("More than one resource exists with the name '#{name}'")
214
+ elsif item.size.zero?
215
+ raise Yao::InvalidResponse.new("No resource exists with the name '#{name}'")
214
216
  end
215
217
  GET(create_url(item.first.id), query)
216
218
  end
@@ -37,7 +37,7 @@ module Yao::Resources
37
37
  def list_for_user(user_name, on:)
38
38
  user = Yao::User.get(user_name)
39
39
  tenant = if api_version_v2?
40
- Yao::Tenant.find_by_name(on)
40
+ Yao::Tenant.get(on)
41
41
  else
42
42
  Yao::Project.get(on)
43
43
  end
@@ -54,7 +54,7 @@ module Yao::Resources
54
54
  role = Yao::Role.get(role_name)
55
55
  user = Yao::User.get(to)
56
56
  tenant = if api_version_v2?
57
- Yao::Tenant.find_by_name(on)
57
+ Yao::Tenant.get(on)
58
58
  else
59
59
  Yao::Project.get(on)
60
60
  end
@@ -71,7 +71,7 @@ module Yao::Resources
71
71
  role = Yao::Role.get(role_name)
72
72
  user = Yao::User.get(from)
73
73
  tenant = if api_version_v2?
74
- Yao::Tenant.find_by_name(on)
74
+ Yao::Tenant.get(on)
75
75
  else
76
76
  Yao::Project.get(on)
77
77
  end
@@ -1,3 +1,3 @@
1
1
  module Yao
2
- VERSION = "0.13.0"
2
+ VERSION = "0.13.1"
3
3
  end
@@ -66,6 +66,20 @@ class TestRestfullyAccesible < Test::Unit::TestCase
66
66
 
67
67
  assert_equal("OK", Test.get(name))
68
68
  end
69
+
70
+ test 'name (with no item JSON)' do
71
+ Test.return_single_on_querying = false
72
+ name = "dummy2"
73
+ uuid = "00112233-4455-6677-8899-aabbccddeeff"
74
+ body = {@resources_name => []}
75
+
76
+ stub_get_request_not_found([@url, @resources_name, name].join('/'))
77
+ stub_get_request_with_json_response([@url, "#{@resources_name}?name=#{name}"].join('/'), body)
78
+
79
+ assert_raise(Yao::InvalidResponse, "raise proper exception") do
80
+ Test.get(name)
81
+ end
82
+ end
69
83
  end
70
84
 
71
85
  sub_test_case 'get!' do
@@ -60,7 +60,7 @@ class TestRole < TestYaoResource
60
60
  assert_equal("0123456789abcdef0123456789abcdef", roles.first.id)
61
61
  assert_requested(stub)
62
62
  end
63
-
63
+
64
64
  def test_list_for_user
65
65
  stub_user
66
66
  stub_tenant
@@ -77,11 +77,11 @@ class TestRole < TestYaoResource
77
77
  JSON
78
78
  headers: {'Content-Type' => 'application/json'}
79
79
  )
80
-
80
+
81
81
  roles = Yao::Role.list_for_user("test_user", on:"admin")
82
82
  assert_equal("0123456789abcdef0123456789abcdef", roles.first.id)
83
83
  assert_received(Yao::User) { |subject| subject.get("test_user") }
84
- assert_received(Yao::Tenant) { |subject| subject.find_by_name("admin") }
84
+ assert_received(Yao::Tenant) { |subject| subject.get("admin") }
85
85
  assert_requested(stub)
86
86
  end
87
87
 
@@ -99,7 +99,7 @@ class TestRole < TestYaoResource
99
99
  Yao::Role.grant("test_role", to:"test_user", on:"admin")
100
100
  assert_received(Yao::Role) { |subject| subject.get("test_role") }
101
101
  assert_received(Yao::User) { |subject| subject.get("test_user") }
102
- assert_received(Yao::Tenant) { |subject| subject.find_by_name("admin") }
102
+ assert_received(Yao::Tenant) { |subject| subject.get("admin") }
103
103
  assert_requested(stub)
104
104
  end
105
105
 
@@ -117,7 +117,7 @@ class TestRole < TestYaoResource
117
117
  Yao::Role.revoke("test_role", from:"test_user", on:"admin")
118
118
  assert_received(Yao::Role) { |subject| subject.get("test_role") }
119
119
  assert_received(Yao::User) { |subject| subject.get("test_user") }
120
- assert_received(Yao::Tenant) { |subject| subject.find_by_name("admin") }
120
+ assert_received(Yao::Tenant) { |subject| subject.get("admin") }
121
121
  assert_requested(stub)
122
122
  end
123
123
  end
@@ -172,7 +172,7 @@ class TestRole < TestYaoResource
172
172
  assert_equal("0123456789abcdef0123456789abcdef", roles.first.id)
173
173
  assert_requested(stub)
174
174
  end
175
-
175
+
176
176
  def test_list_for_user
177
177
  stub_user
178
178
  stub_project
@@ -189,7 +189,7 @@ class TestRole < TestYaoResource
189
189
  JSON
190
190
  headers: {'Content-Type' => 'application/json'}
191
191
  )
192
-
192
+
193
193
  roles = Yao::Role.list_for_user("test_user", on:"admin")
194
194
  assert_equal("0123456789abcdef0123456789abcdef", roles.first.id)
195
195
  assert_received(Yao::Resources::User) { |subject| subject.get("test_user") }
@@ -249,9 +249,9 @@ class TestRole < TestYaoResource
249
249
  "name" => "test_user",
250
250
  }) }
251
251
  end
252
-
252
+
253
253
  def stub_tenant
254
- stub(Yao::Tenant).find_by_name { Yao::Tenant.new({
254
+ stub(Yao::Tenant).get { Yao::Tenant.new({
255
255
  "id" => "0123456789abcdef0123456789abcdef",
256
256
  "name" => "admin",
257
257
  }) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yao
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uchio, KONDO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-09 00:00:00.000000000 Z
11
+ date: 2020-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json