cobot_client 0.7.0 → 0.8.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: 31d7c3f30c6c94506857a0a005f65976a494818a
4
- data.tar.gz: 5625e0d5d2a99c7b747de56399ab92c6e23d2cba
3
+ metadata.gz: 5ef6565b60d68b573425d7e0cc139b6a050aedeb
4
+ data.tar.gz: 3e08fc83c9d58b3e08efc4b3b943fa4d6f20acec
5
5
  SHA512:
6
- metadata.gz: 0d713d3b32b0b7fbc8edae0f8b314793056bae5cae9dd19e3dda82d1513e9b2ae717dda8bc83581557c37fde63d68e2e362c03189afbeedc89454287a3ad3120
7
- data.tar.gz: 75138f1446fd3fb6f732f0838145897d021e3129179cfc785bb78e8462413261e2da5fd4c00d9b376796301b99fdf9c75042c1a27015d35bb094f37d04fa254b
6
+ metadata.gz: 311d59891c2b4cd2b30c828d5e4c264cfbd22e97f235f23d4cda3c4646f48507d849b158e0234857c071b30b7b49a4215121c1031500e0e45cb0ef6d5f82b489
7
+ data.tar.gz: 99efdb44a13c364905e7953bf496233f6986544649556505ae07dd330b9b15cd72304a0df36af7471ea695e1c387bf3fd85b9a5a4955bd680f9897323a314dc8
@@ -29,8 +29,11 @@ module CobotClient
29
29
  delete subdomain, "/bookings/#{id}"
30
30
  end
31
31
 
32
- def put(subdomain, path, params)
33
- JSON.parse RestClient.put(cobot_url(subdomain, "/api#{path}"), params, headers).body,
32
+ def put(subdomain, path, body)
33
+ JSON.parse RestClient.put(
34
+ cobot_url(subdomain, "/api#{path}"),
35
+ body.to_json,
36
+ headers.merge(content_type_header)).body,
34
37
  symbolize_names: true
35
38
  end
36
39
 
@@ -38,18 +41,27 @@ module CobotClient
38
41
  RestClient.delete(cobot_url(subdomain, "/api#{path}"), headers)
39
42
  end
40
43
 
41
- def post(subdomain, path, params)
42
- JSON.parse RestClient.post(cobot_url(subdomain, "/api#{path}"), params, headers).body,
44
+ def post(subdomain, path, body)
45
+ JSON.parse RestClient.post(
46
+ cobot_url(subdomain, "/api#{path}"),
47
+ body.to_json,
48
+ headers.merge(content_type_header)).body,
43
49
  symbolize_names: true
44
50
  end
45
51
 
46
52
  def get(subdomain, path, params = {})
47
53
  JSON.parse(
48
- RestClient.get(cobot_url(subdomain, "/api#{path}", params: params), headers).body,
54
+ RestClient.get(
55
+ cobot_url(subdomain, "/api#{path}", params: params),
56
+ headers).body,
49
57
  symbolize_names: true
50
58
  )
51
59
  end
52
60
 
61
+ def content_type_header
62
+ {'Content-Type' => 'application/json'}
63
+ end
64
+
53
65
  def headers
54
66
  {
55
67
  'Authorization' => "Bearer #{@access_token}",
@@ -1,3 +1,3 @@
1
1
  module CobotClient
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -4,6 +4,10 @@ describe CobotClient::ApiClient do
4
4
  let(:api_client) { CobotClient::ApiClient.new('token-123') }
5
5
  let(:default_response) { double(:default_response, body: '{}') }
6
6
 
7
+ before(:each) do
8
+ CobotClient::ApiClient.user_agent = 'test agent'
9
+ end
10
+
7
11
  context 'listing resources' do
8
12
  it 'calls rest client' do
9
13
  RestClient.should_receive(:get).with('https://co-up.cobot.me/api/resources',
@@ -23,8 +27,9 @@ describe CobotClient::ApiClient do
23
27
 
24
28
  context 'creating a booking' do
25
29
  it 'calls rest client' do
26
- RestClient.should_receive(:post).with('https://co-up.cobot.me/api/resources/res-1/bookings',
27
- {title: 'meeting'},
30
+ RestClient.should_receive(:post).with(
31
+ 'https://co-up.cobot.me/api/resources/res-1/bookings',
32
+ {title: 'meeting'}.to_json,
28
33
  hash_including('Authorization' => 'Bearer token-123')) { default_response }
29
34
 
30
35
  api_client.create_booking 'co-up', 'res-1', title: 'meeting'
@@ -42,7 +47,7 @@ describe CobotClient::ApiClient do
42
47
  context 'updating a booking' do
43
48
  it 'calls rest client' do
44
49
  RestClient.should_receive(:put).with('https://co-up.cobot.me/api/bookings/booking-1',
45
- {title: 'meeting'},
50
+ {title: 'meeting'}.to_json,
46
51
  hash_including('Authorization' => 'Bearer token-123')) { default_response }
47
52
 
48
53
  api_client.update_booking 'co-up', 'booking-1', title: 'meeting'
@@ -66,21 +71,50 @@ describe CobotClient::ApiClient do
66
71
  end
67
72
  end
68
73
 
69
- context '#get' do
74
+ context '#put' do
70
75
  it 'calls rest client' do
71
- RestClient.should_receive(:get).with('https://co-up.cobot.me/api/invoices?from=2013-10-6&to=2013-10-12',
72
- hash_including('Authorization' => 'Bearer token-123')) { default_response }
76
+ RestClient.should_receive(:put).with(
77
+ 'https://co-up.cobot.me/api/invoices',
78
+ {id: '1'}.to_json,
79
+ 'Content-Type' => 'application/json',
80
+ 'User-Agent' => 'test agent',
81
+ 'Authorization' => 'Bearer token-123') { default_response }
82
+
83
+ api_client.put 'co-up', '/invoices', {id: '1'}
84
+ end
73
85
 
74
- api_client.get 'co-up', '/invoices', {from: '2013-10-6', to: '2013-10-12'}
86
+ it 'returns the response json' do
87
+ RestClient.stub(:put) { double(:response, body: [{number: 1}].to_json) }
88
+
89
+ expect(api_client.put('co-up', '/invoices', {})).to eql([{number: 1}])
90
+ end
91
+ end
92
+
93
+ context '#post' do
94
+ it 'calls rest client' do
95
+ RestClient.should_receive(:post).with(
96
+ 'https://co-up.cobot.me/api/invoices',
97
+ {id: '1'}.to_json,
98
+ 'Content-Type' => 'application/json',
99
+ 'User-Agent' => 'test agent',
100
+ 'Authorization' => 'Bearer token-123') { default_response }
101
+
102
+ api_client.post 'co-up', '/invoices', {id: '1'}
75
103
  end
76
104
 
77
- it 'sends a user agent header' do
78
- CobotClient::ApiClient.user_agent = 'test agent'
105
+ it 'returns the response json' do
106
+ RestClient.stub(:post) { double(:response, body: [{number: 1}].to_json) }
107
+
108
+ expect(api_client.post('co-up', '/invoices', {})).to eql([{number: 1}])
109
+ end
110
+ end
79
111
 
80
- RestClient.should_receive(:get).with(anything,
81
- hash_including('User-Agent' => 'test agent')) { default_response }
112
+ context '#get' do
113
+ it 'calls rest client' do
114
+ RestClient.should_receive(:get).with('https://co-up.cobot.me/api/invoices?from=2013-10-6&to=2013-10-12',
115
+ 'User-Agent' => 'test agent', 'Authorization' => 'Bearer token-123') { default_response }
82
116
 
83
- api_client.get 'co-up', '/invoices'
117
+ api_client.get 'co-up', '/invoices', {from: '2013-10-6', to: '2013-10-12'}
84
118
  end
85
119
 
86
120
  it 'returns the response json' do
@@ -89,4 +123,14 @@ describe CobotClient::ApiClient do
89
123
  expect(api_client.get('co-up', '/invoices')).to eql([{number: 1}])
90
124
  end
91
125
  end
126
+
127
+ context '#delete' do
128
+ it 'calls rest client' do
129
+ RestClient.should_receive(:delete).with(
130
+ 'https://co-up.cobot.me/api/invoices/1',
131
+ 'User-Agent' => 'test agent', 'Authorization' => 'Bearer token-123') { default_response }
132
+
133
+ api_client.delete 'co-up', '/invoices/1'
134
+ end
135
+ end
92
136
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cobot_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Lang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-19 00:00:00.000000000 Z
11
+ date: 2014-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: virtus