fiddler 0.0.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/README.md +70 -0
  2. data/lib/fiddler.rb +5 -1
  3. data/lib/fiddler/attachment.rb +142 -0
  4. data/lib/fiddler/configuration.rb +7 -2
  5. data/lib/fiddler/connection_manager.rb +62 -20
  6. data/lib/fiddler/errors.rb +1 -0
  7. data/lib/fiddler/extensions.rb +2 -0
  8. data/lib/fiddler/extensions/file.rb +5 -0
  9. data/lib/fiddler/extensions/hash.rb +15 -0
  10. data/lib/fiddler/formatters/base_formatter.rb +3 -0
  11. data/lib/fiddler/formatters/search_request_formatter.rb +2 -2
  12. data/lib/fiddler/history.rb +32 -0
  13. data/lib/fiddler/parsers.rb +3 -1
  14. data/lib/fiddler/parsers/attachment_parser.rb +54 -0
  15. data/lib/fiddler/parsers/base_parser.rb +41 -3
  16. data/lib/fiddler/parsers/history_parser.rb +72 -0
  17. data/lib/fiddler/parsers/ticket_parser.rb +52 -21
  18. data/lib/fiddler/ticket.rb +141 -43
  19. data/lib/fiddler/version.rb +1 -1
  20. data/spec/attachment_spec.rb +26 -0
  21. data/spec/cassettes/change-ownership-take.yml +98 -0
  22. data/spec/cassettes/get-tickets.yml +89087 -0
  23. data/spec/cassettes/reply-to-tickets.yml +232 -0
  24. data/spec/cassettes/root-request.yml +79 -0
  25. data/spec/cassettes/search-tickets.yml +38249 -0
  26. data/spec/cassettes/ticket-histories-count.yml +2195 -0
  27. data/spec/cassettes/ticket-histories.yml +954 -0
  28. data/spec/connection_manager_spec.rb +5 -1
  29. data/spec/formatters/search_request_formatter_spec.rb +13 -0
  30. data/spec/parsers/attachment_parser_spec.rb +29 -0
  31. data/spec/parsers/base_parser_spec.rb +16 -0
  32. data/spec/parsers/history_parser_spec.rb +32 -0
  33. data/spec/parsers/ticket_parser_spec.rb +5 -1
  34. data/spec/spec_helper.rb +9 -0
  35. data/spec/ticket_spec.rb +188 -6
  36. metadata +80 -9
@@ -6,8 +6,10 @@ describe Fiddler::ConnectionManager do
6
6
  reset_config
7
7
  end
8
8
 
9
+ use_vcr_cassette "root-request"
10
+
9
11
  it "should raise invalid Configuration error for missing configuration" do
10
- expect { Fiddler::ConnectionManager.get("https://www.google.com") }.to raise_error(Fiddler::InvalidConfigurationError)
12
+ expect { Fiddler::ConnectionManager.get("/") }.to raise_error(Fiddler::InvalidConfigurationError)
11
13
  end
12
14
 
13
15
  it "should raise invalid Configuration error for missing credentials if cookies are not enabled" do
@@ -27,6 +29,8 @@ describe Fiddler::ConnectionManager do
27
29
  test_config
28
30
  end
29
31
 
32
+ use_vcr_cassette "root-request"
33
+
30
34
  it "should not return nil response for get request" do
31
35
  Fiddler::ConnectionManager.get("/").should_not be_nil
32
36
  end
@@ -14,4 +14,17 @@ describe Fiddler::Formatters::SearchRequestFormatter do
14
14
  search_hash = Fiddler::Formatters::SearchRequestFormatter.format( { :owner => "jais.cheema" })
15
15
  search_hash.keys.should include(:format)
16
16
  end
17
+
18
+ it "should return proper query for request" do
19
+ Fiddler::Formatters::SearchRequestFormatter.format( { :owner => "jais.cheema" })["query"].should eql("Owner LIKE 'jais.cheema'")
20
+ end
21
+
22
+ it "should return proper query for array values for a condition" do
23
+ Fiddler::Formatters::SearchRequestFormatter.format( { :status => [:open, :resolved] })["query"].should eql("( Status = 'open' OR Status = 'resolved' )")
24
+ end
25
+
26
+ it "should return proper query for mixed conditions" do
27
+ search_hash = Fiddler::Formatters::SearchRequestFormatter.format( :owner => "jais.cheema", :status => [:open, :resolved], :queue => "Advanced Support")
28
+ search_hash["query"].should eql("Queue = 'Advanced Support' AND ( Status = 'open' OR Status = 'resolved' ) AND Owner LIKE 'jais.cheema'")
29
+ end
17
30
  end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fiddler::Parsers::AttachmentParser do
4
+ before do
5
+ test_config
6
+ end
7
+
8
+ it "should return Fiddler::Attachment object for parse single call" do
9
+ response = Fiddler::ConnectionManager.get("/ticket/3399/attachments/47494")
10
+ Fiddler::Parsers::AttachmentParser.parse_single(response).should be_a_kind_of(Fiddler::Attachment)
11
+ end
12
+
13
+ it "should be able to handle the image attachments" do
14
+ response = Fiddler::ConnectionManager.get("/ticket/3399/attachments/57344")
15
+ Fiddler::Parsers::AttachmentParser.parse_single(response).should be_a_kind_of(Fiddler::Attachment)
16
+ end
17
+
18
+ it "should give me a properly encoded png image for attachment" do
19
+ response = Fiddler::ConnectionManager.get("/ticket/3399/attachments/57336/content")
20
+ content = Fiddler::Parsers::AttachmentParser.parse_content(response)
21
+ File.open("12.jpg","w") { |f| f.write(content) }
22
+ end
23
+
24
+ it "should give me a properly encoded file for any kind of attachment" do
25
+ response = Fiddler::ConnectionManager.get("/ticket/3399/attachments/57348/content")
26
+ content = Fiddler::Parsers::AttachmentParser.parse_content(response)
27
+ File.open("test.graffle","w") { |f| f.write(content) }
28
+ end
29
+ end
@@ -5,6 +5,8 @@ describe Fiddler::Parsers::BaseParser do
5
5
  test_config
6
6
  end
7
7
 
8
+ use_vcr_cassette "root-request"
9
+
8
10
  it "should not raise error for valid request" do
9
11
  response = Fiddler::ConnectionManager.get("/")
10
12
  expect { Fiddler::Parsers::BaseParser.check_response_code(response) }.to_not raise_error
@@ -21,4 +23,18 @@ describe Fiddler::Parsers::BaseParser do
21
23
 
22
24
  Fiddler::Parsers::BaseParser.check_response_code(response).length.should eql(response_array.length-1)
23
25
  end
26
+
27
+ it "should return proper number of tokens for length response" do
28
+ response = <<-eos
29
+ some response
30
+ --
31
+ some second response
32
+ --
33
+ some thrid response
34
+ --
35
+ the final response
36
+ eos
37
+ response = response.split("\n")
38
+ Fiddler::Parsers::BaseParser.tokenize_response(response).count.should eql(4)
39
+ end
24
40
  end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe Fiddler::Parsers::HistoryParser do
4
+
5
+ before do
6
+ test_config
7
+ end
8
+
9
+ use_vcr_cassette "get-history"
10
+
11
+ it "should return Fiddler::History object for parse single call" do
12
+ response = Fiddler::ConnectionManager.get("/ticket/4101/history/id/73108")
13
+ Fiddler::Parsers::HistoryParser.parse_single(response).should be_a_kind_of(Fiddler::History)
14
+ end
15
+
16
+ use_vcr_cassette "ticket-histories"
17
+
18
+ it "should return Array of Histories for parse multiple call" do
19
+ response = Fiddler::ConnectionManager.get("/ticket/4200/history?format=l")
20
+ histories = Fiddler::Parsers::HistoryParser.parse_multiple(response)
21
+ histories.should be_a_kind_of(Array)
22
+ histories.first.should be_a_kind_of(Fiddler::History)
23
+ end
24
+
25
+ use_vcr_cassette "ticket-histories-count"
26
+
27
+ it "should return a proper number of histories for a ticket" do
28
+ response = Fiddler::ConnectionManager.get("/ticket/400/history?format=l")
29
+ histories = Fiddler::Parsers::HistoryParser.parse_multiple(response)
30
+ histories.count.should eql(13)
31
+ end
32
+ end
@@ -4,6 +4,8 @@ describe Fiddler::Parsers::TicketParser do
4
4
  before do
5
5
  test_config
6
6
  end
7
+
8
+ use_vcr_cassette "get-tickets"
7
9
 
8
10
  it "should return the response for proper request minus empty line" do
9
11
  response = Fiddler::ConnectionManager.get("/ticket/4200")
@@ -23,8 +25,10 @@ describe Fiddler::Parsers::TicketParser do
23
25
  Fiddler::Parsers::TicketParser.parse_single(response).should be_a_kind_of(Fiddler::Ticket)
24
26
  end
25
27
 
28
+ use_vcr_cassette "search-tickets"
29
+
26
30
  it "should give array of ticket objects for parse multiple method" do
27
- response = Fiddler::ConnectionManager.get("/search/ticket?query=Owner='jais.cheema'")
31
+ response = Fiddler::ConnectionManager.get("/search/ticket?query=Owner='jais.cheema'&format=l")
28
32
  Fiddler::Parsers::TicketParser.parse_multiple(response).should be_a_kind_of(Array)
29
33
  end
30
34
  end
@@ -1,14 +1,23 @@
1
1
  require 'rubygems'
2
2
  require 'spork'
3
3
  require 'rspec'
4
+ require 'vcr'
4
5
 
5
6
  PROJECT_ROOT = File.expand_path('../..', __FILE__)
6
7
  $LOAD_PATH << File.join(PROJECT_ROOT, 'lib')
7
8
 
8
9
  require 'fiddler'
9
10
 
11
+ VCR.configure do |config|
12
+ config.cassette_library_dir = 'spec/cassettes'
13
+ config.hook_into :webmock
14
+ config.default_cassette_options = { :record => :new_episodes }
15
+ config.allow_http_connections_when_no_cassette = true
16
+ end
17
+
10
18
  Spork.prefork do
11
19
  RSpec.configure do |config|
20
+ config.extend VCR::RSpec::Macros
12
21
  config.treat_symbols_as_metadata_keys_with_true_values = true
13
22
  config.run_all_when_everything_filtered = true
14
23
  config.filter_run :focus
@@ -4,18 +4,200 @@ describe Fiddler::Ticket do
4
4
  before do
5
5
  test_config
6
6
  end
7
+
8
+ describe "Creating tickets" do
9
+ describe "new empty ticket" do
10
+ before do
11
+ @ticket = Fiddler::Ticket.new
12
+ end
13
+
14
+ it "should have a valid id" do
15
+ @ticket.id.should eql("ticket/new")
16
+ end
17
+
18
+ it "should not be valid" do
19
+ @ticket.should_not be_valid
20
+ end
21
+
22
+ it "should return false for save" do
23
+ @ticket.save.should be_false
24
+ end
25
+
26
+ it "should populate the errors hash with the errors" do
27
+ @ticket.errors.full_messages.should_not be_empty
28
+ end
29
+ end
30
+
31
+ describe "saving tickets" do
32
+ before :each do
33
+ @ticket = Fiddler::Ticket.new
34
+ end
35
+
36
+ it "should show the validation errors" do
37
+ @ticket.should_not be_valid
38
+ puts @ticket.errors.full_messages.empty?
39
+ end
40
+
41
+ it "should not run the save method" do
42
+ @ticket.save.should be_false
43
+ end
44
+
45
+ it "should save the ticket with appropriate attributes set" do
46
+ @ticket.subject = "Trial ticket"
47
+ @ticket.queue = "General"
48
+ @ticket.save.should be_true
49
+ @ticket.id.to_i.should be_kind_of(Integer)
50
+ end
51
+
52
+ it "should be able to update the ticket without modifying id, ignoring text" do
53
+ @ticket.subject = "Trial ticket - Update"
54
+ @ticket.queue = "General"
55
+ @ticket.save.should be_true
56
+ @ticket.id.to_i.should be_kind_of(Integer)
57
+ @ticket.subject = "Update Subject after saving the ticket"
58
+ @ticket.save.should be_true
59
+ end
60
+
61
+ it "should create a ticket with initial commit" do
62
+ @ticket.subject = "Test ticket with text and requestor"
63
+ @ticket.queue = "General"
64
+ @ticket.requestors = "jais.cheema@cybersecure.com.au"
65
+ @ticket.text = "Creating ticket with requestor and text"
66
+ @ticket.save.should be_true
67
+ end
68
+ end
69
+ end
70
+
71
+ describe "updating tickets" do
72
+ it "should update the ticket requestors properly" do
73
+ t = Fiddler::Ticket.get(5234)
74
+ requestors = "#{t.requestors}, rene@cybersecure.com.au"
75
+ t.requestors = requestors
76
+ t.save.should be_true
77
+ t = Fiddler::Ticket.get(5234)
78
+ t.requestors.should eql(requestors)
79
+ end
80
+ end
81
+
82
+ describe "managing requestors" do
83
+ it "should return array of requestors" do
84
+ t = Fiddler::Ticket.get(5234)
85
+ requestors = t.requestors
86
+ t.requestor_array.should be_a_kind_of(Array)
87
+ t.requestor_array.should eql(requestors.split(", ").collect { |x| x.strip} )
88
+ end
89
+
90
+ it "should add in a proper requestors" do
91
+ t = Fiddler::Ticket.get(5233)
92
+ t.requestor_array = ["jais.cheema@cybersecure.com.au", "rene@cybersecure.com.au"]
93
+ t.save.should be_true
94
+ t = Fiddler::Ticket.get(5233)
95
+ t.requestors.should eql("jais.cheema@cybersecure.com.au, rene@cybersecure.com.au")
96
+ end
97
+ end
7
98
 
8
- it "should find a ticket with given id" do
9
- Fiddler::Ticket.get(4200).should be_a_kind_of(Fiddler::Ticket)
99
+ describe "Replying to tickets" do
100
+
101
+ #use_vcr_cassette "reply-to-tickets"
102
+
103
+ it "should comment on a ticket" do
104
+ ticket = Fiddler::Ticket.get(4200)
105
+ ticket.comment("nice comment").should be_true
106
+ end
107
+
108
+ it "should purge any useless options given with comment" do
109
+ ticket = Fiddler::Ticket.get(4200)
110
+ ticket.comment("nice comment", :useless => true).should be_true
111
+ end
112
+
113
+ it "should be able to correspond" do
114
+ ticket = Fiddler::Ticket.get(4200)
115
+ ticket.correspond("nice email").should be_true
116
+ end
117
+
118
+ it "should be able to comment with options" do
119
+ ticket = Fiddler::Ticket.get(4200)
120
+ ticket.correspond("nice email", :cc => "jaischeema@gmail.com", :time_worked => 10, :status => :open).should be_true
121
+ end
122
+
123
+ it "should update the status of the ticket if given in options" do
124
+ ticket = Fiddler::Ticket.get(3300)
125
+ ticket.comment("Something right here", :status => :stalled)
126
+ ticket.status.should eql(:stalled)
127
+ end
10
128
  end
11
129
 
12
- it "should raise exception for invalid id" do
13
- expect { Fiddler::Ticket.get(50000) }.to raise_error(Fiddler::TicketNotFoundError)
130
+ describe "Changing ownership" do
131
+
132
+ use_vcr_cassette "change-ownership-steal"
133
+
134
+ it "should change the ownership to the current user for steal" do
135
+ ticket = Fiddler::Ticket.get(4200)
136
+ ticket.steal.should_not be_nil
137
+ ticket.owner.should eql(Fiddler.configuration.username)
138
+ end
139
+
140
+ use_vcr_cassette "change-ownership-untake"
141
+
142
+ it "should change the ownership to the Nobody user for untake" do
143
+ ticket = Fiddler::Ticket.get(4200)
144
+ ticket.untake.should_not be_nil
145
+ ticket.owner.should eql("Nobody")
146
+ end
147
+
148
+ use_vcr_cassette "change-ownership-take"
149
+
150
+ it "should change the ownership to the current user for take" do
151
+ ticket = Fiddler::Ticket.get(4200)
152
+ ticket.take.should_not be_nil
153
+ ticket.owner.should eql(Fiddler.configuration.username)
154
+ end
14
155
  end
15
156
 
16
- describe "executing all method" do
17
- it "should return all the user assigned tickets for empty conditions" do
157
+ describe "searching tickets" do
158
+
159
+ use_vcr_cassette "get-tickets"
160
+
161
+ it "should find a ticket with given id" do
162
+ ticket = Fiddler::Ticket.get(400)
163
+ ticket.should be_a_kind_of(Fiddler::Ticket)
164
+ ticket.id.should eql(400)
165
+ end
166
+
167
+ it "should raise exception for invalid id" do
168
+ expect { Fiddler::Ticket.get(50000) }.to raise_error(Fiddler::TicketNotFoundError)
169
+ end
170
+
171
+ it "should return empty array for empty conditions" do
18
172
  Fiddler::Ticket.all.should be_a_kind_of(Array)
173
+ Fiddler::Ticket.all.length.should eql(0)
174
+ end
175
+
176
+ it "should return all tickets owned by the user for owner query" do
177
+ tickets = Fiddler::Ticket.all(:owner => "jais.cheema")
178
+ tickets.each do |ticket|
179
+ ticket.owner.should eql("jais.cheema")
180
+ end
181
+ end
182
+
183
+ it "should be able to handle mutliple values for a condition" do
184
+ tickets = Fiddler::Ticket.all( :status => [:open, :resolved ])
185
+ tickets.each do |ticket|
186
+ ticket.status.should match(/open|resolved/)
187
+ end
188
+ end
189
+ end
190
+
191
+ describe "histories" do
192
+ before do
193
+ @ticket = Fiddler::Ticket.get(4200)
194
+ end
195
+
196
+ use_vcr_cassette "ticket-histories"
197
+
198
+ it "should return an array of history items" do
199
+ @ticket.histories.should be_a_kind_of(Array)
200
+ @ticket.histories.first.should be_a_kind_of(Fiddler::History)
19
201
  end
20
202
  end
21
203
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: fiddler
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 1.0.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jais Cheema
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-10-04 00:00:00 Z
13
+ date: 2012-12-18 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httpclient
@@ -29,13 +29,13 @@ dependencies:
29
29
  requirement: &id002 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
- - - "="
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: 3.2.8
34
+ version: "0"
35
35
  type: :runtime
36
36
  version_requirements: *id002
37
37
  - !ruby/object:Gem::Dependency
38
- name: rspec
38
+ name: awesome_print
39
39
  prerelease: false
40
40
  requirement: &id003 !ruby/object:Gem::Requirement
41
41
  none: false
@@ -43,10 +43,10 @@ dependencies:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
45
  version: "0"
46
- type: :development
46
+ type: :runtime
47
47
  version_requirements: *id003
48
48
  - !ruby/object:Gem::Dependency
49
- name: spork
49
+ name: active_attr
50
50
  prerelease: false
51
51
  requirement: &id004 !ruby/object:Gem::Requirement
52
52
  none: false
@@ -54,10 +54,10 @@ dependencies:
54
54
  - - ">="
55
55
  - !ruby/object:Gem::Version
56
56
  version: "0"
57
- type: :development
57
+ type: :runtime
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: watchr
60
+ name: rspec
61
61
  prerelease: false
62
62
  requirement: &id005 !ruby/object:Gem::Requirement
63
63
  none: false
@@ -67,6 +67,50 @@ dependencies:
67
67
  version: "0"
68
68
  type: :development
69
69
  version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: spork
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :development
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: watchr
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ type: :development
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
93
+ name: webmock
94
+ prerelease: false
95
+ requirement: &id008 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ type: :development
102
+ version_requirements: *id008
103
+ - !ruby/object:Gem::Dependency
104
+ name: vcr
105
+ prerelease: false
106
+ requirement: &id009 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ type: :development
113
+ version_requirements: *id009
70
114
  description: This is the interface to request tracker based on Roart Gem
71
115
  email:
72
116
  - jaischeema@gmail.com
@@ -79,6 +123,8 @@ extra_rdoc_files: []
79
123
  files:
80
124
  - lib/fiddler.rb
81
125
  - lib/tasks/fiddler_tasks.rake
126
+ - lib/fiddler/attachment.rb
127
+ - lib/fiddler/extensions.rb
82
128
  - lib/fiddler/version.rb
83
129
  - lib/fiddler/errors.rb
84
130
  - lib/fiddler/formatters.rb
@@ -86,18 +132,33 @@ files:
86
132
  - lib/fiddler/parsers.rb
87
133
  - lib/fiddler/configuration.rb
88
134
  - lib/fiddler/ticket.rb
135
+ - lib/fiddler/history.rb
89
136
  - lib/fiddler/parsers/ticket_parser.rb
137
+ - lib/fiddler/parsers/history_parser.rb
90
138
  - lib/fiddler/parsers/base_parser.rb
139
+ - lib/fiddler/parsers/attachment_parser.rb
140
+ - lib/fiddler/extensions/file.rb
141
+ - lib/fiddler/extensions/hash.rb
91
142
  - lib/fiddler/formatters/search_request_formatter.rb
92
143
  - lib/fiddler/formatters/base_formatter.rb
93
144
  - spec/spec_helper.rb
94
145
  - spec/ticket_spec.rb
146
+ - spec/attachment_spec.rb
95
147
  - spec/configuration_spec.rb
96
148
  - spec/config.rb
97
149
  - spec/connection_manager_spec.rb
98
150
  - spec/formatters/search_request_formatter_spec.rb
99
151
  - spec/formatters/base_formatter_spec.rb
152
+ - spec/cassettes/ticket-histories.yml
153
+ - spec/cassettes/search-tickets.yml
154
+ - spec/cassettes/get-tickets.yml
155
+ - spec/cassettes/root-request.yml
156
+ - spec/cassettes/reply-to-tickets.yml
157
+ - spec/cassettes/change-ownership-take.yml
158
+ - spec/cassettes/ticket-histories-count.yml
100
159
  - spec/parsers/base_parser_spec.rb
160
+ - spec/parsers/history_parser_spec.rb
161
+ - spec/parsers/attachment_parser_spec.rb
101
162
  - spec/parsers/ticket_parser_spec.rb
102
163
  - Rakefile
103
164
  - README.md
@@ -131,10 +192,20 @@ summary: Interface to Request Tracker based on Roart Gem
131
192
  test_files:
132
193
  - spec/spec_helper.rb
133
194
  - spec/ticket_spec.rb
195
+ - spec/attachment_spec.rb
134
196
  - spec/configuration_spec.rb
135
197
  - spec/config.rb
136
198
  - spec/connection_manager_spec.rb
137
199
  - spec/formatters/search_request_formatter_spec.rb
138
200
  - spec/formatters/base_formatter_spec.rb
201
+ - spec/cassettes/ticket-histories.yml
202
+ - spec/cassettes/search-tickets.yml
203
+ - spec/cassettes/get-tickets.yml
204
+ - spec/cassettes/root-request.yml
205
+ - spec/cassettes/reply-to-tickets.yml
206
+ - spec/cassettes/change-ownership-take.yml
207
+ - spec/cassettes/ticket-histories-count.yml
139
208
  - spec/parsers/base_parser_spec.rb
209
+ - spec/parsers/history_parser_spec.rb
210
+ - spec/parsers/attachment_parser_spec.rb
140
211
  - spec/parsers/ticket_parser_spec.rb