fiddler 0.0.1 → 1.0.1

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.
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