roust 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roust
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lindsay Holmwood
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-23 00:00:00.000000000 Z
11
+ date: 2014-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail
@@ -61,27 +61,39 @@ extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
63
  - .gitignore
64
+ - .rspec
65
+ - .rubocop.yml
66
+ - .rubocop_roust.yml
67
+ - .rubocop_todo.yml
64
68
  - .ruby-version
69
+ - .travis.yml
65
70
  - Gemfile
66
71
  - Gemfile.lock
67
72
  - LICENSE
68
73
  - README.md
69
74
  - Rakefile
70
- - examples/example.rb
71
75
  - lib/roust.rb
76
+ - lib/roust/exceptions.rb
77
+ - lib/roust/queue.rb
78
+ - lib/roust/ticket.rb
79
+ - lib/roust/user.rb
72
80
  - lib/roust/version.rb
73
81
  - roust.gemspec
74
82
  - spec/mocks/queue-13.txt
75
83
  - spec/mocks/queue-nil.txt
76
84
  - spec/mocks/ticket-1-history-long.txt
77
85
  - spec/mocks/ticket-1-history-short.txt
86
+ - spec/mocks/ticket-1-show-unauthenticated.txt
78
87
  - spec/mocks/ticket-1-show.txt
79
88
  - spec/mocks/ticket-search-1-or-2.txt
80
89
  - spec/mocks/user-dan@us.example-after-edit.txt
81
90
  - spec/mocks/user-dan@us.example-edit.txt
82
91
  - spec/mocks/user-dan@us.example.txt
83
92
  - spec/mocks/user-nil.txt
84
- - spec/roust_spec.rb
93
+ - spec/roust/authentication_spec.rb
94
+ - spec/roust/queue_spec.rb
95
+ - spec/roust/ticket_spec.rb
96
+ - spec/roust/user_spec.rb
85
97
  - spec/spec_helper.rb
86
98
  homepage: http://github.com/bulletproofnetworks/roust
87
99
  licenses:
@@ -112,11 +124,15 @@ test_files:
112
124
  - spec/mocks/queue-nil.txt
113
125
  - spec/mocks/ticket-1-history-long.txt
114
126
  - spec/mocks/ticket-1-history-short.txt
127
+ - spec/mocks/ticket-1-show-unauthenticated.txt
115
128
  - spec/mocks/ticket-1-show.txt
116
129
  - spec/mocks/ticket-search-1-or-2.txt
117
130
  - spec/mocks/user-dan@us.example-after-edit.txt
118
131
  - spec/mocks/user-dan@us.example-edit.txt
119
132
  - spec/mocks/user-dan@us.example.txt
120
133
  - spec/mocks/user-nil.txt
121
- - spec/roust_spec.rb
134
+ - spec/roust/authentication_spec.rb
135
+ - spec/roust/queue_spec.rb
136
+ - spec/roust/ticket_spec.rb
137
+ - spec/roust/user_spec.rb
122
138
  - spec/spec_helper.rb
data/examples/example.rb DELETED
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
- require 'rt/client' # requires ruby 1.8
5
- require 'pp'
6
-
7
-
8
- ticket_id = '1318622'
9
- parent_id = '1258480'
10
-
11
- rt = RT_Client.new
12
-
13
- rt.add_link(:id => ticket_id, :MemberOf => parent_id)
14
- links = rt.links(:id => ticket_id)
15
- pp links
data/spec/roust_spec.rb DELETED
@@ -1,202 +0,0 @@
1
- require 'spec_helper'
2
- require 'roust'
3
-
4
- describe "Roust" do
5
- before do
6
- @credentials = {
7
- :server => 'http://rt.example.org',
8
- :username => 'admin',
9
- :password => 'password'
10
- }
11
- mocks_path = Pathname.new(__FILE__).parent.join('mocks')
12
-
13
- stub_request(:post, "http://rt.example.org/index.html").
14
- with(:body => {
15
- "user"=>"admin",
16
- "pass"=>"password",
17
- }).
18
- to_return(:status => 200, :body => "", :headers => {})
19
-
20
- stub_request(:get, "http://rt.example.org/REST/1.0/ticket/1/show").
21
- to_return(:status => 200,
22
- :body => mocks_path.join('ticket-1-show.txt').read,
23
- :headers => {})
24
-
25
- stub_request(:get, "http://rt.example.org/REST/1.0/search/ticket?format=s&orderby=%2Bid&query%5Bquery%5D=id%20=%201%20or%20id%20=%202").
26
- to_return(:status => 200,
27
- :body => mocks_path.join('ticket-search-1-or-2.txt').read,
28
- :headers => {})
29
-
30
- stub_request(:get, "http://rt.example.org/REST/1.0/ticket/1/history?format=s").
31
- to_return(:status => 200,
32
- :body => mocks_path.join('ticket-1-history-short.txt').read,
33
- :headers => {})
34
-
35
- stub_request(:get, "http://rt.example.org/REST/1.0/ticket/1/history?format=l").
36
- to_return(:status => 200,
37
- :body => mocks_path.join('ticket-1-history-long.txt').read,
38
- :headers => {})
39
-
40
- stub_request(:get, "http://rt.example.org/REST/1.0/user/dan@us.example").
41
- to_return(:status => 200,
42
- :body => mocks_path.join('user-dan@us.example.txt').read,
43
- :headers => {})
44
-
45
- stub_request(:get, "http://rt.example.org/REST/1.0/user/nil").
46
- to_return(:status => 200,
47
- :body => mocks_path.join('user-nil.txt').read,
48
- :headers => {})
49
-
50
- stub_request(:post, "http://rt.example.org/REST/1.0/user/dan@us.example/edit").
51
- with(:body => "content=id%3A%20user%2Fdan%40us.example%0ARealName%3A%20Daniel%20Smith").
52
- to_return(:status => 200,
53
- :body => mocks_path.join('user-dan@us.example-edit.txt').read,
54
- :headers => {})
55
-
56
- stub_request(:get, "http://rt.example.org/REST/1.0/queue/13").
57
- to_return(:status => 200,
58
- :body => mocks_path.join('queue-13.txt').read,
59
- :headers => {})
60
-
61
- stub_request(:get, "http://rt.example.org/REST/1.0/queue/nil").
62
- to_return(:status => 200,
63
- :body => mocks_path.join('queue-nil.txt').read,
64
- :headers => {})
65
-
66
- end
67
-
68
- describe 'authentication' do
69
- it "authenticates on instantiation" do
70
- rt = Roust.new(@credentials)
71
- rt.authenticated?.should be_true
72
- end
73
- end
74
-
75
- describe 'tickets' do
76
- it "can list tickets matching a query" do
77
- rt = Roust.new(@credentials)
78
- rt.authenticated?.should be_true
79
-
80
- results = rt.search(:query => "id = 1 or id = 2")
81
- results.size.should == 2
82
- results.each do |result|
83
- result.size.should == 2
84
- end
85
- end
86
-
87
- it "can fetch metadata on individual tickets" do
88
- rt = Roust.new(@credentials)
89
- rt.authenticated?.should be_true
90
-
91
- ticket = rt.show("1")
92
- ticket.should_not be_nil
93
-
94
- attrs = %w(id Subject Queue) +
95
- %w(Requestors Cc AdminCc Owner Creator) +
96
- %w(Resolved Status) +
97
- %w(Starts Started TimeLeft Due TimeWorked TimeEstimated) +
98
- %w(LastUpdated Created Told) +
99
- %w(Priority FinalPriority InitialPriority)
100
-
101
- attrs.each do |attr|
102
- ticket[attr].should_not be_nil, "#{attr} key doesn't exist"
103
- end
104
-
105
- %w(Requestors Cc AdminCc).each do |field|
106
- ticket[field].size.should > 1
107
- end
108
- end
109
-
110
- it "can fetch transactions on individual tickets" do
111
- rt = Roust.new(@credentials)
112
- rt.authenticated?.should be_true
113
-
114
- short = rt.history("1", :format => "short")
115
-
116
- short.size.should > 1
117
- short.each do |txn|
118
- txn.size.should == 2
119
- txn.first.should match(/^\d+$/)
120
- txn.last.should match(/^\w.*\w$/)
121
- end
122
-
123
- #attrs = %w(ticket data oldvalue creator timetaken) +
124
- # %w(id type field newvalue content description) +
125
- # %w(attachments created)
126
- attrs = %w(ticket data oldvalue timetaken) +
127
- %w(id type field newvalue content description)
128
-
129
- long = rt.history("1", :format => "long")
130
- long.size.should > 0
131
- long.each do |txn|
132
- attrs.each do |attr|
133
- txn[attr].should_not be_nil, "#{attr} key doesn't exist"
134
- end
135
- end
136
- end
137
- end
138
-
139
- describe 'user' do
140
- it 'can lookup user details' do
141
- rt = Roust.new(@credentials)
142
- rt.authenticated?.should be_true
143
-
144
- attrs = %w(name realname gecos nickname emailaddress id lang password)
145
-
146
- user = rt.user_show('dan@us.example')
147
- attrs.each do |attr|
148
- user[attr].should_not be_nil, "#{attr} key doesn't exist"
149
- end
150
- end
151
-
152
- it 'returns nil for unknown users' do
153
- rt = Roust.new(@credentials)
154
- rt.authenticated?.should be_true
155
-
156
- queue = rt.user_show('nil')
157
- queue.should be_nil
158
- end
159
-
160
- it 'can modify an existing user' do
161
- mocks_path = Pathname.new(__FILE__).parent.join('mocks')
162
- stub_request(:get, "http://rt.example.org/REST/1.0/user/dan@us.example").
163
- to_return(:status => 200,
164
- :body => mocks_path.join('user-dan@us.example-after-edit.txt').read,
165
- :headers => {})
166
-
167
- rt = Roust.new(@credentials)
168
- rt.authenticated?.should be_true
169
-
170
- attrs = %w(name realname gecos nickname emailaddress id lang password)
171
-
172
- attrs = { 'RealName' => 'Daniel Smith' }
173
- user = rt.user_update('dan@us.example', attrs)
174
-
175
- user['realname'].should == 'Daniel Smith'
176
- end
177
- end
178
-
179
- describe 'queue' do
180
- it "can lookup queue details" do
181
- rt = Roust.new(@credentials)
182
- rt.authenticated?.should be_true
183
-
184
- attrs = %w(id name description correspondaddress commentaddress) +
185
- %w(initialpriority finalpriority defaultduein)
186
-
187
- queue = rt.queue('13')
188
- attrs.each do |attr|
189
- queue[attr].should_not be_nil, "#{attr} key doesn't exist"
190
- end
191
-
192
- end
193
-
194
- it 'returns nil for unknown queues' do
195
- rt = Roust.new(@credentials)
196
- rt.authenticated?.should be_true
197
-
198
- queue = rt.queue('nil')
199
- queue.should be_nil
200
- end
201
- end
202
- end