inoreader-api 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.
@@ -0,0 +1,70 @@
1
+ require 'rspec'
2
+ require File.join(File.dirname(__FILE__), %w[spec_helper])
3
+
4
+ describe 'InoreaderApi::Api tag manipulation' do
5
+
6
+ it 'should rename tag' do
7
+
8
+ stub_request(:post, make_url(REQUEST_PATH[:rename_tag], {
9
+ :T => 'dummy_token',
10
+ :dest => 'dest',
11
+ :s => 'source'
12
+ })).to_return(
13
+ :status => 200,
14
+ :body => 'OK',
15
+ :headers => {}
16
+ )
17
+
18
+ InoreaderApi::Api.new(
19
+ :auth_token => 'dummy_token'
20
+ ).rename_tag('source', 'dest').should == 'OK'
21
+ end
22
+
23
+ it 'should disable tag' do
24
+
25
+ stub_request(:post, make_url(REQUEST_PATH[:disable_tag], {
26
+ :T => 'dummy_token',
27
+ :s => 'source'
28
+ })).to_return(
29
+ :status => 200,
30
+ :body => 'OK',
31
+ :headers => {}
32
+ )
33
+
34
+ InoreaderApi::Api.new(
35
+ :auth_token => 'dummy_token'
36
+ ).disable_tag('source').should == 'OK'
37
+ end
38
+
39
+ it 'should add tag' do
40
+ stub_request(:post, make_url(REQUEST_PATH[:edit_tag], {
41
+ :T => 'dummy_token',
42
+ :i => 'item_id',
43
+ :a => 'tag'
44
+ })).to_return(
45
+ :status => 200,
46
+ :body => 'OK',
47
+ :headers => {}
48
+ )
49
+
50
+ InoreaderApi::Api.new(
51
+ :auth_token => 'dummy_token'
52
+ ).add_tag('item_id', 'tag').should == 'OK'
53
+ end
54
+
55
+ it 'should remove tag' do
56
+ stub_request(:post, make_url(REQUEST_PATH[:edit_tag], {
57
+ :T => 'dummy_token',
58
+ :i => 'item_id',
59
+ :r => 'tag'
60
+ })).to_return(
61
+ :status => 200,
62
+ :body => 'OK',
63
+ :headers => {}
64
+ )
65
+
66
+ InoreaderApi::Api.new(
67
+ :auth_token => 'dummy_token'
68
+ ).remove_tag('item_id', 'tag').should == 'OK'
69
+ end
70
+ end
@@ -0,0 +1,16 @@
1
+ require 'rspec'
2
+ require File.join(File.dirname(__FILE__), %w[spec_helper])
3
+
4
+ describe 'InoreaderApi::Api#token' do
5
+ it 'should correct get token' do
6
+ stub_request(:get, make_url(REQUEST_PATH[:token], {
7
+ :T => 'dummy_token'
8
+ })).to_return(
9
+ :status => 200,
10
+ :body => 'dummy_token',
11
+ :headers => {}
12
+ )
13
+
14
+ InoreaderApi::Api.new(:auth_token => 'dummy_token').token.should == 'dummy_token'
15
+ end
16
+ end
@@ -0,0 +1,23 @@
1
+ require 'rspec'
2
+ require File.join(File.dirname(__FILE__), %w[spec_helper])
3
+
4
+ describe 'InoreaderApi::Api#user' do
5
+
6
+ it 'should get user info' do
7
+
8
+ body = '{"userId":"9999999999","userName":"username"}'
9
+ stub_request(:get, make_url(REQUEST_PATH[:user_info],{
10
+ :T => 'dummy_token'
11
+ })).to_return(
12
+ :status => 200,
13
+ :body => body,
14
+ :headers => {}
15
+ )
16
+
17
+ res = InoreaderApi::Api.new(
18
+ :auth_token => 'dummy_token'
19
+ ).user_info
20
+ res.userId.should == '9999999999'
21
+ res.userName.should == 'username'
22
+ end
23
+ end
@@ -0,0 +1,55 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ require 'inoreader-api'
8
+ require 'webmock/rspec'
9
+
10
+ RSpec.configure do |config|
11
+ config.treat_symbols_as_metadata_keys_with_true_values = true
12
+ config.run_all_when_everything_filtered = true
13
+ config.filter_run :focus
14
+ config.include WebMock::API
15
+
16
+ # Run specs in random order to surface order dependencies. If you find an
17
+ # order dependency and want to debug it, you can fix the order by providing
18
+ # the seed, which is printed after each run.
19
+ # --seed 1234
20
+ config.order = 'random'
21
+ end
22
+
23
+
24
+ BASE_URL = 'https://www.inoreader.com'
25
+ REQUEST_PATH = {
26
+ :user_info => '/reader/api/0/user-info',
27
+ :token => '/reader/api/0/token',
28
+ :unread_count => '/reader/api/0/unread-count',
29
+ :subscription => '/reader/api/0/subscription/list',
30
+ :tag => '/reader/api/0/tag/list',
31
+ :items => '/reader/atom',
32
+ :item_ids => '/reader/api/0/stream/items/ids',
33
+ :rename_tag => '/reader/api/0/rename-tag',
34
+ :disable_tag => '/reader/api/0/disable-tag',
35
+ :edit_tag => '/reader/api/0/edit-tag',
36
+ :mark_all_as_read => '/reader/api/0/mark-all-as-read',
37
+ :add_subscription => '/reader/api/0/subscription/quickadd',
38
+ :edit_subscription => '/reader/api/0/subscription/edit',
39
+ :preference_list => '/reader/api/0/preference/list',
40
+ :stream_preferences_list => '/reader/api/0/preference/stream/list',
41
+ :set_stream_preferences => '/reader/api/0/preference/stream/set'
42
+ }
43
+
44
+ # generate auth stub
45
+ def set_auth_stub(un, pass, status, body)
46
+ stub_request(:post, 'https://www.inoreader.com/accounts/ClientLogin').
47
+ with(:body => "Email=#{un}&Passwd=#{pass}").
48
+ to_return(:status => status, :body => body, :headers => {})
49
+ end
50
+
51
+ # make Request Url to Inoreader APIs
52
+ def make_url(path, params, feed='')
53
+ feed = '/' + feed unless feed.empty?
54
+ "#{BASE_URL}#{path}#{feed}?#{URI.encode_www_form(params)}"
55
+ end
metadata ADDED
@@ -0,0 +1,188 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: inoreader-api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.0
5
+ platform: ruby
6
+ authors:
7
+ - kyohei8
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: hashie
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: webmock
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: InoReader Ruby Client
126
+ email:
127
+ - tsukuda.kyouhei@gmail.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - .gitignore
133
+ - .rspec
134
+ - Gemfile
135
+ - LICENSE.txt
136
+ - README.md
137
+ - Rakefile
138
+ - inoreader-api.gemspec
139
+ - lib/inoreader-api.rb
140
+ - lib/inoreader/api.rb
141
+ - lib/inoreader/api/app.rb
142
+ - lib/inoreader/api/helper.rb
143
+ - lib/inoreader/api/version.rb
144
+ - spec/api_auth_spec.rb
145
+ - spec/api_get_method_spec.rb
146
+ - spec/api_mark_all_as_read_spec.rb
147
+ - spec/api_preferences_spec.rb
148
+ - spec/api_stream_spec.rb
149
+ - spec/api_subscription_spec.rb
150
+ - spec/api_tag_spec.rb
151
+ - spec/api_token_spec.rb
152
+ - spec/api_user_spec.rb
153
+ - spec/spec_helper.rb
154
+ homepage: ''
155
+ licenses:
156
+ - MIT
157
+ metadata: {}
158
+ post_install_message:
159
+ rdoc_options: []
160
+ require_paths:
161
+ - lib
162
+ required_ruby_version: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - '>='
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ requirements: []
173
+ rubyforge_project:
174
+ rubygems_version: 2.2.1
175
+ signing_key:
176
+ specification_version: 4
177
+ summary: InoReader Ruby Client
178
+ test_files:
179
+ - spec/api_auth_spec.rb
180
+ - spec/api_get_method_spec.rb
181
+ - spec/api_mark_all_as_read_spec.rb
182
+ - spec/api_preferences_spec.rb
183
+ - spec/api_stream_spec.rb
184
+ - spec/api_subscription_spec.rb
185
+ - spec/api_tag_spec.rb
186
+ - spec/api_token_spec.rb
187
+ - spec/api_user_spec.rb
188
+ - spec/spec_helper.rb