github_api 0.10.2 → 0.11.0
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.
- 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
|