github_api 0.10.2 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +78 -59
- data/features/cassettes/repos/assets/delete.yml +52 -0
- data/features/cassettes/repos/assets/edit.yml +65 -0
- data/features/cassettes/repos/assets/get.yml +74 -0
- data/features/cassettes/repos/assets/list.yml +73 -0
- data/features/cassettes/repos/assets/upload.yml +66 -0
- data/features/cassettes/repos/list_org.yml +167 -0
- data/features/cassettes/repos/list_org_instance.yml +300 -0
- data/features/cassettes/repos/releases/create.yml +64 -0
- data/features/cassettes/repos/releases/delete.yml +52 -0
- data/features/cassettes/repos/releases/edit.yml +63 -0
- data/features/cassettes/repos/releases/get.yml +78 -0
- data/features/cassettes/repos/releases/list.yml +81 -0
- data/features/cassettes/search/code.yml +252 -0
- data/features/cassettes/search/code_query.yml +65 -0
- data/features/cassettes/search/issues.yml +616 -170
- data/features/cassettes/search/legacy/email.yml +72 -0
- data/features/cassettes/search/legacy/issues.yml +119 -0
- data/features/cassettes/search/legacy/repos.yml +394 -0
- data/features/cassettes/search/legacy/users.yml +72 -0
- data/features/cassettes/search/legacy/users_keyword.yml +63 -0
- data/features/cassettes/search/repos.yml +375 -364
- data/features/cassettes/search/users.yml +40 -22
- data/features/cassettes/search/users_keyword.yml +51 -56
- data/features/repos.feature +22 -0
- data/features/repos/assets.feature +59 -0
- data/features/repos/releases.feature +58 -0
- data/features/search.feature +24 -13
- data/features/search/legacy.feature +59 -0
- data/features/settings.yml +2 -5
- data/features/step_definitions/github_api_steps.rb +12 -0
- data/lib/github_api/configuration.rb +3 -1
- data/lib/github_api/error.rb +6 -17
- data/lib/github_api/error/unknown_media.rb +18 -0
- data/lib/github_api/params_hash.rb +20 -10
- data/lib/github_api/repos.rb +26 -15
- data/lib/github_api/repos/releases.rb +146 -0
- data/lib/github_api/repos/releases/assets.rb +126 -0
- data/lib/github_api/request.rb +14 -9
- data/lib/github_api/resource.rb +8 -1
- data/lib/github_api/search.rb +68 -27
- data/lib/github_api/search/legacy.rb +94 -0
- data/lib/github_api/ssl_certs/cacert.pem +41 -0
- data/lib/github_api/ssl_certs/cacerts.pem +2183 -0
- data/lib/github_api/version.rb +2 -2
- data/spec/fixtures/repos/asset.json +12 -0
- data/spec/fixtures/repos/assets.json +14 -0
- data/spec/fixtures/repos/release.json +15 -0
- data/spec/fixtures/repos/releases.json +17 -0
- data/spec/fixtures/search/code.json +76 -0
- data/spec/fixtures/search/issues.json +47 -16
- data/spec/fixtures/search/issues_legacy.json +23 -0
- data/spec/fixtures/search/repos.json +39 -0
- data/spec/fixtures/search/{repositories.json → repos_legacy.json} +0 -0
- data/spec/fixtures/search/users.json +15 -19
- data/spec/fixtures/search/users_legacy.json +24 -0
- data/spec/github/configuration_spec.rb +2 -0
- data/spec/github/error/unknown_media_spec.rb +21 -0
- data/spec/github/git_data/references/create_spec.rb +1 -1
- data/spec/github/git_data/references/get_spec.rb +6 -4
- data/spec/github/git_data/references/list_spec.rb +6 -16
- data/spec/github/pagination/iterator/number_spec.rb +2 -2
- data/spec/github/pagination/iterator/sha_spec.rb +2 -2
- data/spec/github/params_hash_spec.rb +6 -0
- data/spec/github/repos/assets/delete_spec.rb +40 -0
- data/spec/github/repos/assets/edit_spec.rb +40 -0
- data/spec/github/repos/assets/get_spec.rb +45 -0
- data/spec/github/repos/assets/list_spec.rb +55 -0
- data/spec/github/repos/assets/upload_spec.rb +44 -0
- data/spec/github/repos/downloads/upload_spec.rb +5 -5
- data/spec/github/repos/releases/create_spec.rb +44 -0
- data/spec/github/repos/releases/delete_spec.rb +40 -0
- data/spec/github/repos/releases/edit_spec.rb +40 -0
- data/spec/github/repos/releases/get_spec.rb +45 -0
- data/spec/github/repos/releases/list_spec.rb +54 -0
- data/spec/github/request/endpoint_spec.rb +1 -3
- data/spec/github/request/request_spec.rb +4 -8
- data/spec/github/request_spec.rb +3 -3
- data/spec/github/response_wrapper_spec.rb +3 -3
- data/spec/github/s3_uploader_spec.rb +2 -3
- data/spec/github/search/code_spec.rb +38 -0
- data/spec/github/search/issues_spec.rb +38 -0
- data/spec/github/search/legacy/email_spec.rb +34 -0
- data/spec/github/search/legacy/issues_spec.rb +39 -0
- data/spec/github/search/legacy/repos_spec.rb +36 -0
- data/spec/github/search/legacy/users_spec.rb +36 -0
- data/spec/github/search/repos_spec.rb +38 -0
- data/spec/github/search/users_spec.rb +38 -0
- data/spec/github/users/get_spec.rb +1 -1
- data/spec/github/validations/presence_spec.rb +2 -5
- data/spec/integration/repos_spec.rb +4 -0
- data/spec/integration/search_spec.rb +12 -0
- metadata +122 -62
- data/features/cassettes/search/email.yml +0 -99
- data/spec/github/search_spec.rb +0 -102
@@ -2,53 +2,71 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://<BASIC_AUTH>@api.github.com/
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/search/users?access_token=<TOKEN>&q=wycats
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
8
|
string: ""
|
9
9
|
headers:
|
10
|
-
Accept-Encoding:
|
11
|
-
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
10
|
Accept:
|
13
|
-
-
|
11
|
+
- application/vnd.github.preview
|
12
|
+
Accept-Charset:
|
13
|
+
- utf-8
|
14
14
|
User-Agent:
|
15
|
-
- Ruby
|
15
|
+
- Github Ruby Gem 0.10.2
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
18
|
response:
|
17
19
|
status:
|
18
20
|
code: 200
|
19
21
|
message: OK
|
20
22
|
headers:
|
21
23
|
Server:
|
22
|
-
-
|
24
|
+
- GitHub.com
|
23
25
|
Date:
|
24
|
-
-
|
26
|
+
- Mon, 23 Sep 2013 06:13:48 GMT
|
25
27
|
Content-Type:
|
26
28
|
- application/json; charset=utf-8
|
27
29
|
Transfer-Encoding:
|
28
30
|
- chunked
|
29
|
-
Connection:
|
30
|
-
- keep-alive
|
31
31
|
Status:
|
32
32
|
- 200 OK
|
33
33
|
X-Ratelimit-Limit:
|
34
|
-
- "
|
35
|
-
Etag:
|
36
|
-
- "\"a934f063ddc0a5ee9ac2a1e367e74385\""
|
34
|
+
- "20"
|
37
35
|
X-Ratelimit-Remaining:
|
38
|
-
- "
|
36
|
+
- "19"
|
37
|
+
X-Ratelimit-Reset:
|
38
|
+
- "1379916888"
|
39
|
+
Cache-Control:
|
40
|
+
- no-cache
|
41
|
+
X-Github-Media-Type:
|
42
|
+
- github.preview
|
43
|
+
X-Content-Type-Options:
|
44
|
+
- nosniff
|
45
|
+
Access-Control-Allow-Credentials:
|
46
|
+
- "true"
|
47
|
+
Access-Control-Expose-Headers:
|
48
|
+
- ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
|
49
|
+
Access-Control-Allow-Origin:
|
50
|
+
- "*"
|
51
|
+
X-Github-Request-Id:
|
52
|
+
- 568653B5:4E85:E52DC5:523FDC1C
|
53
|
+
Vary:
|
54
|
+
- Accept-Encoding
|
39
55
|
Content-Encoding:
|
40
56
|
- gzip
|
41
57
|
body:
|
42
58
|
encoding: ASCII-8BIT
|
43
59
|
string: !binary |
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
60
|
+
H4sIAAAAAAAAA5WSUWuDMBDHv0ugb8U00RoVxtjLvsGexigxRg3YRJJo6aTf
|
61
|
+
fRfd2q4PG4Jg9O73v3/ubkLeeN4dhBm0RwXZIuXl0aHifUKdaZRGBTqdBfcO
|
62
|
+
QahCRbJFfOSe28NgOwi23veuwHgXNXYJRMIc8XLECc1IyngsBaM03pc8Z4Sk
|
63
|
+
NKdJktN0lz9XT7PAJn7Z0Fd4VCW1V8JoFzXKt0MZ1OA/z1hdpyzntI4lI1VO
|
64
|
+
MsJTVrJ9QgmlIup1Aw5/PByCVfRfdQB+X4L36q4sHpy0Dl+v3/pj93Drm8db
|
65
|
+
Wm26zpyAfMj9QxxfGbC0nJVuVvPATNj4VsJwwPolNEQ5v8bInD/h8IIeBgUH
|
66
|
+
s7ayWmHmmwArJw0uJmxlb2apoXTCqt4rmO8awXsOdIxtuFaffK0OcGGNg501
|
67
|
+
5ed84OQIu7kGXIAJ91aNXJxDC6wUUo3QztViDyRo+XMvYcvfYNShucJY+KRZ
|
68
|
+
EpGMpfTycfkC8Qf+Et0DAAA=
|
51
69
|
|
52
70
|
http_version:
|
53
|
-
recorded_at:
|
54
|
-
recorded_with: VCR 2.
|
71
|
+
recorded_at: Mon, 23 Sep 2013 06:13:48 GMT
|
72
|
+
recorded_with: VCR 2.5.0
|
@@ -1,70 +1,65 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
4
|
method: get
|
5
|
-
uri: https://<BASIC_AUTH>@api.github.com/
|
6
|
-
body:
|
5
|
+
uri: https://<BASIC_AUTH>@api.github.com/search/users?access_token=<TOKEN>&q=location:Sheffield%2520repos:20
|
6
|
+
body:
|
7
7
|
encoding: US-ASCII
|
8
|
-
string:
|
9
|
-
headers:
|
10
|
-
Accept:
|
11
|
-
- application/vnd.github.
|
12
|
-
Accept-Charset:
|
8
|
+
string: ""
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/vnd.github.preview
|
12
|
+
Accept-Charset:
|
13
13
|
- utf-8
|
14
|
-
User-Agent:
|
15
|
-
- Github Ruby Gem 0.
|
16
|
-
|
17
|
-
- application/json
|
18
|
-
Accept-Encoding:
|
14
|
+
User-Agent:
|
15
|
+
- Github Ruby Gem 0.10.2
|
16
|
+
Accept-Encoding:
|
19
17
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
-
response:
|
21
|
-
status:
|
18
|
+
response:
|
19
|
+
status:
|
22
20
|
code: 200
|
23
21
|
message: OK
|
24
|
-
headers:
|
25
|
-
Server:
|
22
|
+
headers:
|
23
|
+
Server:
|
26
24
|
- GitHub.com
|
27
|
-
Date:
|
28
|
-
-
|
29
|
-
Content-Type:
|
25
|
+
Date:
|
26
|
+
- Mon, 23 Sep 2013 06:14:16 GMT
|
27
|
+
Content-Type:
|
30
28
|
- application/json; charset=utf-8
|
31
|
-
Transfer-Encoding:
|
29
|
+
Transfer-Encoding:
|
32
30
|
- chunked
|
33
|
-
|
34
|
-
- keep-alive
|
35
|
-
Status:
|
31
|
+
Status:
|
36
32
|
- 200 OK
|
37
|
-
X-Ratelimit-Limit:
|
38
|
-
-
|
39
|
-
X-Ratelimit-Remaining:
|
40
|
-
-
|
41
|
-
X-
|
42
|
-
-
|
43
|
-
|
33
|
+
X-Ratelimit-Limit:
|
34
|
+
- "20"
|
35
|
+
X-Ratelimit-Remaining:
|
36
|
+
- "18"
|
37
|
+
X-Ratelimit-Reset:
|
38
|
+
- "1379916888"
|
39
|
+
Cache-Control:
|
40
|
+
- no-cache
|
41
|
+
X-Github-Media-Type:
|
42
|
+
- github.preview
|
43
|
+
X-Content-Type-Options:
|
44
44
|
- nosniff
|
45
|
-
Access-Control-Allow-Credentials:
|
46
|
-
-
|
47
|
-
Access-Control-Expose-Headers:
|
48
|
-
- Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
|
49
|
-
Access-Control-Allow-Origin:
|
50
|
-
-
|
51
|
-
|
52
|
-
-
|
53
|
-
|
54
|
-
- max-age=0, private, must-revalidate
|
55
|
-
Vary:
|
45
|
+
Access-Control-Allow-Credentials:
|
46
|
+
- "true"
|
47
|
+
Access-Control-Expose-Headers:
|
48
|
+
- ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes
|
49
|
+
Access-Control-Allow-Origin:
|
50
|
+
- "*"
|
51
|
+
X-Github-Request-Id:
|
52
|
+
- 568653B5:46FF:E24F03:523FDC37
|
53
|
+
Vary:
|
56
54
|
- Accept-Encoding
|
57
|
-
Content-Encoding:
|
55
|
+
Content-Encoding:
|
58
56
|
- gzip
|
59
|
-
body:
|
57
|
+
body:
|
60
58
|
encoding: ASCII-8BIT
|
61
|
-
string: !binary
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
http_version: !!null
|
69
|
-
recorded_at: Sat, 18 May 2013 13:33:41 GMT
|
70
|
-
recorded_with: VCR 2.4.0
|
59
|
+
string: !binary |
|
60
|
+
H4sIAAAAAAAAA6tWKskvScyJT84vzStRsjLQUcosSc0tVrKKjq0FAKQh8rEc
|
61
|
+
AAAA
|
62
|
+
|
63
|
+
http_version:
|
64
|
+
recorded_at: Mon, 23 Sep 2013 06:14:16 GMT
|
65
|
+
recorded_with: VCR 2.5.0
|
data/features/repos.feature
CHANGED
@@ -44,6 +44,28 @@ Feature: Repositories API
|
|
44
44
|
And the response type should be JSON
|
45
45
|
And the response should not be empty
|
46
46
|
|
47
|
+
Scenario: All repositories for an organization
|
48
|
+
|
49
|
+
Given I want to list resources
|
50
|
+
And I pass the following request options:
|
51
|
+
| org |
|
52
|
+
| rspec |
|
53
|
+
When I make request within a cassette named "repos/list_org"
|
54
|
+
Then the response status should be 200
|
55
|
+
And the response type should be JSON
|
56
|
+
And the response should have 11 items
|
57
|
+
|
58
|
+
Scenario: All repositories for an organization set on instance
|
59
|
+
|
60
|
+
Given I set the following attributes of instance:
|
61
|
+
| org |
|
62
|
+
| rails |
|
63
|
+
Given I want to list resources
|
64
|
+
When I make request within a cassette named "repos/list_org_instance"
|
65
|
+
Then the response status should be 200
|
66
|
+
And the response type should be JSON
|
67
|
+
And the response should have 30 items
|
68
|
+
|
47
69
|
Scenario: All repositories
|
48
70
|
|
49
71
|
Given I want to list resources with the following params:
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Feature: Release Assets API
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given I have "Github::Repos::Releases::Assets" instance
|
5
|
+
And I do not verify ssl
|
6
|
+
|
7
|
+
Scenario: List
|
8
|
+
|
9
|
+
Given I want to list resources with the following params:
|
10
|
+
| owner | repo | id |
|
11
|
+
| ase-lab | CocoaLumberjackFramework | 83441 |
|
12
|
+
When I make request within a cassette named "repos/assets/list"
|
13
|
+
Then the response status should be 200
|
14
|
+
And the response type should be JSON
|
15
|
+
And the response should not be empty
|
16
|
+
|
17
|
+
Scenario: Get
|
18
|
+
|
19
|
+
Given I want to get resource with the following params:
|
20
|
+
| owner | repo | id |
|
21
|
+
| ase-lab | CocoaLumberjackFramework | 33546 |
|
22
|
+
When I make request within a cassette named "repos/assets/get"
|
23
|
+
Then the response status should be 200
|
24
|
+
And the response type should be JSON
|
25
|
+
And the response should not be empty
|
26
|
+
|
27
|
+
Scenario: Upload
|
28
|
+
|
29
|
+
Given I want to upload resource with the following params:
|
30
|
+
| owner | repo | id | filepath |
|
31
|
+
| murek | github_api_test | 54999 | Rakefile |
|
32
|
+
And I pass the following request options:
|
33
|
+
| name |
|
34
|
+
| Rakefile |
|
35
|
+
When I make request within a cassette named "repos/assets/upload"
|
36
|
+
Then the response status should be 201
|
37
|
+
And the response type should be JSON
|
38
|
+
And the response should not be empty
|
39
|
+
|
40
|
+
Scenario: Edit
|
41
|
+
|
42
|
+
Given I want to edit resource with the following params:
|
43
|
+
| owner | repo | id |
|
44
|
+
| murek | github_api_test | 46084 |
|
45
|
+
And I pass the following request options:
|
46
|
+
| name | label |
|
47
|
+
| Rake | Ruby code |
|
48
|
+
When I make request within a cassette named "repos/assets/edit"
|
49
|
+
Then the response status should be 200
|
50
|
+
And the response type should be JSON
|
51
|
+
And the response should not be empty
|
52
|
+
|
53
|
+
Scenario: Delete
|
54
|
+
|
55
|
+
Given I want to delete resource with the following params:
|
56
|
+
| owner | repo | id |
|
57
|
+
| murek | github_api_test | 46073 |
|
58
|
+
When I make request within a cassette named "repos/assets/delete"
|
59
|
+
Then the response status should be 204
|
@@ -0,0 +1,58 @@
|
|
1
|
+
Feature: Releases API
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given I have "Github::Repos::Releases" instance
|
5
|
+
|
6
|
+
Scenario: List
|
7
|
+
|
8
|
+
Given I want to list resources with the following params:
|
9
|
+
| owner | repo |
|
10
|
+
| ase-lab | CocoaLumberjackFramework |
|
11
|
+
When I make request within a cassette named "repos/releases/list"
|
12
|
+
Then the response status should be 200
|
13
|
+
And the response type should be JSON
|
14
|
+
And the response should not be empty
|
15
|
+
|
16
|
+
Scenario: Get
|
17
|
+
|
18
|
+
Given I want to get resource with the following params:
|
19
|
+
| owner | repo | id |
|
20
|
+
| ase-lab | CocoaLumberjackFramework | 16963 |
|
21
|
+
When I make request within a cassette named "repos/releases/get"
|
22
|
+
Then the response status should be 200
|
23
|
+
And the response type should be JSON
|
24
|
+
And the response should not be empty
|
25
|
+
|
26
|
+
Scenario: Create
|
27
|
+
|
28
|
+
Given I want to create resource with the following params:
|
29
|
+
| owner | repo | tag_name |
|
30
|
+
| murek | github_api_test | v1.0.0 |
|
31
|
+
And I pass the following request options:
|
32
|
+
| name | body | draft | target_commitish |
|
33
|
+
| v1.0.0 | Main release | false | master |
|
34
|
+
When I make request within a cassette named "repos/releases/create"
|
35
|
+
Then the response status should be 201
|
36
|
+
And the response type should be JSON
|
37
|
+
And the response should not be empty
|
38
|
+
|
39
|
+
Scenario: Edit
|
40
|
+
|
41
|
+
Given I want to edit resource with the following params:
|
42
|
+
| owner | repo | id |
|
43
|
+
| murek | github_api_test | 54999 |
|
44
|
+
And I pass the following request options:
|
45
|
+
| name | body | draft | target_commitish |
|
46
|
+
| v1.0.0 | Main release | false | master |
|
47
|
+
When I make request within a cassette named "repos/releases/edit"
|
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: Delete
|
53
|
+
|
54
|
+
Given I want to delete resource with the following params:
|
55
|
+
| owner | repo | id |
|
56
|
+
| murek | github_api_test | 83539 |
|
57
|
+
When I make request within a cassette named "repos/releases/delete"
|
58
|
+
Then the response status should be 204
|
data/features/search.feature
CHANGED
@@ -7,8 +7,8 @@ Feature: Search API
|
|
7
7
|
|
8
8
|
Given I want issues resource
|
9
9
|
And I pass the following request options:
|
10
|
-
|
|
11
|
-
|
|
10
|
+
| q | sort |
|
11
|
+
| tty | created |
|
12
12
|
When I make request within a cassette named "search/issues"
|
13
13
|
Then the response status should be 200
|
14
14
|
And the response type should be JSON
|
@@ -18,8 +18,8 @@ Feature: Search API
|
|
18
18
|
|
19
19
|
Given I want repositories resource
|
20
20
|
And I pass the following request options:
|
21
|
-
|
|
22
|
-
| rails
|
21
|
+
| q | sort |
|
22
|
+
| rails | created |
|
23
23
|
When I make request within a cassette named "search/repos"
|
24
24
|
Then the response status should be 200
|
25
25
|
And the response type should be JSON
|
@@ -29,31 +29,42 @@ Feature: Search API
|
|
29
29
|
|
30
30
|
Given I want users resource
|
31
31
|
And I pass the following request options:
|
32
|
-
|
|
33
|
-
| wycats
|
32
|
+
| q |
|
33
|
+
| wycats |
|
34
34
|
When I make request within a cassette named "search/users"
|
35
35
|
Then the response status should be 200
|
36
36
|
And the response type should be JSON
|
37
37
|
And the response should not be empty
|
38
38
|
|
39
|
-
Scenario: Users with
|
39
|
+
Scenario: Users with search parameters
|
40
40
|
|
41
41
|
Given I want users resource
|
42
42
|
And I pass the following request options:
|
43
|
-
|
|
43
|
+
| q |
|
44
44
|
| location:Sheffield repos:20 |
|
45
45
|
When I make request within a cassette named "search/users_keyword"
|
46
46
|
Then the response status should be 200
|
47
47
|
And the response type should be JSON
|
48
48
|
And the response should not be empty
|
49
49
|
|
50
|
-
Scenario:
|
50
|
+
Scenario: Code
|
51
51
|
|
52
|
-
Given I want
|
52
|
+
Given I want code resource
|
53
53
|
And I pass the following request options:
|
54
|
-
|
|
55
|
-
|
|
56
|
-
When I make request within a cassette named "search/
|
54
|
+
| q | sort |
|
55
|
+
| tty | indexed |
|
56
|
+
When I make request within a cassette named "search/code"
|
57
|
+
Then the response status should be 200
|
58
|
+
And the response type should be JSON
|
59
|
+
And the response should not be empty
|
60
|
+
|
61
|
+
Scenario: Code with search paramters
|
62
|
+
|
63
|
+
Given I want code resource
|
64
|
+
And I pass the following request options:
|
65
|
+
| q | sort |
|
66
|
+
| tty repo:peter-murach/tty | indexed |
|
67
|
+
When I make request within a cassette named "search/code_query"
|
57
68
|
Then the response status should be 200
|
58
69
|
And the response type should be JSON
|
59
70
|
And the response should not be empty
|
@@ -0,0 +1,59 @@
|
|
1
|
+
Feature: Legacy Search API
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given I have "Github::Search::Legacy" instance
|
5
|
+
|
6
|
+
Scenario: Issues
|
7
|
+
|
8
|
+
Given I want issues resource
|
9
|
+
And I pass the following request options:
|
10
|
+
| owner | repo | state | keyword |
|
11
|
+
| peter-murach | github | closed | api |
|
12
|
+
When I make request within a cassette named "search/legacy/issues"
|
13
|
+
Then the response status should be 200
|
14
|
+
And the response type should be JSON
|
15
|
+
And the response should not be empty
|
16
|
+
|
17
|
+
Scenario: Repositories
|
18
|
+
|
19
|
+
Given I want repositories resource
|
20
|
+
And I pass the following request options:
|
21
|
+
| keyword | language | sort |
|
22
|
+
| rails | ruby | stars |
|
23
|
+
When I make request within a cassette named "search/legacy/repos"
|
24
|
+
Then the response status should be 200
|
25
|
+
And the response type should be JSON
|
26
|
+
And the response should not be empty
|
27
|
+
|
28
|
+
Scenario: Users
|
29
|
+
|
30
|
+
Given I want users resource
|
31
|
+
And I pass the following request options:
|
32
|
+
| keyword |
|
33
|
+
| wycats |
|
34
|
+
When I make request within a cassette named "search/legacy/users"
|
35
|
+
Then the response status should be 200
|
36
|
+
And the response type should be JSON
|
37
|
+
And the response should not be empty
|
38
|
+
|
39
|
+
Scenario: Users with complex keyword
|
40
|
+
|
41
|
+
Given I want users resource
|
42
|
+
And I pass the following request options:
|
43
|
+
| keyword |
|
44
|
+
| location:Sheffield repos:20 |
|
45
|
+
When I make request within a cassette named "search/legacy/users_keyword"
|
46
|
+
Then the response status should be 200
|
47
|
+
And the response type should be JSON
|
48
|
+
And the response should not be empty
|
49
|
+
|
50
|
+
Scenario: Email
|
51
|
+
|
52
|
+
Given I want email resource
|
53
|
+
And I pass the following request options:
|
54
|
+
| email |
|
55
|
+
| wycats@gmail.com |
|
56
|
+
When I make request within a cassette named "search/legacy/email"
|
57
|
+
Then the response status should be 200
|
58
|
+
And the response type should be JSON
|
59
|
+
And the response should not be empty
|