bugherd_client 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 613db28bf8edb0ace5b32f050c8c4774dc072d3a
4
- data.tar.gz: c0eaa375aefbecfdd0932489723a547660ae91f9
3
+ metadata.gz: 049f2d2f8a4fbb6f3e61f26c1fd8bbefaa22b4db
4
+ data.tar.gz: fa9d63fea3774ef304ab59b89e52f67b7893d22f
5
5
  SHA512:
6
- metadata.gz: de456845c1409857253cac60a58486b21da9f59cf9a5e9146ed4638a58ad8e6d4e0ff6fd66b4507029b92720a626acba33ac6cd066822093e60ec091e2023967
7
- data.tar.gz: 8527719b03e5ecb6fc771c48b3a5c5d68239f8b92c352fb65cd9b324c1c5110e04e7dcf01859d6c5161cd89d6993f4594ff5702ded79e8930f4bbc6f0e8a43df
6
+ metadata.gz: 7b1a194f61046e7fd9b4a35290d8b5ca7d55778a9f7ed9e6877699559c449e2fa02c1e1a1c4a746074d645167a6080df4a3d318a03e5437ea1236ed9676a0b4c
7
+ data.tar.gz: e3cad542847bc0f6fe9a5b165c5558a50cae8d61617dae6ae84af0717d4398dbb9be7379237ca9bde0d3a16d0704664d536d48d6054028280db1b768676a54cc
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'coveralls', require: false
4
+
3
5
  # Specify your gem's dependencies in bugherd_client.gemspec
4
6
  gemspec
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/bugherd_client.svg)](http://badge.fury.io/rb/bugherd_client)
2
2
  [![Dependency Status](https://gemnasium.com/jwaterfaucett/bugherd_client.svg)](https://gemnasium.com/jwaterfaucett/bugherd_client)
3
- [![Build Status](https://travis-ci.org/jwaterfaucett/bugherd_client.svg?branch=master)](https://travis-ci.org/jwaterfaucett/bugherd_client)
3
+ [![Build^ Status](https://travis-ci.org/jwaterfaucett/bugherd_client.svg?branch=master)](https://travis-ci.org/jwaterfaucett/bugherd_client)
4
+ [![Code Climate](https://codeclimate.com/github/jwaterfaucett/bugherd_client/badges/gpa.svg)](https://codeclimate.com/github/jwaterfaucett/bugherd_client)
5
+ [![Coverage Status](https://coveralls.io/repos/jwaterfaucett/bugherd_client/badge.png?branch=master)](https://coveralls.io/r/jwaterfaucett/bugherd_client?branch=master)
4
6
 
5
7
 
6
8
  # BugHerd Client
@@ -61,7 +61,7 @@ module BugherdClient
61
61
  # API: 2
62
62
  def add_guest(project_id, attributes={})
63
63
  raw_response = post_request("projects/#{project_id}/add_guest", attributes)
64
- parse_response(raw_response)
64
+ parse_response(raw_response, :project)
65
65
  end
66
66
 
67
67
  #
@@ -71,7 +71,7 @@ module BugherdClient
71
71
  #
72
72
  def add_member(project_id, attributes={})
73
73
  raw_response = post_request("projects/#{project_id}/add_member", attributes)
74
- parse_response(raw_response)
74
+ parse_response(raw_response, :project)
75
75
  end
76
76
 
77
77
 
@@ -56,12 +56,12 @@ module BugherdClient
56
56
  # External ID is an API-only field. It cannot be set from the BugHerd application, only using the API. An external ID can be used to track originating IDs from other systems in BugHerd bugs.
57
57
  def create(project_id, attributes={})
58
58
  raw_response = post_request("projects/#{project_id}/tasks", task: attributes)
59
- parse_response(raw_response)
59
+ parse_response(raw_response, :task)
60
60
  end
61
61
 
62
62
  def update(project_id, task_id, attributes={})
63
63
  raw_response = put_request("projects/#{project_id}/tasks/#{task_id}", task: attributes)
64
- parse_response(raw_response)
64
+ parse_response(raw_response, :task)
65
65
  end
66
66
 
67
67
  private
@@ -2,7 +2,7 @@ module BugherdClient
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- PATCH = 8
5
+ PATCH = 9
6
6
 
7
7
  STRING = [MAJOR,MINOR,PATCH].join('.')
8
8
  end
@@ -47,6 +47,7 @@ describe(BugherdClient::Client) do
47
47
  expect(RestClient.log).to eq(nil)
48
48
  client = BugherdClient::Client.new(api_key: 'apikey', debug: true)
49
49
  expect(RestClient.log.level).to eq(Logger::DEBUG)
50
+ RestClient.log = nil
50
51
  end
51
52
  end
52
53
 
@@ -61,6 +61,75 @@ describe(BugherdClient::Resources::V2::Project) do
61
61
  expect(p1.name).to eq('MyTestProject')
62
62
  end
63
63
  end
64
+ context 'create', vcr: { cassette_name: 'projects_create', record: :new_episodes } do
65
+ it 'should create a project and return it' do
66
+ payload = {
67
+ name: 'TestProject',
68
+ devurl: 'https://testproject.com'
69
+ }
70
+ p = client.projects.create(payload)
71
+ expect(p).to have_key(:id)
72
+ expect(p).to have_key(:devurl)
73
+ expect(p).to have_key(:api_key)
74
+ expect(p).to have_key(:is_public)
75
+ expect(p).to have_key(:is_active)
76
+ expect(p).to have_key(:members)
77
+ expect(p).to have_key(:guests)
64
78
 
79
+ # types
80
+ expect(p.id).to be_an(Integer)
81
+ expect(p.members).to be_an(Array)
82
+ expect(p.guests).to be_an(Array)
83
+ end
84
+ end
85
+ context 'update', vcr: { cassette_name: 'projects_update', record: :new_episodes } do
86
+ it 'should update an existing project and return it' do
87
+ new_devurl = 'https://example.com'
88
+ existing_p = client.projects.all.first
89
+ updated_p = client.projects.update(existing_p.id, {
90
+ devurl: new_devurl
91
+ })
92
+ expect(updated_p.devurl).to eq(new_devurl)
93
+ end
94
+ end
95
+
96
+ context 'delete', vcr: { cassette_name: 'projects_delete', record: :new_episodes } do
97
+ it 'should update an existing project and return it' do
98
+ existing_project_id = 59745
99
+ existing_p = client.projects.find(existing_project_id)
100
+ res = client.projects.delete(existing_p.id)
101
+ expect(res).to have_key(:success)
102
+ expect(res.success).to eq(true)
103
+ end
104
+ end
105
+
106
+ context 'add_guests', vcr: { cassette_name: 'projects_add_guest', record: :new_episodes } do
107
+ it 'should add an existing guest to a project' do
108
+ p = client.projects.all.first
109
+ g = client.users.guests.first
110
+ res = client.projects.add_guest(p.id, user_id: g.id )
111
+ expect(res).to have_key(:id)
112
+ expect(res).to have_key(:guests)
113
+ expect(res.guests).to be_an(Array)
114
+
115
+ new_g = res.guests.select { |gs| gs.id == g.id }.first
116
+ expect(new_g).to_not be_nil
117
+ end
118
+ end
119
+
120
+ context 'add_member', vcr: { cassette_name: 'projects_add_member', record: :new_episodes } do
121
+ let(:project_id) { 40093 }
122
+ let(:member_id) { 50194 }
123
+
124
+ it 'should add a member to a project' do
125
+ res = client.projects.add_member(project_id, user_id: member_id )
126
+ expect(res).to have_key(:id)
127
+ expect(res).to have_key(:members)
128
+ expect(res.guests).to be_an(Array)
129
+
130
+ new_m = res.members.select { |mm| mm.id == member_id }.first
131
+ expect(new_m).to_not be_nil
132
+ end
133
+ end
65
134
 
66
135
  end
@@ -8,6 +8,41 @@ describe(BugherdClient::Resources::V2::Project) do
8
8
  end
9
9
  let(:project_id) { 40093 }
10
10
 
11
+ context 'api_methods' do
12
+ it 'should list available api_methods' do
13
+ t = client.tasks
14
+ [:priorities, :statuses, :all, :find, :create, :update].each do |public_method|
15
+ expect(t.api_methods).to include(public_method)
16
+ end
17
+ end
18
+ end
19
+
20
+ context 'priorities' do
21
+ it 'should return a list of available task priorities' do
22
+ priorities = client.tasks.priorities
23
+ ['not set', 'critical', 'important', 'normal','minor'].each do |p|
24
+ expect(priorities).to include(p)
25
+ end
26
+ end
27
+ end
28
+
29
+ context 'statuses' do
30
+ it 'should return a list of available task statuses' do
31
+ statuses = client.tasks.statuses
32
+ ['backlog','todo','doing','done','closed'].each do |s|
33
+ expect(statuses).to include(s)
34
+ end
35
+ end
36
+ end
37
+
38
+ context 'filter_querying' do
39
+ it 'should raise an error for invalid filter queries' do
40
+ expect {
41
+ client.tasks.all(project_id, { foo: 'whatever' })
42
+ }.to raise_error(BugherdClient::Errors::InvalidQueryKey)
43
+ end
44
+ end
45
+
11
46
  context 'all', vcr: { cassette_name: 'tasks_all', record: :new_episodes } do
12
47
  it 'should return a list of tasks in a project' do
13
48
  tasks = client.tasks.all(project_id)
@@ -43,4 +78,44 @@ describe(BugherdClient::Resources::V2::Project) do
43
78
  expect(t).to have_key(:status)
44
79
  end
45
80
  end
81
+
82
+ context 'update', vcr: { cassette_name: 'tasks_update', record: :new_episodes } do
83
+ let(:task_id) { 1035995 }
84
+ it 'should update an existing task' do
85
+ t = client.tasks.update(project_id, task_id, { status: 'doing' })
86
+
87
+ expect(t).to have_key(:id)
88
+ expect(t).to have_key(:status)
89
+ expect(t.status).to eq('doing')
90
+ end
91
+ end
92
+
93
+ context 'create', vcr: { cassette_name: 'tasks_create', record: :new_episodes } do
94
+ let(:user_id) { 50190 }
95
+ it 'should return a task when it exists' do
96
+ description = 'A Test Task for Testing Tests'
97
+ payload = {
98
+ status: 'backlog',
99
+ description: description,
100
+ priority: 'normal',
101
+ requester_id: user_id
102
+ }
103
+ t = client.tasks.create(project_id, payload)
104
+
105
+ expect(t).to have_key(:id)
106
+ expect(t).to have_key(:created_at)
107
+ expect(t).to have_key(:updated_at)
108
+ expect(t).to have_key(:local_task_id)
109
+ expect(t).to have_key(:priority_id)
110
+ expect(t).to have_key(:status_id)
111
+ expect(t).to have_key(:description)
112
+ expect(t.description).to eq(description)
113
+ expect(t).to have_key(:tag_names)
114
+ expect(t.tag_names).to be_an(Array)
115
+ expect(t).to have_key(:external_id)
116
+ expect(t).to have_key(:requester)
117
+ expect(t.requester).to be_a(Hash)
118
+ end
119
+ end
120
+
46
121
  end
@@ -8,6 +8,15 @@ describe(BugherdClient::Resources::V2::Organization) do
8
8
  client = BugherdClient::Client.new(api_key: 'testing')
9
9
  end
10
10
 
11
+ context 'events' do
12
+ it 'should return a list of available webhook events' do
13
+ event_list = client.webhooks.events
14
+ ['task_create', 'task_update', 'task_destroy', 'comment'].each do |e|
15
+ expect(event_list).to include(e)
16
+ end
17
+ end
18
+ end
19
+
11
20
  context 'all', vcr: { cassette_name: "webhooks_all", record: :new_episodes } do
12
21
 
13
22
  it 'should return a list of webhooks' do
@@ -17,4 +26,31 @@ describe(BugherdClient::Resources::V2::Organization) do
17
26
 
18
27
  end
19
28
 
29
+ context 'create', vcr: { cassette_name: "webhooks_create", record: :new_episodes } do
30
+
31
+ it 'should create new webhook' do
32
+ payload = { target_url: 'https://www.example.comfoocom.io', event: 'task_create' }
33
+ response = client.webhooks.create(payload)
34
+
35
+ expect(response).to have_key(:id)
36
+ expect(response).to have_key(:target_url)
37
+ expect(response).to have_key(:event)
38
+ expect(response).to have_key(:success_count)
39
+ expect(response).to have_key(:project_id)
40
+ end
41
+
42
+ end
43
+
44
+
45
+ context 'create', vcr: { cassette_name: "webhooks_delete", record: :new_episodes } do
46
+ let(:webhook_id) { 4141 }
47
+
48
+ it 'should delete an existing webhook' do
49
+ response = client.webhooks.delete(webhook_id)
50
+
51
+ expect(response).to have_key(:success)
52
+ expect(response.success).to eq(true)
53
+ end
54
+
55
+ end
20
56
  end
@@ -0,0 +1,192 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ X-Rack-Cache:
26
+ - miss
27
+ Cache-Control:
28
+ - must-revalidate, private, max-age=0
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Wed, 17 Dec 2014 16:55:46 GMT
33
+ Status:
34
+ - 200 OK
35
+ X-Request-Id:
36
+ - cb04ba25db4876a1bd7fff33626f94bb
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ Transfer-Encoding:
40
+ - chunked
41
+ X-Runtime:
42
+ - '0.027730'
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ Etag:
46
+ - '"58419ca1a3a9f7cb3ceeea57f25af6b8"'
47
+ Connection:
48
+ - keep-alive
49
+ Set-Cookie:
50
+ - X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
51
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A46%2B00%3A00%22%7D;
52
+ path=/; expires=Sun, 17-Dec-2034 16:55:46 GMT
53
+ X-Frame-Options:
54
+ - SAMEORIGIN
55
+ X-Ua-Compatible:
56
+ - IE=Edge,chrome=1
57
+ X-Powered-By:
58
+ - cloud66
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"projects":[{"id":40093,"name":"MyTestProject"},{"id":40420,"name":"how
62
+ to be cool"}],"meta":{"count":2}}'
63
+ http_version:
64
+ recorded_at: Wed, 17 Dec 2014 16:55:46 GMT
65
+ - request:
66
+ method: get
67
+ uri: https://testing:x@www.bugherd.com/api_v2/users/guests
68
+ body:
69
+ encoding: US-ASCII
70
+ string: ''
71
+ headers:
72
+ Accept:
73
+ - application/json
74
+ Accept-Encoding:
75
+ - gzip, deflate
76
+ Content-Type:
77
+ - application/json
78
+ User-Agent:
79
+ - Ruby
80
+ response:
81
+ status:
82
+ code: 200
83
+ message: OK
84
+ headers:
85
+ Server:
86
+ - nginx
87
+ X-Rack-Cache:
88
+ - miss
89
+ Cache-Control:
90
+ - must-revalidate, private, max-age=0
91
+ Content-Type:
92
+ - application/json; charset=utf-8
93
+ Date:
94
+ - Wed, 17 Dec 2014 16:55:47 GMT
95
+ Status:
96
+ - 200 OK
97
+ X-Request-Id:
98
+ - fbce75ac92bf0bab336e53d099732be9
99
+ X-Xss-Protection:
100
+ - 1; mode=block
101
+ Transfer-Encoding:
102
+ - chunked
103
+ X-Runtime:
104
+ - '0.206785'
105
+ X-Content-Type-Options:
106
+ - nosniff
107
+ Etag:
108
+ - '"e408b3684383aaaccd5350fe2fed42a5"'
109
+ Connection:
110
+ - keep-alive
111
+ Set-Cookie:
112
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
113
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fusers%2Fguests%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A47%2B00%3A00%22%7D;
114
+ path=/; expires=Sun, 17-Dec-2034 16:55:47 GMT
115
+ X-Frame-Options:
116
+ - SAMEORIGIN
117
+ X-Ua-Compatible:
118
+ - IE=Edge,chrome=1
119
+ X-Powered-By:
120
+ - cloud66
121
+ body:
122
+ encoding: UTF-8
123
+ string: '{"users":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}],"meta":{"count":1}}'
124
+ http_version:
125
+ recorded_at: Wed, 17 Dec 2014 16:55:47 GMT
126
+ - request:
127
+ method: post
128
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/add_guest
129
+ body:
130
+ encoding: US-ASCII
131
+ string: user_id=50536&content_type=json&accept=json
132
+ headers:
133
+ Accept:
134
+ - "*/*; q=0.5, application/xml"
135
+ Accept-Encoding:
136
+ - gzip, deflate
137
+ Content-Length:
138
+ - '43'
139
+ Content-Type:
140
+ - application/x-www-form-urlencoded
141
+ User-Agent:
142
+ - Ruby
143
+ response:
144
+ status:
145
+ code: 200
146
+ message: OK
147
+ headers:
148
+ Server:
149
+ - nginx
150
+ X-Rack-Cache:
151
+ - invalidate, pass
152
+ Cache-Control:
153
+ - max-age=0, private, must-revalidate
154
+ Content-Type:
155
+ - application/json; charset=utf-8
156
+ Date:
157
+ - Wed, 17 Dec 2014 16:55:48 GMT
158
+ Status:
159
+ - 200 OK
160
+ X-Request-Id:
161
+ - e2aefeaf5ee8f610fdea2d6b10017485
162
+ X-Xss-Protection:
163
+ - 1; mode=block
164
+ Transfer-Encoding:
165
+ - chunked
166
+ X-Runtime:
167
+ - '0.127939'
168
+ X-Content-Type-Options:
169
+ - nosniff
170
+ Etag:
171
+ - '"5f81b0ad6c7835ae3f37b459db889a7f"'
172
+ Connection:
173
+ - keep-alive
174
+ Set-Cookie:
175
+ - X-Mapping-fjhppofk=DD63644E825132555253BC41B9F2C6C0; path=/
176
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTg1OTk3MjQ3ZGFhYWFkMjEwYjgwZDk2ZjdmOTA0Y2E0BjsAVA%3D%3D--1efac6416b01ac5bbfba30c5db360150cbcfaaa9;
177
+ path=/; HttpOnly
178
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Fadd_guest%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A55%3A48%2B00%3A00%22%7D;
179
+ path=/; expires=Sun, 17-Dec-2034 16:55:48 GMT
180
+ X-Frame-Options:
181
+ - SAMEORIGIN
182
+ X-Ua-Compatible:
183
+ - IE=Edge,chrome=1
184
+ X-Powered-By:
185
+ - cloud66
186
+ body:
187
+ encoding: UTF-8
188
+ string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
189
+ Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
190
+ http_version:
191
+ recorded_at: Wed, 17 Dec 2014 16:55:48 GMT
192
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,70 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/add_member
6
+ body:
7
+ encoding: US-ASCII
8
+ string: user_id=50194&content_type=json&accept=json
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '43'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ X-Rack-Cache:
28
+ - invalidate, pass
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Wed, 17 Dec 2014 17:05:00 GMT
35
+ Status:
36
+ - 200 OK
37
+ X-Request-Id:
38
+ - 4449acb1e580d8a5822699e54dfec43d
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Transfer-Encoding:
42
+ - chunked
43
+ X-Runtime:
44
+ - '0.150719'
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Etag:
48
+ - '"08e70b33fb011bcd82eefce7f2977d2e"'
49
+ Connection:
50
+ - keep-alive
51
+ Set-Cookie:
52
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
53
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWVlZDEyODQ1NGNhYmRhZjliYWYxYTUzNzkyYzUxMGFkBjsAVA%3D%3D--9f6f02f544e86da62c036ef37f86083e2b1ed12a;
54
+ path=/; HttpOnly
55
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Fadd_member%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T17%3A05%3A00%2B00%3A00%22%7D;
56
+ path=/; expires=Sun, 17-Dec-2034 17:05:00 GMT
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ X-Powered-By:
62
+ - cloud66
63
+ body:
64
+ encoding: UTF-8
65
+ string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50194,"email":"jan.schwenzien@testcloud.de","display_name":"Jan
66
+ Schwenzien","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"},{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
67
+ Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
68
+ http_version:
69
+ recorded_at: Wed, 17 Dec 2014 17:05:00 GMT
70
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects
6
+ body:
7
+ encoding: US-ASCII
8
+ string: project[name]=TestProject&project[devurl]=https%3A%2F%2Ftestproject.com&content_type=json&accept=json
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '101'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ X-Rack-Cache:
28
+ - invalidate, pass
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Wed, 17 Dec 2014 16:29:22 GMT
35
+ Status:
36
+ - 201 Created
37
+ X-Request-Id:
38
+ - e30b1cc060d27ca554cd181800900540
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Transfer-Encoding:
42
+ - chunked
43
+ X-Runtime:
44
+ - '0.293009'
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Etag:
48
+ - '"1a7ba4381b7d7c1ca623d9bb50f39533"'
49
+ Connection:
50
+ - keep-alive
51
+ Set-Cookie:
52
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
53
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTY0ZmJlZmNhYjE4NGMzMjQyOTE3MjkxMjAwOWU5Y2Y3BjsAVA%3D%3D--ccecd3220c9f370d178db5dcc4a7b4c6960d7e11;
54
+ path=/; HttpOnly
55
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A29%3A22%2B00%3A00%22%7D;
56
+ path=/; expires=Sun, 17-Dec-2034 16:29:22 GMT
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ X-Powered-By:
62
+ - cloud66
63
+ body:
64
+ encoding: UTF-8
65
+ string: '{"project":{"id":59745,"name":"TestProject","devurl":"https://testproject.com","api_key":"jfcsimyis4g9dpybkxsriq","is_active":true,"is_public":null,"members":[],"guests":[]}}'
66
+ http_version:
67
+ recorded_at: Wed, 17 Dec 2014 16:29:22 GMT
68
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,127 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/59745
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ X-Rack-Cache:
26
+ - miss
27
+ Cache-Control:
28
+ - must-revalidate, private, max-age=0
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Wed, 17 Dec 2014 16:38:13 GMT
33
+ Status:
34
+ - 200 OK
35
+ X-Request-Id:
36
+ - 9da745ce2f718a1096d611552af754c9
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ Transfer-Encoding:
40
+ - chunked
41
+ X-Runtime:
42
+ - '0.037519'
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ Etag:
46
+ - '"1a7ba4381b7d7c1ca623d9bb50f39533"'
47
+ Connection:
48
+ - keep-alive
49
+ Set-Cookie:
50
+ - X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
51
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F59745%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A38%3A13%2B00%3A00%22%7D;
52
+ path=/; expires=Sun, 17-Dec-2034 16:38:13 GMT
53
+ X-Frame-Options:
54
+ - SAMEORIGIN
55
+ X-Ua-Compatible:
56
+ - IE=Edge,chrome=1
57
+ X-Powered-By:
58
+ - cloud66
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"project":{"id":59745,"name":"TestProject","devurl":"https://testproject.com","api_key":"jfcsimyis4g9dpybkxsriq","is_active":true,"is_public":null,"members":[],"guests":[]}}'
62
+ http_version:
63
+ recorded_at: Wed, 17 Dec 2014 16:38:13 GMT
64
+ - request:
65
+ method: delete
66
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/59745
67
+ body:
68
+ encoding: US-ASCII
69
+ string: ''
70
+ headers:
71
+ Accept:
72
+ - application/json
73
+ Accept-Encoding:
74
+ - gzip, deflate
75
+ Content-Type:
76
+ - application/json
77
+ User-Agent:
78
+ - Ruby
79
+ response:
80
+ status:
81
+ code: 200
82
+ message: OK
83
+ headers:
84
+ Server:
85
+ - nginx
86
+ X-Rack-Cache:
87
+ - invalidate, pass
88
+ Cache-Control:
89
+ - max-age=0, private, must-revalidate
90
+ Content-Type:
91
+ - application/json; charset=utf-8
92
+ Date:
93
+ - Wed, 17 Dec 2014 16:38:13 GMT
94
+ Status:
95
+ - 200 OK
96
+ X-Request-Id:
97
+ - cae27b196caf7c7cbfa2fb2d971e389d
98
+ X-Xss-Protection:
99
+ - 1; mode=block
100
+ Transfer-Encoding:
101
+ - chunked
102
+ X-Runtime:
103
+ - '0.085804'
104
+ X-Content-Type-Options:
105
+ - nosniff
106
+ Etag:
107
+ - '"7363e85fe9edee6f053a4b319588c086"'
108
+ Connection:
109
+ - keep-alive
110
+ Set-Cookie:
111
+ - X-Mapping-fjhppofk=F79505634CB879F90FD744F06F62BF75; path=/
112
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTYyZDU4YzQyMjgwZGFiYjM0YmEyMjA4Zjc1YWQ1NmIwBjsAVA%3D%3D--909534decd6314405931f75661e4e89597492d13;
113
+ path=/; HttpOnly
114
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F59745%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A38%3A13%2B00%3A00%22%7D;
115
+ path=/; expires=Sun, 17-Dec-2034 16:38:13 GMT
116
+ X-Frame-Options:
117
+ - SAMEORIGIN
118
+ X-Ua-Compatible:
119
+ - IE=Edge,chrome=1
120
+ X-Powered-By:
121
+ - cloud66
122
+ body:
123
+ encoding: UTF-8
124
+ string: '{"success":true}'
125
+ http_version:
126
+ recorded_at: Wed, 17 Dec 2014 16:38:13 GMT
127
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,131 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ X-Rack-Cache:
26
+ - miss
27
+ Cache-Control:
28
+ - must-revalidate, private, max-age=0
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Wed, 17 Dec 2014 16:34:44 GMT
33
+ Status:
34
+ - 200 OK
35
+ X-Request-Id:
36
+ - 02744cd39668f39cbb93e242f51e9e08
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ Transfer-Encoding:
40
+ - chunked
41
+ X-Runtime:
42
+ - '0.033186'
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ Etag:
46
+ - '"95d1917c95dfbfcf610f59317a047637"'
47
+ Connection:
48
+ - keep-alive
49
+ Set-Cookie:
50
+ - X-Mapping-fjhppofk=F79505634CB879F90FD744F06F62BF75; path=/
51
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A34%3A44%2B00%3A00%22%7D;
52
+ path=/; expires=Sun, 17-Dec-2034 16:34:44 GMT
53
+ X-Frame-Options:
54
+ - SAMEORIGIN
55
+ X-Ua-Compatible:
56
+ - IE=Edge,chrome=1
57
+ X-Powered-By:
58
+ - cloud66
59
+ body:
60
+ encoding: UTF-8
61
+ string: '{"projects":[{"id":40093,"name":"MyTestProject"},{"id":40420,"name":"how
62
+ to be cool"},{"id":59745,"name":"TestProject"}],"meta":{"count":3}}'
63
+ http_version:
64
+ recorded_at: Wed, 17 Dec 2014 16:34:44 GMT
65
+ - request:
66
+ method: put
67
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/40093
68
+ body:
69
+ encoding: US-ASCII
70
+ string: project[devurl]=https%3A%2F%2Fexample.com&content_type=json&accept=json
71
+ headers:
72
+ Accept:
73
+ - "*/*; q=0.5, application/xml"
74
+ Accept-Encoding:
75
+ - gzip, deflate
76
+ Content-Length:
77
+ - '71'
78
+ Content-Type:
79
+ - application/x-www-form-urlencoded
80
+ User-Agent:
81
+ - Ruby
82
+ response:
83
+ status:
84
+ code: 200
85
+ message: OK
86
+ headers:
87
+ Server:
88
+ - nginx
89
+ X-Rack-Cache:
90
+ - invalidate, pass
91
+ Cache-Control:
92
+ - max-age=0, private, must-revalidate
93
+ Content-Type:
94
+ - application/json; charset=utf-8
95
+ Date:
96
+ - Wed, 17 Dec 2014 16:34:45 GMT
97
+ Status:
98
+ - 200 OK
99
+ X-Request-Id:
100
+ - 83433da36f52fd4676b3eb4b22eb9a6c
101
+ X-Xss-Protection:
102
+ - 1; mode=block
103
+ Transfer-Encoding:
104
+ - chunked
105
+ X-Runtime:
106
+ - '0.226935'
107
+ X-Content-Type-Options:
108
+ - nosniff
109
+ Etag:
110
+ - '"5f81b0ad6c7835ae3f37b459db889a7f"'
111
+ Connection:
112
+ - keep-alive
113
+ Set-Cookie:
114
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
115
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTdmNjM1MzAwMmI5MGJiNjhlNTgyNzZlMGJmN2ExNTQ0BjsAVA%3D%3D--18f99d43caca3d464a0b777350ee39c8b9591cec;
116
+ path=/; HttpOnly
117
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-17T16%3A34%3A45%2B00%3A00%22%7D;
118
+ path=/; expires=Sun, 17-Dec-2034 16:34:45 GMT
119
+ X-Frame-Options:
120
+ - SAMEORIGIN
121
+ X-Ua-Compatible:
122
+ - IE=Edge,chrome=1
123
+ X-Powered-By:
124
+ - cloud66
125
+ body:
126
+ encoding: UTF-8
127
+ string: '{"project":{"id":40093,"name":"MyTestProject","devurl":"https://example.com","api_key":"6oz4wx52erigdpckz5blag","is_active":true,"is_public":null,"members":[{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
128
+ Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}],"guests":[{"id":50536,"email":"tilman.bahls@testcloud.de","display_name":"tilman.bahls@testcloud.de","avatar_url":"https://bugherd-attachments.s3.amazonaws.com/zpyio6vsupbtvt82ofjx6w%2Favatar.png"}]}}'
129
+ http_version:
130
+ recorded_at: Wed, 17 Dec 2014 16:34:45 GMT
131
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,70 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/tasks
6
+ body:
7
+ encoding: US-ASCII
8
+ string: task[status]=backlog&task[description]=A%20Test%20Task%20for%20Testing%20Tests&task[priority]=normal&task[requester_id]=50190&content_type=json&accept=json
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '155'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ X-Rack-Cache:
28
+ - invalidate, pass
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Thu, 18 Dec 2014 11:51:36 GMT
35
+ Status:
36
+ - 201 Created
37
+ X-Request-Id:
38
+ - fc9550c18e1242226fe04f3373116282
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Transfer-Encoding:
42
+ - chunked
43
+ X-Runtime:
44
+ - '0.430175'
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Etag:
48
+ - '"7a7170e2625f5a0af24dd7e9984d9ec7"'
49
+ Connection:
50
+ - keep-alive
51
+ Set-Cookie:
52
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
53
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWMzYjAwNTgzY2Y1MDAzZTYzYTc5NmUyZmYwZWRiYTMxBjsAVA%3D%3D--5d552c2e9ecddfed5970e9bf065d1b005f62d874;
54
+ path=/; HttpOnly
55
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Ftasks%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A51%3A35%2B00%3A00%22%7D;
56
+ path=/; expires=Mon, 18-Dec-2034 11:51:35 GMT
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ X-Powered-By:
62
+ - cloud66
63
+ body:
64
+ encoding: UTF-8
65
+ string: '{"task":{"id":1734828,"project_id":40093,"created_at":"2014-12-18T11:51:36Z","updated_at":"2014-12-18T11:51:36Z","local_task_id":13,"priority_id":3,"status_id":0,"description":"A
66
+ Test Task for Testing Tests","tag_names":[],"external_id":null,"requester_email":"john.faucett@testcloud.de","attachments":[],"screenshot_url":null,"status":"backlog","priority":"normal","closed_at":null,"secret_link":"http://www.bugherd.com/t/uPp1qeKA0ATUeZsKx0b2Xg","admin_link":"http://www.bugherd.com/projects/40093/tasks/13","deleted_at":null,"site":null,"url":null,"metadata":null,"screenshot_data":null,"requester_os":null,"requester_browser":null,"requester_browser_size":null,"requester_resolution":null,"selector_info":"{}","assigned_to":null,"requester":{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
67
+ Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"},"updater":null}}'
68
+ http_version:
69
+ recorded_at: Thu, 18 Dec 2014 11:51:36 GMT
70
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://testing:x@www.bugherd.com/api_v2/projects/40093/tasks/1035995
6
+ body:
7
+ encoding: US-ASCII
8
+ string: task[status]=doing&content_type=json&accept=json
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '48'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ X-Rack-Cache:
28
+ - invalidate, pass
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Thu, 18 Dec 2014 11:46:58 GMT
35
+ Status:
36
+ - 200 OK
37
+ X-Request-Id:
38
+ - 3807d7c48ee4e6fe6bc9f87a8703b148
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Transfer-Encoding:
42
+ - chunked
43
+ X-Runtime:
44
+ - '0.272197'
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Etag:
48
+ - '"407998bb3b0ca8474f5a3d2a0db4bae7"'
49
+ Connection:
50
+ - keep-alive
51
+ Set-Cookie:
52
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
53
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTE5ZTRkMzYzZWI1MmE5NmE5MzMzMDc1YmY3MzIwN2Y1BjsAVA%3D%3D--ee9332d971dcc75e224a0b9b97118613b5cceceb;
54
+ path=/; HttpOnly
55
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fprojects%2F40093%2Ftasks%2F1035995%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A46%3A57%2B00%3A00%22%7D;
56
+ path=/; expires=Mon, 18-Dec-2034 11:46:57 GMT
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ X-Powered-By:
62
+ - cloud66
63
+ body:
64
+ encoding: UTF-8
65
+ string: '{"task":{"id":1035995,"project_id":40093,"created_at":"2014-05-08T07:53:00Z","updated_at":"2014-12-18T11:46:57Z","local_task_id":5,"priority_id":2,"status_id":2,"description":"testCloud
66
+ ID: #10821\nApp Section: Produktdetailseite Vollbildansicht der Produkte\nURL:
67
+ www.testcloud.de/demobug\n\nDies ist ein Demo-Bug aus dem testCloud System.
68
+ Wenn Sie diesen Bug sehen, wurde die Export-Schnittstelle zu Ihrem Bugtracker
69
+ erfolgreich implementiert und ist einsatzbereit.\n\n* http://devuploads.testcloud.de:3000/uploads/bug_attachment/file/30642/cf54ff14-83e4-5a53-821b-b22a11a822c8.png\n\n","tag_names":[],"external_id":"testcloudClient","requester_email":null,"attachments":[{"id":146150,"name":null,"url":"https://bugherd-attachments.s3.amazonaws.com/brps6nxuwrzh1xgdkhwnza/"},{"id":146149,"name":"resolution.gif","url":"https://bugherd-attachments.s3.amazonaws.com/kayaszjnhljhr3bkgtfc3a/resolution.gif"},{"id":146142,"name":"resolution.gif","url":"http://i.imgur.com/U9h3jZI.gif"}],"screenshot_url":null,"status":"doing","priority":"important","closed_at":null,"secret_link":"http://www.bugherd.com/t/KGMMgQEZ9yzKOUucNXHjZQ","admin_link":"http://www.bugherd.com/projects/40093/tasks/5","deleted_at":null,"site":null,"url":null,"metadata":null,"screenshot_data":null,"requester_os":null,"requester_browser":null,"requester_browser_size":null,"requester_resolution":null,"selector_info":"{}","assigned_to":null,"requester":null,"updater":{"id":50190,"email":"john.faucett@testcloud.de","display_name":"John
70
+ Faucett","avatar_url":"https://www.bugherd.com/images/sidebar/avatar-generic.png"}}}'
71
+ http_version:
72
+ recorded_at: Thu, 18 Dec 2014 11:46:58 GMT
73
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://testing:x@www.bugherd.com/api_v2/webhooks
6
+ body:
7
+ encoding: US-ASCII
8
+ string: target_url=https%3A%2F%2Fwww.example.comfoocom.io&event=task_create&content_type=json&accept=json
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Length:
15
+ - '97'
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ X-Rack-Cache:
28
+ - invalidate, pass
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Thu, 18 Dec 2014 11:29:07 GMT
35
+ Status:
36
+ - 201 Created
37
+ X-Request-Id:
38
+ - e25437b3265d63a56912b1bac56e8fd7
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Transfer-Encoding:
42
+ - chunked
43
+ X-Runtime:
44
+ - '0.117996'
45
+ X-Content-Type-Options:
46
+ - nosniff
47
+ Etag:
48
+ - '"fdae1793210ce283c5a05ce683e26732"'
49
+ Connection:
50
+ - keep-alive
51
+ Set-Cookie:
52
+ - X-Mapping-fjhppofk=1E758C009836F053015B6438BA84600D; path=/
53
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWNhN2E4YWMwMWI3ZTdhNjdmMWI1YTdiNDZhYzQyYTVkBjsAVA%3D%3D--cec15b7070e8398c5122abc1502df43c9905a2e5;
54
+ path=/; HttpOnly
55
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fwebhooks%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A29%3A07%2B00%3A00%22%7D;
56
+ path=/; expires=Mon, 18-Dec-2034 11:29:07 GMT
57
+ X-Frame-Options:
58
+ - SAMEORIGIN
59
+ X-Ua-Compatible:
60
+ - IE=Edge,chrome=1
61
+ X-Powered-By:
62
+ - cloud66
63
+ body:
64
+ encoding: UTF-8
65
+ string: '{"webhook":{"id":4141,"target_url":"https://www.example.comfoocom.io","event":"task_create","project_id":null,"success_count":null}}'
66
+ http_version:
67
+ recorded_at: Thu, 18 Dec 2014 11:29:07 GMT
68
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,66 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://testing:x@www.bugherd.com/api_v2/webhooks/4141
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ Content-Type:
15
+ - application/json
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ X-Rack-Cache:
26
+ - invalidate, pass
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Date:
32
+ - Thu, 18 Dec 2014 11:31:37 GMT
33
+ Status:
34
+ - 200 OK
35
+ X-Request-Id:
36
+ - 2a1f906da1be0877a1e1b0d06b17150a
37
+ X-Xss-Protection:
38
+ - 1; mode=block
39
+ Transfer-Encoding:
40
+ - chunked
41
+ X-Runtime:
42
+ - '0.262089'
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ Etag:
46
+ - '"7363e85fe9edee6f053a4b319588c086"'
47
+ Connection:
48
+ - keep-alive
49
+ Set-Cookie:
50
+ - X-Mapping-fjhppofk=E1227771D62C08D6CA46945339FEFF4D; path=/
51
+ - _bugherd_session3=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWUwZDEyZGZiYjBhYWRjNGJiYjBhMjY4OTU2ODRmZTdmBjsAVA%3D%3D--6e6ce867b97f064fc3943a648c43a3bdab79d217;
52
+ path=/; HttpOnly
53
+ - landing=%7B%22utm_source%22%3Anull%2C%22utm_medium%22%3Anull%2C%22utm_campaign%22%3Anull%2C%22utm_term%22%3Anull%2C%22utm_content%22%3Anull%2C%22path%22%3A%22%2Fapi_v2%2Fwebhooks%2F4141%22%2C%22referer%22%3Anull%2C%22remote_ip%22%3A%2290.156.0.165%22%2C%22time%22%3A%222014-12-18T11%3A31%3A37%2B00%3A00%22%7D;
54
+ path=/; expires=Mon, 18-Dec-2034 11:31:37 GMT
55
+ X-Frame-Options:
56
+ - SAMEORIGIN
57
+ X-Ua-Compatible:
58
+ - IE=Edge,chrome=1
59
+ X-Powered-By:
60
+ - cloud66
61
+ body:
62
+ encoding: UTF-8
63
+ string: '{"success":true}'
64
+ http_version:
65
+ recorded_at: Thu, 18 Dec 2014 11:31:38 GMT
66
+ recorded_with: VCR 2.9.3
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,10 @@ support = File.expand_path('../support', __FILE__)
5
5
  [lib, support].each { |path| $:.unshift(path) unless $:.include?(path) }
6
6
  require 'pry'
7
7
 
8
- # coverage
8
+ require 'coveralls'
9
9
  require 'simplecov'
10
+
11
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
10
12
  SimpleCov.start do
11
13
  add_filter '/spec/'
12
14
  add_group 'api_v1', 'bugherd_client/resources/v1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bugherd_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Faucett
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2015-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -199,13 +199,22 @@ files:
199
199
  - spec/cassettes/members_all.yml
200
200
  - spec/cassettes/organizations_get.yml
201
201
  - spec/cassettes/projects_active.yml
202
+ - spec/cassettes/projects_add_guest.yml
203
+ - spec/cassettes/projects_add_member.yml
202
204
  - spec/cassettes/projects_all.yml
205
+ - spec/cassettes/projects_create.yml
206
+ - spec/cassettes/projects_delete.yml
203
207
  - spec/cassettes/projects_find_failure.yml
204
208
  - spec/cassettes/projects_find_success.yml
209
+ - spec/cassettes/projects_update.yml
205
210
  - spec/cassettes/tasks_all.yml
211
+ - spec/cassettes/tasks_create.yml
206
212
  - spec/cassettes/tasks_find_success.yml
213
+ - spec/cassettes/tasks_update.yml
207
214
  - spec/cassettes/users_all.yml
208
215
  - spec/cassettes/webhooks_all.yml
216
+ - spec/cassettes/webhooks_create.yml
217
+ - spec/cassettes/webhooks_delete.yml
209
218
  - spec/spec_helper.rb
210
219
  - spec/support/http_helper.rb
211
220
  homepage: http://jwaterfaucett.github.io/bugherd_client
@@ -243,12 +252,21 @@ test_files:
243
252
  - spec/cassettes/members_all.yml
244
253
  - spec/cassettes/organizations_get.yml
245
254
  - spec/cassettes/projects_active.yml
255
+ - spec/cassettes/projects_add_guest.yml
256
+ - spec/cassettes/projects_add_member.yml
246
257
  - spec/cassettes/projects_all.yml
258
+ - spec/cassettes/projects_create.yml
259
+ - spec/cassettes/projects_delete.yml
247
260
  - spec/cassettes/projects_find_failure.yml
248
261
  - spec/cassettes/projects_find_success.yml
262
+ - spec/cassettes/projects_update.yml
249
263
  - spec/cassettes/tasks_all.yml
264
+ - spec/cassettes/tasks_create.yml
250
265
  - spec/cassettes/tasks_find_success.yml
266
+ - spec/cassettes/tasks_update.yml
251
267
  - spec/cassettes/users_all.yml
252
268
  - spec/cassettes/webhooks_all.yml
269
+ - spec/cassettes/webhooks_create.yml
270
+ - spec/cassettes/webhooks_delete.yml
253
271
  - spec/spec_helper.rb
254
272
  - spec/support/http_helper.rb