yao 0.2.11 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 661703f10f4674a5a29c12e9834ef95cc30ce2d5
4
- data.tar.gz: 179bf1287b23cfb2da9c63645a1d262b254aa9bf
3
+ metadata.gz: 906c17b5fd4d30db28ae3338f591a18cff3798e2
4
+ data.tar.gz: f9f55488c58e43f8ac6c50923cc717ce4091bb11
5
5
  SHA512:
6
- metadata.gz: 0d548d149e633239cf0d6fd7e534f90bb51680924c47399e10fd87b6d639c7bf7ec5c4d69f75ffe546e6c8b622f72194622bfeda0094225ea770028acf17a101
7
- data.tar.gz: 9471beb9e8a2d98c36ca85d5d8d08906e9d44cd62fc5b832c1dc9069a8cfaa5efbaa341ab1e1ebfc1fa731c04e79505553859dfe8931dcb557a148777086eaa1
6
+ metadata.gz: f935edeb5201604969ad2ac71ad39b25795d55f02e9d7fdc4ad8bd7048b1eca1ee15289bae1cb3a6e4717368a7a7fc01d6bfd0f4c24a7065eb55927f320836f9
7
+ data.tar.gz: c45079ed8e8e107660d19c683155d43bce62e4ee3504c8885ed7b72d0c43f60bfb1a601282405f3640288ed4dbfcf00254f7d52750449646a574f338c6b981be
data/.gitignore CHANGED
@@ -15,4 +15,6 @@ mkmf.log
15
15
 
16
16
  tmp
17
17
 
18
- /vendor/
18
+ /vendor/
19
+
20
+ /bin/
data/lib/yao/auth.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'yao'
2
1
  require 'json'
3
2
  require 'time'
4
3
 
data/lib/yao/client.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'yao'
2
1
  require 'yao/config'
3
2
  require 'faraday'
4
3
  require 'yao/plugins/default_client_generator'
data/lib/yao/config.rb CHANGED
@@ -1,5 +1,3 @@
1
- require 'yao'
2
-
3
1
  module Yao
4
2
  class Config
5
3
  def _configuration_defaults
@@ -80,6 +78,6 @@ module Yao
80
78
  end
81
79
 
82
80
  def self.configure(&blk)
83
- config &blk
81
+ config(&blk)
84
82
  end
85
83
  end
data/lib/yao/token.rb CHANGED
@@ -21,6 +21,7 @@ module Yao
21
21
  @token = token_data["id"]
22
22
  @issued_at = Time.parse(token_data["issued_at"]).localtime
23
23
  @expire_at = Time.parse(token_data["expires"]).localtime
24
+ Yao.current_tenant_id token_data["tenant"]["id"]
24
25
  end
25
26
 
26
27
  def expired?
@@ -35,7 +36,6 @@ module Yao
35
36
  req.body = auth_info.to_json
36
37
  req.headers['Content-Type'] = 'application/json'
37
38
  end
38
-
39
39
  body = res.body["access"]
40
40
 
41
41
  register(body["token"])
@@ -59,4 +59,11 @@ module Yao
59
59
  Yao.default_client.register_endpoints(@endpoints, token: self)
60
60
  end
61
61
  end
62
+
63
+ def self.current_tenant_id(id=nil)
64
+ if id
65
+ @__tenant_id = id
66
+ end
67
+ @__tenant_id
68
+ end
62
69
  end
data/lib/yao/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yao
2
- VERSION = "0.2.11"
2
+ VERSION = "0.2.12"
3
3
  end
@@ -0,0 +1,12 @@
1
+ class TestRole < Test::Unit::TestCase
2
+ def test_role_attributes
3
+ params = {
4
+ "name" => "test_role",
5
+ "description" => "test_description_1"
6
+ }
7
+
8
+ role = Yao::Role.new(params)
9
+ assert_equal(role.name, "test_role")
10
+ assert_equal(role.description, "test_description_1")
11
+ end
12
+ end
@@ -0,0 +1,25 @@
1
+ class TestSecurityGroup < Test::Unit::TestCase
2
+ def test_sg_attributes
3
+ params = {
4
+ "id" => "test_group_id_1",
5
+ "name" => "test_group_name_1",
6
+ "description" => "test_description_1",
7
+ "security_group_rules" => [
8
+ {
9
+ "id" => "test_rule_id_1",
10
+ "direction" => "ingress",
11
+ "protocol" => "tcp",
12
+ "ethertype" => "IPv4",
13
+ "port" => "443",
14
+ "remote_ip" => "10.0.0.0/24"
15
+ }
16
+ ]
17
+ }
18
+
19
+ sg = Yao::SecurityGroup.new(params)
20
+ assert_equal(sg.name, "test_group_name_1")
21
+ assert_equal(sg.id, "test_group_id_1")
22
+ assert_equal(sg.description, "test_description_1")
23
+ assert(sg.rules[0].instance_of?(Yao::SecurityGroupRule))
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ class TestSecurityGroup < Test::Unit::TestCase
2
+ def test_rule_attributes
3
+ params = {
4
+ "id" => "test_rule_id_1",
5
+ "security_group_ip" => "test_group_id_1",
6
+ "direction" => "ingress",
7
+ "protocol" => "tcp",
8
+ "ethertype" => "IPv4",
9
+ "port_range_max" => "443",
10
+ "port_range_min" => "443",
11
+ "remote_ip_prefix" => "10.0.0.0/24",
12
+ "remote_group_id" => nil,
13
+ "tenant_id" => "test_tenant"
14
+ }
15
+
16
+ rule = Yao::SecurityGroupRule.new(params)
17
+ assert_equal(rule.id, "test_rule_id_1")
18
+ assert_equal(rule.protocol, "tcp")
19
+ assert_equal(rule.port_range_max, "443")
20
+ assert_equal(rule.port_range_min, "443")
21
+ assert_equal(rule.ethertype, "IPv4")
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ class TestUser < Test::Unit::TestCase
2
+ def test_sg_attributes
3
+ params = {
4
+ "name" => "test_user",
5
+ "email" => "test-user@example.com",
6
+ "password" => "passw0rd"
7
+ }
8
+
9
+ user = Yao::User.new(params)
10
+ assert_equal(user.name, "test_user")
11
+ assert_equal(user.email, "test-user@example.com")
12
+ end
13
+ end
@@ -11,7 +11,10 @@ class TestToken < Test::Unit::TestCase
11
11
  t.register({
12
12
  "id" => "aaaa166533fd49f3b11b1cdce2430000",
13
13
  "issued_at" => Time.now.iso8601,
14
- "expires" => (Time.now - 3600).utc.iso8601
14
+ "expires" => (Time.now - 3600).utc.iso8601,
15
+ "tenant" => {
16
+ "id" => "aaaa166533fd49f3b11b1cdce2430000"
17
+ }
15
18
  })
16
19
 
17
20
  assert { t.expired? }
@@ -19,7 +22,10 @@ class TestToken < Test::Unit::TestCase
19
22
  t.register({
20
23
  "id" => "aaaa166533fd49f3b11b1cdce2430000",
21
24
  "issued_at" => Time.now.iso8601,
22
- "expires" => (Time.now + 3600).utc.iso8601
25
+ "expires" => (Time.now + 3600).utc.iso8601,
26
+ "tenant" => {
27
+ "id" => "aaaa166533fd49f3b11b1cdce2430000"
28
+ }
23
29
  })
24
30
  assert { ! t.expired? }
25
31
  end
@@ -42,7 +48,10 @@ class TestToken < Test::Unit::TestCase
42
48
  t.register({
43
49
  "id" => "old_token",
44
50
  "issued_at" => Time.now.iso8601,
45
- "expires" => (Time.now - 3600).utc.iso8601
51
+ "expires" => (Time.now - 3600).utc.iso8601,
52
+ "tenant" => {
53
+ "id" => "aaaa166533fd49f3b11b1cdce2430000"
54
+ }
46
55
  })
47
56
  assert { t.token == "old_token" }
48
57
 
@@ -53,4 +62,18 @@ class TestToken < Test::Unit::TestCase
53
62
 
54
63
  assert { t.token == "aaaa166533fd49f3b11b1cdce2430000" }
55
64
  end
65
+
66
+ def test_current_tenant_id
67
+ t = Yao::Token.new({})
68
+ t.register({
69
+ "id" => "aaaa166533fd49f3b11b1cdce2430000",
70
+ "issued_at" => Time.now.iso8601,
71
+ "expires" => (Time.now - 3600).utc.iso8601,
72
+ "tenant" => {
73
+ "id" => "aaaa166533fd49f3b11b1cdce2430000"
74
+ }
75
+ })
76
+
77
+ assert { Yao.current_tenant_id == "aaaa166533fd49f3b11b1cdce2430000" }
78
+ end
56
79
  end
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.2.11
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Uchio, KONDO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-08 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -204,6 +204,10 @@ files:
204
204
  - lib/yao/version.rb
205
205
  - test/config.rb
206
206
  - test/support/auth_stub.rb
207
+ - test/yao/resources/test_role.rb
208
+ - test/yao/resources/test_security_group.rb
209
+ - test/yao/resources/test_security_group_rule.rb
210
+ - test/yao/resources/test_user.rb
207
211
  - test/yao/test_auth.rb
208
212
  - test/yao/test_client.rb
209
213
  - test/yao/test_client_plugin.rb
@@ -233,13 +237,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
237
  version: '0'
234
238
  requirements: []
235
239
  rubyforge_project:
236
- rubygems_version: 2.4.5.1
240
+ rubygems_version: 2.4.8
237
241
  signing_key:
238
242
  specification_version: 4
239
243
  summary: Yet Another OpenStack API Wrapper that rocks!!
240
244
  test_files:
241
245
  - test/config.rb
242
246
  - test/support/auth_stub.rb
247
+ - test/yao/resources/test_role.rb
248
+ - test/yao/resources/test_security_group.rb
249
+ - test/yao/resources/test_security_group_rule.rb
250
+ - test/yao/resources/test_user.rb
243
251
  - test/yao/test_auth.rb
244
252
  - test/yao/test_client.rb
245
253
  - test/yao/test_client_plugin.rb