maestrano 0.8.2 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 008d806d03f95afa292f5908e336872999c87860
4
- data.tar.gz: 8ec54c6aedc38dc25dcb2472725aebb912562328
3
+ metadata.gz: d7b52772f9c6a0b6f00927d0b361d6c35512cfc2
4
+ data.tar.gz: 6dd4ac9f9718ea41f5f9293b6b2cdfb178842fd5
5
5
  SHA512:
6
- metadata.gz: 45adb8af2b1b3e5868dbb2d407e12e14e01ec4c319130f4df5a1caa680791aea92ed4b50115625a8a7b064e8dda54673f2ba0cbd1e52230b948deb0d711a3d3b
7
- data.tar.gz: 85a2f8e40ef318361c173125e4e346cb45a5c65e43ec166b97f69b21304e3985b3ca31773117cac704b0340aed8c84724ebbf7110dd71d201d65d0f61929a816
6
+ metadata.gz: addeb6545bd045619468ba85bb75042e89e1f25939a69c117926c256a5870023e44db735c472d6ad181cf959a0e89192bb603cfeafe9b179358497558850aa81
7
+ data.tar.gz: 73bada943c7f5fd95852fd1493a22d18e7e1784e8a0e64b2f4edf1eefd76edf4e187e26d395389288438968b7298b706b0b7082c8bd0ec0aaa9b504800ef92bb
@@ -49,6 +49,8 @@ require 'maestrano/api/list_object'
49
49
  require 'maestrano/api/resource'
50
50
 
51
51
  # API - Account Entities
52
+ require 'maestrano/account/user'
53
+ require 'maestrano/account/group'
52
54
  require 'maestrano/account/bill'
53
55
  require 'maestrano/account/recurring_bill'
54
56
 
@@ -0,0 +1,7 @@
1
+ module Maestrano
2
+ module Account
3
+ class Group < Maestrano::API::Resource
4
+ include Maestrano::API::Operation::List
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ module Maestrano
2
+ module Account
3
+ class User < Maestrano::API::Resource
4
+ include Maestrano::API::Operation::List
5
+ end
6
+ end
7
+ end
@@ -20,6 +20,8 @@ module Maestrano
20
20
 
21
21
  def self.object_classes
22
22
  @object_classes ||= {
23
+ 'account_user' => Maestrano::Account::User,
24
+ 'account_group' => Maestrano::Account::Group,
23
25
  'account_bill' => Maestrano::Account::Bill,
24
26
  'account_recurring_bill' => Maestrano::Account::RecurringBill,
25
27
  'internal_list_object' => Maestrano::API::ListObject
@@ -1,3 +1,3 @@
1
1
  module Maestrano
2
- VERSION = '0.8.2'
2
+ VERSION = '0.9.0'
3
3
  end
@@ -10,6 +10,64 @@ module APITestHelper
10
10
  m
11
11
  end
12
12
 
13
+ def test_account_group_content(params={})
14
+ {
15
+ object: 'account_group',
16
+ id: 'cld-4f5d',
17
+ created_at: Time.now.utc.iso8601,
18
+ updated_at: Time.now.utc.iso8601,
19
+ has_credit_card: true,
20
+ status: 'running',
21
+ }.merge(params)
22
+ end
23
+
24
+ def test_account_group(params={})
25
+ {
26
+ success: true,
27
+ errors: {},
28
+ data: test_account_group_content(params)
29
+ }
30
+ end
31
+
32
+ def test_account_group_array
33
+ {
34
+ success: true,
35
+ errors: {},
36
+ data: [test_account_group_content, test_account_group_content, test_account_group_content],
37
+ }
38
+ end
39
+
40
+ def test_account_user_content(params={})
41
+ {
42
+ object: 'account_user',
43
+ id: 'usr-123',
44
+ name: 'John',
45
+ surname: 'Doe',
46
+ email: 'john.doe@maestrano.com',
47
+ company_name: 'DoeCorp',
48
+ country: 'AU',
49
+ sso_session: 'd45sg47f52sd1cz7x5c44czx7czx7',
50
+ created_at: Time.now.utc.iso8601,
51
+ updated_at: Time.now.utc.iso8601,
52
+ }.merge(params)
53
+ end
54
+
55
+ def test_account_user(params={})
56
+ {
57
+ success: true,
58
+ errors: {},
59
+ data: test_account_user_content(params)
60
+ }
61
+ end
62
+
63
+ def test_account_user_array
64
+ {
65
+ success: true,
66
+ errors: {},
67
+ data: [test_account_user_content, test_account_user_content, test_account_user_content],
68
+ }
69
+ end
70
+
13
71
  def test_account_bill_content(params={})
14
72
  {
15
73
  object: 'account_bill',
@@ -0,0 +1,33 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ module Maestrano
4
+ module Account
5
+ class GroupTest < Test::Unit::TestCase
6
+ include APITestHelper
7
+
8
+ should "should be listable" do
9
+ @api_mock.expects(:get).once.returns(test_response(test_account_group_array))
10
+ c = Maestrano::Account::Group.all
11
+ assert c.data.kind_of? Array
12
+ c.each do |entity|
13
+ assert entity.kind_of?(Maestrano::Account::Group)
14
+ end
15
+ end
16
+
17
+ should "should not be updateable" do
18
+ assert_raises NoMethodError do
19
+ @api_mock.stubs(:put).returns(test_response(test_account_group))
20
+ c = Maestrano::Account::Group.construct_from(test_account_group[:data])
21
+ c.save
22
+ end
23
+ end
24
+
25
+ should "should not be creatable" do
26
+ assert_raises NoMethodError do
27
+ @api_mock.stubs(:post).returns(test_response(test_account_group))
28
+ c = Maestrano::Account::Group.create({name: "Bla"})
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,33 @@
1
+ require File.expand_path('../../../test_helper', __FILE__)
2
+
3
+ module Maestrano
4
+ module Account
5
+ class UserTest < Test::Unit::TestCase
6
+ include APITestHelper
7
+
8
+ should "should be listable" do
9
+ @api_mock.expects(:get).once.returns(test_response(test_account_user_array))
10
+ c = Maestrano::Account::User.all
11
+ assert c.data.kind_of? Array
12
+ c.each do |entity|
13
+ assert entity.kind_of?(Maestrano::Account::User)
14
+ end
15
+ end
16
+
17
+ should "should not be updateable" do
18
+ assert_raises NoMethodError do
19
+ @api_mock.stubs(:put).returns(test_response(test_account_user))
20
+ c = Maestrano::Account::User.construct_from(test_account_user[:data])
21
+ c.save
22
+ end
23
+ end
24
+
25
+ should "should not be creatable" do
26
+ assert_raises NoMethodError do
27
+ @api_mock.stubs(:post).returns(test_response(test_account_user))
28
+ c = Maestrano::Account::User.create({name: "Bla"})
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: maestrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Lachaume
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-15 00:00:00.000000000 Z
11
+ date: 2014-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -168,7 +168,9 @@ files:
168
168
  - bin/maestrano-console
169
169
  - lib/maestrano.rb
170
170
  - lib/maestrano/account/bill.rb
171
+ - lib/maestrano/account/group.rb
171
172
  - lib/maestrano/account/recurring_bill.rb
173
+ - lib/maestrano/account/user.rb
172
174
  - lib/maestrano/api/error/authentication_error.rb
173
175
  - lib/maestrano/api/error/base_error.rb
174
176
  - lib/maestrano/api/error/connection_error.rb
@@ -207,7 +209,9 @@ files:
207
209
  - test/helpers/api_helpers.rb
208
210
  - test/helpers/saml_helpers.rb
209
211
  - test/maestrano/account/bill_test.rb
212
+ - test/maestrano/account/group_test.rb
210
213
  - test/maestrano/account/recurring_bill_test.rb
214
+ - test/maestrano/account/user_test.rb
211
215
  - test/maestrano/api/list_object_test.rb
212
216
  - test/maestrano/api/object_test.rb
213
217
  - test/maestrano/api/resource_test.rb
@@ -274,7 +278,9 @@ test_files:
274
278
  - test/helpers/api_helpers.rb
275
279
  - test/helpers/saml_helpers.rb
276
280
  - test/maestrano/account/bill_test.rb
281
+ - test/maestrano/account/group_test.rb
277
282
  - test/maestrano/account/recurring_bill_test.rb
283
+ - test/maestrano/account/user_test.rb
278
284
  - test/maestrano/api/list_object_test.rb
279
285
  - test/maestrano/api/object_test.rb
280
286
  - test/maestrano/api/resource_test.rb