github_api 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- data/features/cassettes/issues/labels/create.yml +54 -0
- data/features/cassettes/issues/labels/delete.yml +46 -0
- data/features/cassettes/issues/labels/get.yml +63 -0
- data/features/cassettes/issues/labels/list_issue.yml +64 -0
- data/features/cassettes/issues/labels/list_milestone.yml +65 -0
- data/features/cassettes/issues/labels/update.yml +52 -0
- data/features/issues/labels.feature +71 -0
- data/features/issues/milestones.feature +3 -3
- data/features/step_definitions/common_steps.rb +5 -0
- data/features/support/vcr.rb +1 -1
- data/lib/github_api/issues.rb +5 -4
- data/lib/github_api/issues/labels.rb +35 -47
- data/lib/github_api/version.rb +1 -1
- data/spec/github/issues/labels/add_spec.rb +50 -0
- data/spec/github/issues/labels/create_spec.rb +59 -0
- data/spec/github/issues/labels/delete_spec.rb +39 -0
- data/spec/github/issues/labels/get_spec.rb +47 -0
- data/spec/github/issues/labels/list_spec.rb +100 -0
- data/spec/github/issues/labels/update_spec.rb +61 -0
- data/spec/github/issues/labels_spec.rb +0 -410
- metadata +44 -32
@@ -0,0 +1,54 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/<USER>/github_api_test/labels?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: ! '{"name":"api","color":"FFFFFF"}'
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 201
|
21
|
+
message: Created
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
Date:
|
26
|
+
- Sun, 16 Dec 2012 18:02:49 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Status:
|
32
|
+
- 201 Created
|
33
|
+
Cache-Control:
|
34
|
+
- max-age=0, private, must-revalidate
|
35
|
+
X-Ratelimit-Limit:
|
36
|
+
- '5000'
|
37
|
+
Content-Length:
|
38
|
+
- '101'
|
39
|
+
Etag:
|
40
|
+
- ! '"07b4f902ae0cd3ce75cd445626222079"'
|
41
|
+
Location:
|
42
|
+
- https://api.github.com/repos/<USER>/github_api_test/labels/api
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
X-Github-Media-Type:
|
46
|
+
- github.beta
|
47
|
+
X-Ratelimit-Remaining:
|
48
|
+
- '4998'
|
49
|
+
body:
|
50
|
+
encoding: US-ASCII
|
51
|
+
string: ! '{"color":"FFFFFF","url":"https://api.github.com/repos/<USER>/github_api_test/labels/api","name":"api"}'
|
52
|
+
http_version: !!null
|
53
|
+
recorded_at: Sun, 16 Dec 2012 18:02:49 GMT
|
54
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,46 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: delete
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/<USER>/github_api_test/labels/api?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 204
|
21
|
+
message: No Content
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
Date:
|
26
|
+
- Sun, 16 Dec 2012 18:07:30 GMT
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Status:
|
30
|
+
- 204 No Content
|
31
|
+
X-Github-Media-Type:
|
32
|
+
- github.beta
|
33
|
+
X-Ratelimit-Limit:
|
34
|
+
- '5000'
|
35
|
+
Cache-Control:
|
36
|
+
- ''
|
37
|
+
X-Ratelimit-Remaining:
|
38
|
+
- '4996'
|
39
|
+
X-Content-Type-Options:
|
40
|
+
- nosniff
|
41
|
+
body:
|
42
|
+
encoding: US-ASCII
|
43
|
+
string: ''
|
44
|
+
http_version: !!null
|
45
|
+
recorded_at: Sun, 16 Dec 2012 18:07:30 GMT
|
46
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,63 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/peter-murach/github/labels/bug?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
Date:
|
28
|
+
- Sun, 16 Dec 2012 17:59:33 GMT
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Transfer-Encoding:
|
32
|
+
- chunked
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
X-Github-Media-Type:
|
38
|
+
- github.beta
|
39
|
+
X-Ratelimit-Limit:
|
40
|
+
- '5000'
|
41
|
+
Last-Modified:
|
42
|
+
- Sat, 20 Oct 2007 11:24:19 GMT
|
43
|
+
Vary:
|
44
|
+
- Accept, Authorization, Cookie
|
45
|
+
Cache-Control:
|
46
|
+
- private, max-age=60, s-maxage=60
|
47
|
+
X-Ratelimit-Remaining:
|
48
|
+
- '4999'
|
49
|
+
X-Content-Type-Options:
|
50
|
+
- nosniff
|
51
|
+
Etag:
|
52
|
+
- ! '"0d778a9f16bc19ee0d6b595ded84761d"'
|
53
|
+
Content-Encoding:
|
54
|
+
- gzip
|
55
|
+
body:
|
56
|
+
encoding: ASCII-8BIT
|
57
|
+
string: !binary |-
|
58
|
+
H4sIAAAAAAAAAyXMMQ6AIAxA0bt0VoqOjN4ESCMkRUgpk/HuYhxffvJviJWr
|
59
|
+
gAPabLQ7LDCEJ5Nq6w7Rt2zOrGkEE2tBoVY7NlKStQzxMeFfkX0g7niMcz4u
|
60
|
+
X2hOPjwvMsrHMmMAAAA=
|
61
|
+
http_version: !!null
|
62
|
+
recorded_at: Sun, 16 Dec 2012 17:59:33 GMT
|
63
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,64 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/plataformatec/devise/issues/1944/labels?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
Date:
|
28
|
+
- Sun, 16 Dec 2012 19:10:23 GMT
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Transfer-Encoding:
|
32
|
+
- chunked
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
Last-Modified:
|
38
|
+
- Sun, 16 Dec 2012 18:44:53 GMT
|
39
|
+
X-Content-Type-Options:
|
40
|
+
- nosniff
|
41
|
+
X-Ratelimit-Remaining:
|
42
|
+
- '4998'
|
43
|
+
Vary:
|
44
|
+
- Accept, Authorization, Cookie
|
45
|
+
Cache-Control:
|
46
|
+
- private, max-age=60, s-maxage=60
|
47
|
+
X-Github-Media-Type:
|
48
|
+
- github.beta
|
49
|
+
Etag:
|
50
|
+
- ! '"a92e20af325121f2492f7e05fd8a4d6b"'
|
51
|
+
X-Ratelimit-Limit:
|
52
|
+
- '5000'
|
53
|
+
Content-Encoding:
|
54
|
+
- gzip
|
55
|
+
body:
|
56
|
+
encoding: ASCII-8BIT
|
57
|
+
string: !binary |-
|
58
|
+
H4sIAAAAAAAAA6WNMQ7CMAwA/5K5qgF1QJ0Rn0AMruvQSEkdxU4X1L+TBZWd
|
59
|
+
8W64e7wdSZTiRsfn02W+us7VEhsuZllHAMyhfwVb6tSTJCicRSFHNPRSEhoT
|
60
|
+
zLwFZYg4cVS4BaWqGmRtrRUTt9iP27tj6f1AA/2/vDNaLXz8vmJ/fgA1cfC5
|
61
|
+
4QAAAA==
|
62
|
+
http_version: !!null
|
63
|
+
recorded_at: Sun, 16 Dec 2012 19:10:23 GMT
|
64
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/plataformatec/devise/milestones/3/labels?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
Date:
|
28
|
+
- Sun, 16 Dec 2012 19:08:27 GMT
|
29
|
+
Content-Type:
|
30
|
+
- application/json; charset=utf-8
|
31
|
+
Transfer-Encoding:
|
32
|
+
- chunked
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
Status:
|
36
|
+
- 200 OK
|
37
|
+
X-Ratelimit-Limit:
|
38
|
+
- '5000'
|
39
|
+
Vary:
|
40
|
+
- Accept, Authorization, Cookie
|
41
|
+
Cache-Control:
|
42
|
+
- private, s-maxage=60, max-age=60
|
43
|
+
Etag:
|
44
|
+
- ! '"47e7baf692b7eca1a1a96f53b1d97483"'
|
45
|
+
Last-Modified:
|
46
|
+
- Sun, 16 Dec 2012 16:39:05 GMT
|
47
|
+
X-Content-Type-Options:
|
48
|
+
- nosniff
|
49
|
+
X-Github-Media-Type:
|
50
|
+
- github.beta
|
51
|
+
X-Ratelimit-Remaining:
|
52
|
+
- '4999'
|
53
|
+
Content-Encoding:
|
54
|
+
- gzip
|
55
|
+
body:
|
56
|
+
encoding: ASCII-8BIT
|
57
|
+
string: !binary |-
|
58
|
+
H4sIAAAAAAAAA63QPQ+CMBAG4L9iukqoEALR0cHNhdU4HO0VmhTa9MPEGP+7
|
59
|
+
NGpAHTE3ve9wT+5ON8K00pbsiBAFKxhJSLBqjJ33xu0oBSPTVvouNCnTPbVo
|
60
|
+
tKNGgQehbQ8eGeV4kQ6pggaVowcEHyyOiwbocdz0Lu7JhGUoQMByLE/zCYph
|
61
|
+
jmyzUpRiOXLUQ6slXzehnbBXuYrlHEUeZzm6n2MxzJFNzivMliN1aK6fZ8Xm
|
62
|
+
56aKYyb+8MgapHJfXqye4PkBkAR/k40CAAA=
|
63
|
+
http_version: !!null
|
64
|
+
recorded_at: Sun, 16 Dec 2012 19:08:28 GMT
|
65
|
+
recorded_with: VCR 2.3.0
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: patch
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/repos/<USER>/github_api_test/labels/api?access_token=<TOKEN>
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: ! '{"name":"api","color":"000000"}'
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/jsonapplication/vnd.github+json;q=0.7application/vnd.github.v3.raw+json;q=0.5application/vnd.github.beta.raw+json;q=0.1
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.8.3
|
16
|
+
Content-Type:
|
17
|
+
- application/json
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Server:
|
24
|
+
- nginx
|
25
|
+
Date:
|
26
|
+
- Sun, 16 Dec 2012 18:05:56 GMT
|
27
|
+
Content-Type:
|
28
|
+
- application/json; charset=utf-8
|
29
|
+
Connection:
|
30
|
+
- keep-alive
|
31
|
+
Status:
|
32
|
+
- 200 OK
|
33
|
+
X-Ratelimit-Remaining:
|
34
|
+
- '4997'
|
35
|
+
X-Ratelimit-Limit:
|
36
|
+
- '5000'
|
37
|
+
Cache-Control:
|
38
|
+
- max-age=0, private, must-revalidate
|
39
|
+
X-Content-Type-Options:
|
40
|
+
- nosniff
|
41
|
+
X-Github-Media-Type:
|
42
|
+
- github.beta
|
43
|
+
Content-Length:
|
44
|
+
- '101'
|
45
|
+
Etag:
|
46
|
+
- ! '"06def9dc9c24b11d03a61a6b541cb122"'
|
47
|
+
body:
|
48
|
+
encoding: US-ASCII
|
49
|
+
string: ! '{"color":"000000","url":"https://api.github.com/repos/<USER>/github_api_test/labels/api","name":"api"}'
|
50
|
+
http_version: !!null
|
51
|
+
recorded_at: Sun, 16 Dec 2012 18:05:56 GMT
|
52
|
+
recorded_with: VCR 2.3.0
|
@@ -12,3 +12,74 @@ Feature: Labels API
|
|
12
12
|
Then the response status should be 200
|
13
13
|
And the response type should be JSON
|
14
14
|
And the response should not be empty
|
15
|
+
|
16
|
+
Scenario: List in a milestone
|
17
|
+
|
18
|
+
Given I want to list resources with the following params:
|
19
|
+
| user | repo |
|
20
|
+
| plataformatec| devise |
|
21
|
+
And I pass the following request options:
|
22
|
+
| milestone_id |
|
23
|
+
| 3 |
|
24
|
+
When I make request within a cassette named "issues/labels/list_milestone"
|
25
|
+
Then the response status should be 200
|
26
|
+
And the response type should be JSON
|
27
|
+
And the response should not be empty
|
28
|
+
|
29
|
+
Scenario: List in an issue
|
30
|
+
|
31
|
+
Given I want to list resources with the following params:
|
32
|
+
| user | repo |
|
33
|
+
| plataformatec| devise |
|
34
|
+
And I pass the following request options:
|
35
|
+
| issue_id |
|
36
|
+
| 1944 |
|
37
|
+
When I make request within a cassette named "issues/labels/list_issue"
|
38
|
+
Then the response status should be 200
|
39
|
+
And the response type should be JSON
|
40
|
+
And the response should not be empty
|
41
|
+
|
42
|
+
Scenario: Get
|
43
|
+
|
44
|
+
Given I want to get resource with the following params:
|
45
|
+
| user | repo | label_name |
|
46
|
+
| peter-murach | github | bug |
|
47
|
+
When I make request within a cassette named "issues/labels/get"
|
48
|
+
Then the response status should be 200
|
49
|
+
And the response type should be JSON
|
50
|
+
And the response should not be empty
|
51
|
+
|
52
|
+
Scenario: Create
|
53
|
+
|
54
|
+
Given I want to create resource with the following params:
|
55
|
+
| user | repo |
|
56
|
+
| murek | github_api_test |
|
57
|
+
And I pass the following request options:
|
58
|
+
| name | color |
|
59
|
+
| api | FFFFFF |
|
60
|
+
When I make request within a cassette named "issues/labels/create" and match on method, host, path
|
61
|
+
Then the response status should be 201
|
62
|
+
And the response type should be JSON
|
63
|
+
And the response should not be empty
|
64
|
+
|
65
|
+
Scenario: Update
|
66
|
+
|
67
|
+
Given I want to update resource with the following params:
|
68
|
+
| user | repo | label_name |
|
69
|
+
| murek | github_api_test | api |
|
70
|
+
And I pass the following request options:
|
71
|
+
| name | color |
|
72
|
+
| api | 000000 |
|
73
|
+
When I make request within a cassette named "issues/labels/update" and match on method, host, path
|
74
|
+
Then the response status should be 200
|
75
|
+
And the response type should be JSON
|
76
|
+
And the response should not be empty
|
77
|
+
|
78
|
+
Scenario: Delete
|
79
|
+
|
80
|
+
Given I want to delete resource with the following params:
|
81
|
+
| user | repo | label_name |
|
82
|
+
| murek | github_api_test | api |
|
83
|
+
When I make request within a cassette named "issues/labels/delete" and match on method, host, path
|
84
|
+
Then the response status should be 204
|
85
|
+
|
@@ -34,7 +34,7 @@ Feature: Milestones API
|
|
34
34
|
And I pass the following request options:
|
35
35
|
| title | state | description |
|
36
36
|
| fix-all | open | fixing all issues |
|
37
|
-
When I make request within a cassette named "issues/milestones/create"
|
37
|
+
When I make request within a cassette named "issues/milestones/create" and match on method, host, path
|
38
38
|
Then the response status should be 201
|
39
39
|
And the response type should be JSON
|
40
40
|
And the response should not be empty
|
@@ -47,7 +47,7 @@ Feature: Milestones API
|
|
47
47
|
And I pass the following request options:
|
48
48
|
| state |
|
49
49
|
| closed |
|
50
|
-
When I make request within a cassette named "issues/milestones/update"
|
50
|
+
When I make request within a cassette named "issues/milestones/update" and match on method, host, path
|
51
51
|
Then the response status should be 200
|
52
52
|
And the response type should be JSON
|
53
53
|
And the response should not be empty
|
@@ -57,6 +57,6 @@ Feature: Milestones API
|
|
57
57
|
Given I want to delete resource with the following params:
|
58
58
|
| user | repo | milestone_id |
|
59
59
|
| murek | github_api_test | 1 |
|
60
|
-
When I make request within a cassette named "issues/milestones/delete"
|
60
|
+
When I make request within a cassette named "issues/milestones/delete" and match on method, host, path
|
61
61
|
Then the response status should be 204
|
62
62
|
|