From 3d5f4b2ffa5d510455e58b1209c31f4d1b211306 Mon Sep 17 00:00:00 2001 From: Georgios Gousios Date: Sun, 11 Oct 2020 10:38:28 +0200 Subject: [PATCH] Remove tests and Travis integration --- .travis.yml | 4 - fixtures/vcr_cassettes/bing_geolocate.yml | 145 -- .../vcr_cassettes/github_get_branch_diff.yml | 103 - .../github_get_commit_comments.yml | 305 --- fixtures/vcr_cassettes/github_get_events.yml | 1880 ----------------- .../vcr_cassettes/github_get_followers.yml | 388 ---- .../vcr_cassettes/github_get_issue_labels.yml | 82 - .../vcr_cassettes/github_get_org_members.yml | 79 - fixtures/vcr_cassettes/github_get_repo.yml | 87 - .../vcr_cassettes/github_get_repo_forks.yml | 233 -- .../github_get_repo_issue_comments.yml | 229 -- .../github_get_repo_issue_events.yml | 229 -- .../vcr_cassettes/github_get_repo_issues.yml | 393 ---- .../vcr_cassettes/github_get_repo_labels.yml | 785 ------- .../github_get_repo_languages.yml | 81 - .../vcr_cassettes/github_get_repo_prs.yml | 701 ------ .../vcr_cassettes/github_get_repo_topics.yml | 155 -- .../github_get_repo_watchers.yml | 234 -- fixtures/vcr_cassettes/github_get_user.yml | 230 -- .../github_get_user_by_email.yml | 679 ------ .../vcr_cassettes/github_get_user_commits.yml | 326 --- .../github_get_user_following.yml | 155 -- .../github_get_user_organizations.yml | 234 -- .../vcr_cassettes/github_get_user_repo.yml | 151 -- fixtures/vcr_cassettes/legacy_user_search.yml | 158 -- fixtures/vcr_cassettes/osm_geolocate.yml | 183 -- sql/ght-dump-mysql | 3 +- test/factories/commit.rb | 42 - test/factories/commit_comments.rb | 32 - test/factories/factory_overrides.rb | 25 - test/factories/follower.rb | 22 - test/factories/issue.rb | 56 - test/factories/issue_comment.rb | 41 - test/factories/issue_event.rb | 50 - test/factories/issue_label.rb | 39 - test/factories/organization_member.rb | 9 - test/factories/project.rb | 55 - test/factories/project_topic.rb | 9 - test/factories/pull_request.rb | 62 - test/factories/pull_request_comment.rb | 54 - test/factories/pull_request_commit.rb | 48 - test/factories/repo_label.rb | 40 - test/factories/user.rb | 46 - test/factories/watcher.rb | 22 - test/helpers/minitest_trx.rb | 29 - test/helpers/shared.rb | 3 - test/test_helper.rb | 25 - test/unit/api_client_test.rb | 121 -- test/unit/commits_test.rb | 357 ---- test/unit/db_transaction_test.rb | 27 - test/unit/event_processing_test.rb | 265 --- test/unit/follower_test.rb | 81 - test/unit/fork_commit_test.rb | 47 - test/unit/fork_test.rb | 90 - test/unit/geolocator_test.rb | 81 - test/unit/ghtime_test.rb | 10 - test/unit/ghtorrent_test.rb | 72 - test/unit/hash_test.rb | 22 - test/unit/issue_comment_test.rb | 142 -- test/unit/issue_event_test.rb | 166 -- test/unit/issue_label_test.rb | 154 -- test/unit/issue_test.rb | 215 -- test/unit/logging_test.rb | 60 - test/unit/multiprocess_queue_client_test.rb | 72 - test/unit/org_test.rb | 25 - test/unit/persister_test.rb | 18 - test/unit/pull_requests_test.rb | 489 ----- test/unit/repo_label_test.rb | 73 - test/unit/repo_test.rb | 158 -- test/unit/retriever_test.rb | 758 ------- test/unit/settings_test.rb | 47 - test/unit/transacted_ghtorrent_test.rb | 42 - test/unit/user_test.rb | 107 - test/unit/utils_test.rb | 51 - test/unit/watcher_test.rb | 76 - 75 files changed, 2 insertions(+), 12765 deletions(-) delete mode 100644 .travis.yml delete mode 100644 fixtures/vcr_cassettes/bing_geolocate.yml delete mode 100644 fixtures/vcr_cassettes/github_get_branch_diff.yml delete mode 100644 fixtures/vcr_cassettes/github_get_commit_comments.yml delete mode 100644 fixtures/vcr_cassettes/github_get_events.yml delete mode 100644 fixtures/vcr_cassettes/github_get_followers.yml delete mode 100644 fixtures/vcr_cassettes/github_get_issue_labels.yml delete mode 100644 fixtures/vcr_cassettes/github_get_org_members.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_forks.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_issue_comments.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_issue_events.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_issues.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_labels.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_languages.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_prs.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_topics.yml delete mode 100644 fixtures/vcr_cassettes/github_get_repo_watchers.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user_by_email.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user_commits.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user_following.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user_organizations.yml delete mode 100644 fixtures/vcr_cassettes/github_get_user_repo.yml delete mode 100644 fixtures/vcr_cassettes/legacy_user_search.yml delete mode 100644 fixtures/vcr_cassettes/osm_geolocate.yml delete mode 100644 test/factories/commit.rb delete mode 100644 test/factories/commit_comments.rb delete mode 100644 test/factories/factory_overrides.rb delete mode 100644 test/factories/follower.rb delete mode 100644 test/factories/issue.rb delete mode 100644 test/factories/issue_comment.rb delete mode 100644 test/factories/issue_event.rb delete mode 100644 test/factories/issue_label.rb delete mode 100644 test/factories/organization_member.rb delete mode 100644 test/factories/project.rb delete mode 100644 test/factories/project_topic.rb delete mode 100644 test/factories/pull_request.rb delete mode 100644 test/factories/pull_request_comment.rb delete mode 100644 test/factories/pull_request_commit.rb delete mode 100644 test/factories/repo_label.rb delete mode 100644 test/factories/user.rb delete mode 100644 test/factories/watcher.rb delete mode 100644 test/helpers/minitest_trx.rb delete mode 100644 test/helpers/shared.rb delete mode 100644 test/test_helper.rb delete mode 100644 test/unit/api_client_test.rb delete mode 100644 test/unit/commits_test.rb delete mode 100644 test/unit/db_transaction_test.rb delete mode 100644 test/unit/event_processing_test.rb delete mode 100644 test/unit/follower_test.rb delete mode 100644 test/unit/fork_commit_test.rb delete mode 100644 test/unit/fork_test.rb delete mode 100644 test/unit/geolocator_test.rb delete mode 100644 test/unit/ghtime_test.rb delete mode 100644 test/unit/ghtorrent_test.rb delete mode 100644 test/unit/hash_test.rb delete mode 100644 test/unit/issue_comment_test.rb delete mode 100644 test/unit/issue_event_test.rb delete mode 100644 test/unit/issue_label_test.rb delete mode 100644 test/unit/issue_test.rb delete mode 100644 test/unit/logging_test.rb delete mode 100644 test/unit/multiprocess_queue_client_test.rb delete mode 100644 test/unit/org_test.rb delete mode 100644 test/unit/persister_test.rb delete mode 100644 test/unit/pull_requests_test.rb delete mode 100644 test/unit/repo_label_test.rb delete mode 100644 test/unit/repo_test.rb delete mode 100644 test/unit/retriever_test.rb delete mode 100644 test/unit/settings_test.rb delete mode 100644 test/unit/transacted_ghtorrent_test.rb delete mode 100644 test/unit/user_test.rb delete mode 100644 test/unit/utils_test.rb delete mode 100644 test/unit/watcher_test.rb diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fdf9058..0000000 --- a/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: ruby -rvm: - - 2.3 -script: bundle exec rake test diff --git a/fixtures/vcr_cassettes/bing_geolocate.yml b/fixtures/vcr_cassettes/bing_geolocate.yml deleted file mode 100644 index 591b30e..0000000 --- a/fixtures/vcr_cassettes/bing_geolocate.yml +++ /dev/null @@ -1,145 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: http://dev.virtualearth.net/REST/v1/Locations?key=<%=bing_key%>&q=san%20francisco - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Cache-Control: - - no-cache - Transfer-Encoding: - - chunked - Content-Type: - - application/json; charset=utf-8 - Vary: - - Accept-Encoding - Server: - - Microsoft-IIS/10.0 - X-Bm-Traceid: - - 7b7fced2ecb74ac293ccd163c7193ce8 - X-Bm-Be-Elapsed: - - '76' - X-Msedge-Ref: - - 'Ref A: 1D2D60E570D0481A9C3414279472394E Ref B: HK2EDGE1121 Ref C: 2018-04-24T13:46:55Z' - X-Bm-Fe-Elapsed: - - '91' - X-Bm-Srv: - - HK20300355 - X-Ms-Bm-Ws-Info: - - '0' - Access-Control-Allow-Origin: - - "*" - Access-Control-Allow-Methods: - - POST, GET, OPTIONS - Access-Control-Allow-Headers: - - Content-Type - X-Aspnet-Version: - - 4.0.30319 - X-Powered-By: - - ASP.NET - Date: - - Tue, 24 Apr 2018 13:46:54 GMT - body: - encoding: ASCII-8BIT - string: !binary |- - eyJhdXRoZW50aWNhdGlvblJlc3VsdENvZGUiOiJWYWxpZENyZWRlbnRpYWxz - IiwiYnJhbmRMb2dvVXJpIjoiaHR0cDpcL1wvZGV2LnZpcnR1YWxlYXJ0aC5u - ZXRcL0JyYW5kaW5nXC9sb2dvX3Bvd2VyZWRfYnkucG5nIiwiY29weXJpZ2h0 - IjoiQ29weXJpZ2h0IMKpIDIwMTggTWljcm9zb2Z0IGFuZCBpdHMgc3VwcGxp - ZXJzLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIEFQSSBjYW5ub3QgYmUg - YWNjZXNzZWQgYW5kIHRoZSBjb250ZW50IGFuZCBhbnkgcmVzdWx0cyBtYXkg - bm90IGJlIHVzZWQsIHJlcHJvZHVjZWQgb3IgdHJhbnNtaXR0ZWQgaW4gYW55 - IG1hbm5lciB3aXRob3V0IGV4cHJlc3Mgd3JpdHRlbiBwZXJtaXNzaW9uIGZy - b20gTWljcm9zb2Z0IENvcnBvcmF0aW9uLiIsInJlc291cmNlU2V0cyI6W3si - ZXN0aW1hdGVkVG90YWwiOjUsInJlc291cmNlcyI6W3siX190eXBlIjoiTG9j - YXRpb246aHR0cDpcL1wvc2NoZW1hcy5taWNyb3NvZnQuY29tXC9zZWFyY2hc - L2xvY2FsXC93c1wvcmVzdFwvdjEiLCJiYm94IjpbMzcuNjQ4OTEwNTIyNDYw - OSwtMTIyLjY2MzY1ODE0MjA5LDM3LjkyNTY3NDQzODQ3NjYsLTEyMi4xODMw - NTIwNjI5ODhdLCJuYW1lIjoiU2FuIEZyYW5jaXNjbywgQ0EiLCJwb2ludCI6 - eyJ0eXBlIjoiUG9pbnQiLCJjb29yZGluYXRlcyI6WzM3Ljc3NzExODY4Mjg2 - MTMsLTEyMi40MTk2Mzk1ODc0MDJdfSwiYWRkcmVzcyI6eyJhZG1pbkRpc3Ry - aWN0IjoiQ0EiLCJhZG1pbkRpc3RyaWN0MiI6IlNhbiBGcmFuY2lzY28gQ291 - bnR5IiwiY291bnRyeVJlZ2lvbiI6IlVuaXRlZCBTdGF0ZXMiLCJmb3JtYXR0 - ZWRBZGRyZXNzIjoiU2FuIEZyYW5jaXNjbywgQ0EiLCJsb2NhbGl0eSI6IlNh - biBGcmFuY2lzY28ifSwiY29uZmlkZW5jZSI6IkhpZ2giLCJlbnRpdHlUeXBl - IjoiUG9wdWxhdGVkUGxhY2UiLCJnZW9jb2RlUG9pbnRzIjpbeyJ0eXBlIjoi - UG9pbnQiLCJjb29yZGluYXRlcyI6WzM3Ljc3NzExODY4Mjg2MTMsLTEyMi40 - MTk2Mzk1ODc0MDJdLCJjYWxjdWxhdGlvbk1ldGhvZCI6IlJvb2Z0b3AiLCJ1 - c2FnZVR5cGVzIjpbIkRpc3BsYXkiXX1dLCJtYXRjaENvZGVzIjpbIkFtYmln - dW91cyJdfSx7Il9fdHlwZSI6IkxvY2F0aW9uOmh0dHA6XC9cL3NjaGVtYXMu - bWljcm9zb2Z0LmNvbVwvc2VhcmNoXC9sb2NhbFwvd3NcL3Jlc3RcL3YxIiwi - YmJveCI6WzM3LjYzNjI4NzY4OTIwOSwtMTIyLjY3Nzc0OTYzMzc4OSwzNy45 - MzQyODgwMjQ5MDIzLC0xMjIuMTcwMTg4OTAzODA5XSwibmFtZSI6IlNhbiBG - cmFuY2lzY28gQ291bnR5IiwicG9pbnQiOnsidHlwZSI6IlBvaW50IiwiY29v - cmRpbmF0ZXMiOlszNy43ODI0MDU4NTMyNzE1LC0xMjIuNDEzNDI5MjYwMjU0 - XX0sImFkZHJlc3MiOnsiYWRtaW5EaXN0cmljdCI6IkNBIiwiYWRtaW5EaXN0 - cmljdDIiOiJTYW4gRnJhbmNpc2NvIENvdW50eSIsImNvdW50cnlSZWdpb24i - OiJVbml0ZWQgU3RhdGVzIiwiZm9ybWF0dGVkQWRkcmVzcyI6IlNhbiBGcmFu - Y2lzY28gQ291bnR5In0sImNvbmZpZGVuY2UiOiJNZWRpdW0iLCJlbnRpdHlU - eXBlIjoiQWRtaW5EaXZpc2lvbjIiLCJnZW9jb2RlUG9pbnRzIjpbeyJ0eXBl - IjoiUG9pbnQiLCJjb29yZGluYXRlcyI6WzM3Ljc4MjQwNTg1MzI3MTUsLTEy - Mi40MTM0MjkyNjAyNTRdLCJjYWxjdWxhdGlvbk1ldGhvZCI6IlJvb2Z0b3Ai - LCJ1c2FnZVR5cGVzIjpbIkRpc3BsYXkiXX1dLCJtYXRjaENvZGVzIjpbIkFt - YmlndW91cyJdfSx7Il9fdHlwZSI6IkxvY2F0aW9uOmh0dHA6XC9cL3NjaGVt - YXMubWljcm9zb2Z0LmNvbVwvc2VhcmNoXC9sb2NhbFwvd3NcL3Jlc3RcL3Yx - IiwiYmJveCI6Wy0zMS40MzAzMTEyMDMwMDI5LC02NC4yMTM5OTY4ODcyMDcs - LTMxLjQyMTgxNTg3MjE5MjQsLTY0LjIwOTA3NTkyNzczNDRdLCJuYW1lIjoi - QmFycmlvIFNhbiBGcmFuY2lzY28sIEFyZ2VudGluYSIsInBvaW50Ijp7InR5 - cGUiOiJQb2ludCIsImNvb3JkaW5hdGVzIjpbLTMxLjQyNjA2MzUzNzU5Nzcs - LTY0LjIxMTU0MDIyMjE2OF19LCJhZGRyZXNzIjp7ImFkbWluRGlzdHJpY3Qi - OiJDb3Jkb2JhIiwiY291bnRyeVJlZ2lvbiI6IkFyZ2VudGluYSIsImZvcm1h - dHRlZEFkZHJlc3MiOiJCYXJyaW8gU2FuIEZyYW5jaXNjbywgQXJnZW50aW5h - IiwibG9jYWxpdHkiOiJDb3Jkb2JhIn0sImNvbmZpZGVuY2UiOiJMb3ciLCJl - bnRpdHlUeXBlIjoiTmVpZ2hib3Job29kIiwiZ2VvY29kZVBvaW50cyI6W3si - dHlwZSI6IlBvaW50IiwiY29vcmRpbmF0ZXMiOlstMzEuNDI2MDYzNTM3NTk3 - NywtNjQuMjExNTQwMjIyMTY4XSwiY2FsY3VsYXRpb25NZXRob2QiOiJSb29m - dG9wIiwidXNhZ2VUeXBlcyI6WyJEaXNwbGF5Il19XSwibWF0Y2hDb2RlcyI6 - WyJBbWJpZ3VvdXMiXX0seyJfX3R5cGUiOiJMb2NhdGlvbjpodHRwOlwvXC9z - Y2hlbWFzLm1pY3Jvc29mdC5jb21cL3NlYXJjaFwvbG9jYWxcL3dzXC9yZXN0 - XC92MSIsImJib3giOls4LjIwMTQxMDI5MzU3OTEsLTgxLjAzMTI3Mjg4ODE4 - MzYsOC4yOTEzNzk5Mjg1ODg4NywtODAuOTI3Mjc2NjExMzI4MV0sIm5hbWUi - OiJTYW4gRnJhbmNpc2NvLCBQYW5hbWEiLCJwb2ludCI6eyJ0eXBlIjoiUG9p - bnQiLCJjb29yZGluYXRlcyI6WzguMjQ2NTg5NjYwNjQ0NTMsLTgwLjk5MDA4 - OTQxNjUwMzldfSwiYWRkcmVzcyI6eyJhZG1pbkRpc3RyaWN0IjoiVmVyYWd1 - YXMiLCJhZG1pbkRpc3RyaWN0MiI6IkRpc3RyaXRvIFNhbiBGcmFuY2lzY28i - LCJjb3VudHJ5UmVnaW9uIjoiUGFuYW1hIiwiZm9ybWF0dGVkQWRkcmVzcyI6 - IlNhbiBGcmFuY2lzY28sIFBhbmFtYSIsImxvY2FsaXR5IjoiU2FuIEZyYW5j - aXNjbyJ9LCJjb25maWRlbmNlIjoiTG93IiwiZW50aXR5VHlwZSI6IlBvcHVs - YXRlZFBsYWNlIiwiZ2VvY29kZVBvaW50cyI6W3sidHlwZSI6IlBvaW50Iiwi - Y29vcmRpbmF0ZXMiOls4LjI0NjU4OTY2MDY0NDUzLC04MC45OTAwODk0MTY1 - MDM5XSwiY2FsY3VsYXRpb25NZXRob2QiOiJSb29mdG9wIiwidXNhZ2VUeXBl - cyI6WyJEaXNwbGF5Il19XSwibWF0Y2hDb2RlcyI6WyJBbWJpZ3VvdXMiXX0s - eyJfX3R5cGUiOiJMb2NhdGlvbjpodHRwOlwvXC9zY2hlbWFzLm1pY3Jvc29m - dC5jb21cL3NlYXJjaFwvbG9jYWxcL3dzXC9yZXN0XC92MSIsImJib3giOls3 - LjEyNzQwNzIxNDIyMjU0LC03My4xMzA2OTM5Mzc4OTc0LDcuMTM1MTMyNjQ5 - MzYzODksLTczLjEyMDMxMzE0MjE4MDddLCJuYW1lIjoiU2FuIEZyYW5jaXNj - bywgQ29sb21iaWEiLCJwb2ludCI6eyJ0eXBlIjoiUG9pbnQiLCJjb29yZGlu - YXRlcyI6WzcuMTMxMjY5OTMxNzkzMjEsLTczLjEyNTUwMzU0MDAzOTFdfSwi - YWRkcmVzcyI6eyJhZG1pbkRpc3RyaWN0IjoiU1QiLCJjb3VudHJ5UmVnaW9u - IjoiQ29sb21iaWEiLCJmb3JtYXR0ZWRBZGRyZXNzIjoiU2FuIEZyYW5jaXNj - bywgQ29sb21iaWEiLCJsb2NhbGl0eSI6IlNhbiBGcmFuY2lzY28ifSwiY29u - ZmlkZW5jZSI6IkxvdyIsImVudGl0eVR5cGUiOiJQYXJrIiwiZ2VvY29kZVBv - aW50cyI6W3sidHlwZSI6IlBvaW50IiwiY29vcmRpbmF0ZXMiOls3LjEzMTI2 - OTkzMTc5MzIxLC03My4xMjU1MDM1NDAwMzkxXSwiY2FsY3VsYXRpb25NZXRo - b2QiOiJSb29mdG9wIiwidXNhZ2VUeXBlcyI6WyJEaXNwbGF5Il19XSwibWF0 - Y2hDb2RlcyI6WyJBbWJpZ3VvdXMiXX1dfV0sInN0YXR1c0NvZGUiOjIwMCwi - c3RhdHVzRGVzY3JpcHRpb24iOiJPSyIsInRyYWNlSWQiOiI3YjdmY2VkMmVj - Yjc0YWMyOTNjY2QxNjNjNzE5M2NlOHxISzIwMzAwMzU1fDcuNy4wLjB8UmVm - IEE6IDFEMkQ2MEU1NzBEMDQ4MUE5QzM0MTQyNzk0NzIzOTRFIFJlZiBCOiBI - SzJFREdFMTEyMSBSZWYgQzogMjAxOC0wNC0yNFQxMzo0Njo1NVoifQ== - http_version: - recorded_at: Tue, 24 Apr 2018 13:46:55 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_branch_diff.yml b/fixtures/vcr_cassettes/github_get_branch_diff.yml deleted file mode 100644 index 32c38de..0000000 --- a/fixtures/vcr_cassettes/github_get_branch_diff.yml +++ /dev/null @@ -1,103 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/compare/master...Priya5:test - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 06:02:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527576699' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"c66d1957cb2940d270893708f94c5353" - Last-Modified: - - Mon, 28 May 2018 09:21:48 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.111022' - X-Github-Request-Id: - - 37C5:3971:158DAE4:30CDF00:5B0CECFC - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/compare/master...Priya5:test","html_url":"https://github.com/Priya5/Test-Project/compare/master...Priya5:test","permalink_url":"https://github.com/Priya5/Test-Project/compare/Priya5:84005a3...Priya5:6076dd7","diff_url":"https://github.com/Priya5/Test-Project/compare/master...Priya5:test.diff","patch_url":"https://github.com/Priya5/Test-Project/compare/master...Priya5:test.patch","base_commit":{"sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-27T18:03:25Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-27T18:03:25Z"},"message":"Create - hello.rb","tree":{"sha":"4eba2e1f766ef1ad725e23270309c809190b62e6","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/4eba2e1f766ef1ad725e23270309c809190b62e6"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbCvLtCRBK7hj4Ov3rIwAAdHIIAF3zDMkCZnXkpc3kh2EqXg9s\nOAuHCwJza+LGYWr0sWkmU5uIup5JrTI4nNXhbWMRfxVH+Y3ZqaWt8PaJYP5sAMmm\nk/se5qAldLVEMhGbp18b6Xfk13c+oe5Xqerhed9C2/ygIrgGihH9ReTaOPBi8yaC\nU7CrLW/zltMJrc2svKoFNcC/XM3i35XN7Dzsp9oo1kXxoZLKRJWME2LpGBPlHzoP\nBIPAv+NZKuhIZRRzDrY7i3lDtahDfsyMtWs6/R7bliJWjDoCovnmcbIccucSH0ly\nJU6vhppkPkLXJ4vPgTLMUZVz6KUBoUHtq0zBpI8PocfoINHzU2Hs/gq0NB3kJSU=\n=rReS\n-----END - PGP SIGNATURE-----\n","payload":"tree 4eba2e1f766ef1ad725e23270309c809190b62e6\nparent - e1f1ada440fb107366d68599107aa365c1e14255\nauthor Priya Rani - 1527444205 +0530\ncommitter GitHub 1527444205 +0530\n\nCreate - hello.rb"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","html_url":"https://github.com/Priya5/Test-Project/commit/84005a38b989c84c7ff6242071c05a14a4c5d476","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[{"sha":"e1f1ada440fb107366d68599107aa365c1e14255","url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255","html_url":"https://github.com/Priya5/Test-Project/commit/e1f1ada440fb107366d68599107aa365c1e14255"}]},"merge_base_commit":{"sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-27T18:03:25Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-27T18:03:25Z"},"message":"Create - hello.rb","tree":{"sha":"4eba2e1f766ef1ad725e23270309c809190b62e6","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/4eba2e1f766ef1ad725e23270309c809190b62e6"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbCvLtCRBK7hj4Ov3rIwAAdHIIAF3zDMkCZnXkpc3kh2EqXg9s\nOAuHCwJza+LGYWr0sWkmU5uIup5JrTI4nNXhbWMRfxVH+Y3ZqaWt8PaJYP5sAMmm\nk/se5qAldLVEMhGbp18b6Xfk13c+oe5Xqerhed9C2/ygIrgGihH9ReTaOPBi8yaC\nU7CrLW/zltMJrc2svKoFNcC/XM3i35XN7Dzsp9oo1kXxoZLKRJWME2LpGBPlHzoP\nBIPAv+NZKuhIZRRzDrY7i3lDtahDfsyMtWs6/R7bliJWjDoCovnmcbIccucSH0ly\nJU6vhppkPkLXJ4vPgTLMUZVz6KUBoUHtq0zBpI8PocfoINHzU2Hs/gq0NB3kJSU=\n=rReS\n-----END - PGP SIGNATURE-----\n","payload":"tree 4eba2e1f766ef1ad725e23270309c809190b62e6\nparent - e1f1ada440fb107366d68599107aa365c1e14255\nauthor Priya Rani - 1527444205 +0530\ncommitter GitHub 1527444205 +0530\n\nCreate - hello.rb"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","html_url":"https://github.com/Priya5/Test-Project/commit/84005a38b989c84c7ff6242071c05a14a4c5d476","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[{"sha":"e1f1ada440fb107366d68599107aa365c1e14255","url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255","html_url":"https://github.com/Priya5/Test-Project/commit/e1f1ada440fb107366d68599107aa365c1e14255"}]},"status":"ahead","ahead_by":1,"behind_by":0,"total_commits":1,"commits":[{"sha":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-28T09:21:48Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-28T09:21:48Z"},"message":"Create - test.rb","tree":{"sha":"7441e048a9a713c2f08bd28af8588526bbc571ac","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/7441e048a9a713c2f08bd28af8588526bbc571ac"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbC8osCRBK7hj4Ov3rIwAAdHIIAAizlaES/cxaxOL0Snw8Ufvk\ncaHXrQMpeFkR6VlCvdUSTmBs+D8TmLIH68ndW6fTUqvNxoC+QuhhMAZ4jusv4e0e\nxU1V4+HEKhibZe6B4yYnZcId2Ne0iZzA4vlEZ9+EuQ0Qa1XiWQCVvOFD4F/tn1Uj\nms9F2TvItT00W37080k5HEon0kTOTGkRALVYlmYHP/TNVmFlQX0fy2U8mR8uAvBK\nN/pGVG6ZjmOvHbHpSwvWG4PZDf0ahSVjXRi0Bo2hZjPSCZSrya8+77q+DzLEUb4g\nH5CEJzMjyL6xYRrhSVw5XZSCe4zNE73US1i3eNtHHjjltFzH/VUx9qHlNApBZMM=\n=x77s\n-----END - PGP SIGNATURE-----\n","payload":"tree 7441e048a9a713c2f08bd28af8588526bbc571ac\nparent - 84005a38b989c84c7ff6242071c05a14a4c5d476\nauthor Priya Rani - 1527499308 +0530\ncommitter GitHub 1527499308 +0530\n\nCreate - test.rb"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","html_url":"https://github.com/Priya5/Test-Project/commit/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[{"sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","html_url":"https://github.com/Priya5/Test-Project/commit/84005a38b989c84c7ff6242071c05a14a4c5d476"}]}],"files":[{"sha":"6c03ce25410614ba0d6ac80921ce1594b86c7c81","filename":"test.rb","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Priya5/Test-Project/blob/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f/test.rb","raw_url":"https://github.com/Priya5/Test-Project/raw/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f/test.rb","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/test.rb?ref=6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","patch":"@@ - -0,0 +1 @@\n+puts \"test\""}]}' - http_version: - recorded_at: Tue, 29 May 2018 06:02:37 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_commit_comments.yml b/fixtures/vcr_cassettes/github_get_commit_comments.yml deleted file mode 100644 index 9f28a1b..0000000 --- a/fixtures/vcr_cassettes/github_get_commit_comments.yml +++ /dev/null @@ -1,305 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f/comments?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 11:31:37 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4993' - X-Ratelimit-Reset: - - '1527594910' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"68f6cb68681e3068114d8aac4119ac50"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.035685' - X-Github-Request-Id: - - BD93:3972:2182D08:491BACC:5B0D3A19 - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Tue, 29 May 2018 11:31:37 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits/3ea09dbd4d643220ddac94d9ada3c001a820a4dc/comments?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 09:59:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"122e4d8bda9367147d3fe3e09813d7d1" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.107902' - X-Github-Request-Id: - - AB0B:3973:3B7E235:7930D25:5B0E7612 - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/comments/29177690","html_url":"https://github.com/Priya5/Test-Project/commit/3ea09dbd4d643220ddac94d9ada3c001a820a4dc#commitcomment-29177690","id":29177690,"user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"3ea09dbd4d643220ddac94d9ada3c001a820a4dc","created_at":"2018-05-30T09:57:39Z","updated_at":"2018-05-30T09:57:39Z","author_association":"OWNER","body":"Need - to test"}]' - http_version: - recorded_at: Wed, 30 May 2018 09:59:47 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/comments/1?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:09:05 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527677987' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.031883' - X-Github-Request-Id: - - A351:3972:2839B3C:577E43A:5B0E7841 - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment"}' - http_version: - recorded_at: Wed, 30 May 2018 10:09:05 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/comments/29177690?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:14:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"6952da55b40690921f3f1a26faa3e71e" - Last-Modified: - - Wed, 30 May 2018 09:57:39 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.056943' - X-Github-Request-Id: - - ACF4:3974:500EAC9:941BF81:5B0E797B - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/comments/29177690","html_url":"https://github.com/Priya5/Test-Project/commit/3ea09dbd4d643220ddac94d9ada3c001a820a4dc#commitcomment-29177690","id":29177690,"user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"3ea09dbd4d643220ddac94d9ada3c001a820a4dc","created_at":"2018-05-30T09:57:39Z","updated_at":"2018-05-30T09:57:39Z","author_association":"OWNER","body":"Need - to test"}' - http_version: - recorded_at: Wed, 30 May 2018 10:14:20 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_events.yml b/fixtures/vcr_cassettes/github_get_events.yml deleted file mode 100644 index f4e66b8..0000000 --- a/fixtures/vcr_cassettes/github_get_events.yml +++ /dev/null @@ -1,1880 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/events - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 06:17:51 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527576699' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"3adb62cc23e74c8007486b7c2b283010" - Last-Modified: - - Tue, 29 May 2018 06:17:51 GMT - X-Poll-Interval: - - '60' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Link: - - ; rel="next", ; - rel="last" - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.201530' - X-Github-Request-Id: - - 3E78:3973:2FC95D5:617EE07:5B0CF08E - body: - encoding: ASCII-8BIT - string: !binary |- - W3siaWQiOiI3NzQxNTM0MTM1IiwidHlwZSI6IlB1bGxSZXF1ZXN0RXZlbnQi - LCJhY3RvciI6eyJpZCI6MzgxMjIwNTMsImxvZ2luIjoiZGhhcmlzaGJhYnUw - MDciLCJkaXNwbGF5X2xvZ2luIjoiZGhhcmlzaGJhYnUwMDciLCJncmF2YXRh - cl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - ZGhhcmlzaGJhYnUwMDciLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJz - LmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4MTIyMDUzPyJ9LCJyZXBvIjp7 - ImlkIjoxMzM0NTk4MzQsIm5hbWUiOiJkaGFyaXNoYmFidTAwNy9IRUFMVEhJ - TlNJR0hUUyIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - ZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMifSwicGF5bG9hZCI6eyJh - Y3Rpb24iOiJjbG9zZWQiLCJudW1iZXIiOjEsInB1bGxfcmVxdWVzdCI6eyJ1 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1 - MDA3L0hFQUxUSElOU0lHSFRTL3B1bGxzLzEiLCJpZCI6MTg4NjM4MjE0LCJo - dG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kaGFyaXNoYmFidTAwNy9I - RUFMVEhJTlNJR0hUUy9wdWxsLzEiLCJkaWZmX3VybCI6Imh0dHBzOi8vZ2l0 - aHViLmNvbS9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9wdWxsLzEu - ZGlmZiIsInBhdGNoX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kaGFyaXNo - YmFidTAwNy9IRUFMVEhJTlNJR0hUUy9wdWxsLzEucGF0Y2giLCJpc3N1ZV91 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1 - MDA3L0hFQUxUSElOU0lHSFRTL2lzc3Vlcy8xIiwibnVtYmVyIjoxLCJzdGF0 - ZSI6ImNsb3NlZCIsImxvY2tlZCI6ZmFsc2UsInRpdGxlIjoiS2FzaGlrYXRo - ZWdyZWF0Ym9ybmluYXBsYXRlIiwidXNlciI6eyJsb2dpbiI6ImRoYXJpc2hi - YWJ1MDA3IiwiaWQiOjM4MTIyMDUzLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9h - dmF0YXJzMy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODEyMjA1Mz92PTQi - LCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMvZGhhcmlzaGJhYnUwMDciLCJodG1sX3VybCI6Imh0dHBzOi8v - Z2l0aHViLmNvbS9kaGFyaXNoYmFidTAwNyIsImZvbGxvd2Vyc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L2Zv - bGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L2ZvbGxvd2luZ3svb3RoZXJfdXNl - cn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L2RoYXJpc2hiYWJ1MDA3L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAw - Ny9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3 - L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvb3JncyIsInJl - cG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlz - aGJhYnUwMDcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9ldmVudHN7L3ByaXZhY3l9 - IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvcmVjZWl2ZWRfZXZlbnRzIiwidHlw - ZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZX0sImJvZHkiOiIiLCJjcmVh - dGVkX2F0IjoiMjAxOC0wNS0xN1QwNjo0OToxNVoiLCJ1cGRhdGVkX2F0Ijoi - MjAxOC0wNS0yOVQwNjoxNzo1MVoiLCJjbG9zZWRfYXQiOiIyMDE4LTA1LTI5 - VDA2OjE3OjUxWiIsIm1lcmdlZF9hdCI6bnVsbCwibWVyZ2VfY29tbWl0X3No - YSI6bnVsbCwiYXNzaWduZWUiOm51bGwsImFzc2lnbmVlcyI6W10sInJlcXVl - c3RlZF9yZXZpZXdlcnMiOltdLCJyZXF1ZXN0ZWRfdGVhbXMiOltdLCJsYWJl - bHMiOltdLCJtaWxlc3RvbmUiOm51bGwsImNvbW1pdHNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJ - TlNJR0hUUy9wdWxscy8xL2NvbW1pdHMiLCJyZXZpZXdfY29tbWVudHNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAw - Ny9IRUFMVEhJTlNJR0hUUy9wdWxscy8xL2NvbW1lbnRzIiwicmV2aWV3X2Nv - bW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFy - aXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9wdWxscy9jb21tZW50c3svbnVt - YmVyfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvaXNzdWVzLzEv - Y29tbWVudHMiLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL3N0YXR1 - c2VzLzJhNTVkNjJkNWIzZjU4OWI3MjdjZGFhZTlmNjc3OTkwNWJiMDU4YWEi - LCJoZWFkIjp7ImxhYmVsIjoiZGhhcmlzaGJhYnUwMDc6aGVhbHRoIiwicmVm - IjoiaGVhbHRoIiwic2hhIjoiMmE1NWQ2MmQ1YjNmNTg5YjcyN2NkYWFlOWY2 - Nzc5OTA1YmIwNThhYSIsInVzZXIiOnsibG9naW4iOiJkaGFyaXNoYmFidTAw - NyIsImlkIjozODEyMjA1MywiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFy - czMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzgxMjIwNTM/dj00IiwiZ3Jh - dmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Vz - ZXJzL2RoYXJpc2hiYWJ1MDA3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1 - Yi5jb20vZGhhcmlzaGJhYnUwMDciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9mb2xsb3dl - cnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9kaGFyaXNoYmFidTAwNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9Iiwi - Z2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFy - aXNoYmFidTAwNy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvc3Rh - cnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9zdWJz - Y3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L29yZ3MiLCJyZXBvc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1 - MDA3L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvZXZlbnRzey9wcml2YWN5fSIsInJl - Y2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Vz - ZXJzL2RoYXJpc2hiYWJ1MDA3L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJV - c2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2V9LCJyZXBvIjp7ImlkIjoxMzM0NTk4 - MzQsIm5hbWUiOiJIRUFMVEhJTlNJR0hUUyIsImZ1bGxfbmFtZSI6ImRoYXJp - c2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTIiwib3duZXIiOnsibG9naW4iOiJk - aGFyaXNoYmFidTAwNyIsImlkIjozODEyMjA1MywiYXZhdGFyX3VybCI6Imh0 - dHBzOi8vYXZhdGFyczMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzgxMjIw - NTM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3IiwiaHRtbF91cmwiOiJo - dHRwczovL2dpdGh1Yi5jb20vZGhhcmlzaGJhYnUwMDciLCJmb2xsb3dlcnNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFi - dTAwNy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9mb2xsb3dpbmd7L290 - aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9kaGFyaXNoYmFidTAwNy9naXN0c3svZ2lzdF9pZH0iLCJzdGFy - cmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlz - aGJhYnUwMDcvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlv - bnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNo - YmFidTAwNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L29y - Z3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L2RoYXJpc2hiYWJ1MDA3L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvZXZlbnRzey9w - cml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L3JlY2VpdmVkX2V2ZW50 - cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2V9LCJwcml2YXRl - IjpmYWxzZSwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGhhcmlz - aGJhYnUwMDcvSEVBTFRISU5TSUdIVFMiLCJkZXNjcmlwdGlvbiI6IlRoaXMg - cmVwb3NpdG9yeSBpcyB1c2VkIGludGVybmFsbHkgZm9yIGNvZGUgdmVyc2lv - biBvZiBJVEMgSW5mb3RlY2guICIsImZvcmsiOmZhbHNlLCJ1cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxU - SElOU0lHSFRTIiwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9mb3JrcyIs - ImtleXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFy - aXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9rZXlzey9rZXlfaWR9IiwiY29s - bGFib3JhdG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2NvbGxhYm9yYXRvcnN7 - L2NvbGxhYm9yYXRvcn0iLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL3Rl - YW1zIiwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9ob29rcyIsImlzc3Vl - X2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2Ro - YXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2lzc3Vlcy9ldmVudHN7L251 - bWJlcn0iLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y - ZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9ldmVudHMiLCJh - c3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9k - aGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9hc3NpZ25lZXN7L3VzZXJ9 - IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9icmFuY2hlc3svYnJh - bmNofSIsInRhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy90YWdzIiwiYmxvYnNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFi - dTAwNy9IRUFMVEhJTlNJR0hUUy9naXQvYmxvYnN7L3NoYX0iLCJnaXRfdGFn - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hi - YWJ1MDA3L0hFQUxUSElOU0lHSFRTL2dpdC90YWdzey9zaGF9IiwiZ2l0X3Jl - ZnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNo - YmFidTAwNy9IRUFMVEhJTlNJR0hUUy9naXQvcmVmc3svc2hhfSIsInRyZWVz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJh - YnUwMDcvSEVBTFRISU5TSUdIVFMvZ2l0L3RyZWVzey9zaGF9Iiwic3RhdHVz - ZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNo - YmFidTAwNy9IRUFMVEhJTlNJR0hUUy9zdGF0dXNlcy97c2hhfSIsImxhbmd1 - YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJp - c2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2xhbmd1YWdlcyIsInN0YXJnYXpl - cnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNo - YmFidTAwNy9IRUFMVEhJTlNJR0hUUy9zdGFyZ2F6ZXJzIiwiY29udHJpYnV0 - b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlz - aGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvY29udHJpYnV0b3JzIiwic3Vic2Ny - aWJlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFy - aXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9zdWJzY3JpYmVycyIsInN1YnNj - cmlwdGlvbl91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2Ro - YXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL3N1YnNjcmlwdGlvbiIsImNv - bW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFy - aXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9jb21taXRzey9zaGF9IiwiZ2l0 - X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9k - aGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9naXQvY29tbWl0c3svc2hh - fSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvY29tbWVudHN7L251 - bWJlcn0iLCJpc3N1ZV9jb21tZW50X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvaXNz - dWVzL2NvbW1lbnRzey9udW1iZXJ9IiwiY29udGVudHNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJ - TlNJR0hUUy9jb250ZW50cy97K3BhdGh9IiwiY29tcGFyZV91cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxU - SElOU0lHSFRTL2NvbXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwibWVyZ2VzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUw - MDcvSEVBTFRISU5TSUdIVFMvbWVyZ2VzIiwiYXJjaGl2ZV91cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxU - SElOU0lHSFRTL3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLCJkb3dubG9hZHNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFi - dTAwNy9IRUFMVEhJTlNJR0hUUy9kb3dubG9hZHMiLCJpc3N1ZXNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9I - RUFMVEhJTlNJR0hUUy9pc3N1ZXN7L251bWJlcn0iLCJwdWxsc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hF - QUxUSElOU0lHSFRTL3B1bGxzey9udW1iZXJ9IiwibWlsZXN0b25lc191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3 - L0hFQUxUSElOU0lHSFRTL21pbGVzdG9uZXN7L251bWJlcn0iLCJub3RpZmlj - YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhh - cmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvbm90aWZpY2F0aW9uc3s/c2lu - Y2UsYWxsLHBhcnRpY2lwYXRpbmd9IiwibGFiZWxzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5T - SUdIVFMvbGFiZWxzey9uYW1lfSIsInJlbGVhc2VzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5T - SUdIVFMvcmVsZWFzZXN7L2lkfSIsImRlcGxveW1lbnRzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRI - SU5TSUdIVFMvZGVwbG95bWVudHMiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0x - NVQwNDozOToxNFoiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNS0xN1QwNjoyNTo0 - N1oiLCJwdXNoZWRfYXQiOiIyMDE4LTA1LTE3VDA3OjQ3OjI3WiIsImdpdF91 - cmwiOiJnaXQ6Ly9naXRodWIuY29tL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElO - U0lHSFRTLmdpdCIsInNzaF91cmwiOiJnaXRAZ2l0aHViLmNvbTpkaGFyaXNo - YmFidTAwNy9IRUFMVEhJTlNJR0hUUy5naXQiLCJjbG9uZV91cmwiOiJodHRw - czovL2dpdGh1Yi5jb20vZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMu - Z2l0Iiwic3ZuX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kaGFyaXNoYmFi - dTAwNy9IRUFMVEhJTlNJR0hUUyIsImhvbWVwYWdlIjpudWxsLCJzaXplIjo2 - LCJzdGFyZ2F6ZXJzX2NvdW50IjowLCJ3YXRjaGVyc19jb3VudCI6MCwibGFu - Z3VhZ2UiOm51bGwsImhhc19pc3N1ZXMiOnRydWUsImhhc19wcm9qZWN0cyI6 - dHJ1ZSwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhh - c19wYWdlcyI6ZmFsc2UsImZvcmtzX2NvdW50IjowLCJtaXJyb3JfdXJsIjpu - dWxsLCJhcmNoaXZlZCI6ZmFsc2UsIm9wZW5faXNzdWVzX2NvdW50IjoxLCJs - aWNlbnNlIjpudWxsLCJmb3JrcyI6MCwib3Blbl9pc3N1ZXMiOjEsIndhdGNo - ZXJzIjowLCJkZWZhdWx0X2JyYW5jaCI6Im1hc3RlciJ9fSwiYmFzZSI6eyJs - YWJlbCI6ImRoYXJpc2hiYWJ1MDA3Om1hc3RlciIsInJlZiI6Im1hc3RlciIs - InNoYSI6IjdlODc4Y2VmMDAxODM2YmQ1Y2I3MDE0MjE1YjAwOWNmMTUzYmUw - NzgiLCJ1c2VyIjp7ImxvZ2luIjoiZGhhcmlzaGJhYnUwMDciLCJpZCI6Mzgx - MjIwNTMsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMzLmdpdGh1YnVz - ZXJjb250ZW50LmNvbS91LzM4MTIyMDUzP3Y9NCIsImdyYXZhdGFyX2lkIjoi - IiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNo - YmFidTAwNyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RoYXJp - c2hiYWJ1MDA3IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvZm9sbG93ZXJzIiwiZm9sbG93 - aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlz - aGJhYnUwMDcvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcv - Z2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L3N0YXJyZWR7L293bmVy - fXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvc3Vic2NyaXB0aW9ucyIs - Im9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9kaGFyaXNoYmFidTAwNy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9yZXBvcyIs - ImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Ro - YXJpc2hiYWJ1MDA3L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVu - dHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNo - YmFidTAwNy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVf - YWRtaW4iOmZhbHNlfSwicmVwbyI6eyJpZCI6MTMzNDU5ODM0LCJuYW1lIjoi - SEVBTFRISU5TSUdIVFMiLCJmdWxsX25hbWUiOiJkaGFyaXNoYmFidTAwNy9I - RUFMVEhJTlNJR0hUUyIsIm93bmVyIjp7ImxvZ2luIjoiZGhhcmlzaGJhYnUw - MDciLCJpZCI6MzgxMjIwNTMsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRh - cnMzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4MTIyMDUzP3Y9NCIsImdy - YXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9kaGFyaXNoYmFidTAwNyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRo - dWIuY29tL2RoYXJpc2hiYWJ1MDA3IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvZm9sbG93 - ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMvZGhhcmlzaGJhYnUwMDcvZm9sbG93aW5ney9vdGhlcl91c2VyfSIs - Imdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhh - cmlzaGJhYnUwMDcvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L3N0 - YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGhhcmlzaGJhYnUwMDcvc3Vi - c2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFidTAwNy9vcmdzIiwicmVwb3Nf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaGFyaXNoYmFi - dTAwNy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3VzZXJzL2RoYXJpc2hiYWJ1MDA3L2V2ZW50c3svcHJpdmFjeX0iLCJy - ZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9kaGFyaXNoYmFidTAwNy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoi - VXNlciIsInNpdGVfYWRtaW4iOmZhbHNlfSwicHJpdmF0ZSI6ZmFsc2UsImh0 - bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RoYXJpc2hiYWJ1MDA3L0hF - QUxUSElOU0lHSFRTIiwiZGVzY3JpcHRpb24iOiJUaGlzIHJlcG9zaXRvcnkg - aXMgdXNlZCBpbnRlcm5hbGx5IGZvciBjb2RlIHZlcnNpb24gb2YgSVRDIElu - Zm90ZWNoLiAiLCJmb3JrIjpmYWxzZSwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUyIs - ImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhh - cmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvZm9ya3MiLCJrZXlzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcv - SEVBTFRISU5TSUdIVFMva2V5c3sva2V5X2lkfSIsImNvbGxhYm9yYXRvcnNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFi - dTAwNy9IRUFMVEhJTlNJR0hUUy9jb2xsYWJvcmF0b3Jzey9jb2xsYWJvcmF0 - b3J9IiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy90ZWFtcyIsImhvb2tz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJh - YnUwMDcvSEVBTFRISU5TSUdIVFMvaG9va3MiLCJpc3N1ZV9ldmVudHNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAw - Ny9IRUFMVEhJTlNJR0hUUy9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiZXZl - bnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlz - aGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvZXZlbnRzIiwiYXNzaWduZWVzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUw - MDcvSEVBTFRISU5TSUdIVFMvYXNzaWduZWVzey91c2VyfSIsImJyYW5jaGVz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJh - YnUwMDcvSEVBTFRISU5TSUdIVFMvYnJhbmNoZXN7L2JyYW5jaH0iLCJ0YWdz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJh - YnUwMDcvSEVBTFRISU5TSUdIVFMvdGFncyIsImJsb2JzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRI - SU5TSUdIVFMvZ2l0L2Jsb2Jzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFM - VEhJTlNJR0hUUy9naXQvdGFnc3svc2hhfSIsImdpdF9yZWZzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVB - TFRISU5TSUdIVFMvZ2l0L3JlZnN7L3NoYX0iLCJ0cmVlc191cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxU - SElOU0lHSFRTL2dpdC90cmVlc3svc2hhfSIsInN0YXR1c2VzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVB - TFRISU5TSUdIVFMvc3RhdHVzZXMve3NoYX0iLCJsYW5ndWFnZXNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9I - RUFMVEhJTlNJR0hUUy9sYW5ndWFnZXMiLCJzdGFyZ2F6ZXJzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVB - TFRISU5TSUdIVFMvc3RhcmdhemVycyIsImNvbnRyaWJ1dG9yc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hF - QUxUSElOU0lHSFRTL2NvbnRyaWJ1dG9ycyIsInN1YnNjcmliZXJzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcv - SEVBTFRISU5TSUdIVFMvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAw - Ny9IRUFMVEhJTlNJR0hUUy9zdWJzY3JpcHRpb24iLCJjb21taXRzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcv - SEVBTFRISU5TSUdIVFMvY29tbWl0c3svc2hhfSIsImdpdF9jb21taXRzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUw - MDcvSEVBTFRISU5TSUdIVFMvZ2l0L2NvbW1pdHN7L3NoYX0iLCJjb21tZW50 - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hi - YWJ1MDA3L0hFQUxUSElOU0lHSFRTL2NvbW1lbnRzey9udW1iZXJ9IiwiaXNz - dWVfY29tbWVudF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2lzc3Vlcy9jb21tZW50 - c3svbnVtYmVyfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdIVFMvY29u - dGVudHMveytwYXRofSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9j - b21wYXJlL3tiYXNlfS4uLntoZWFkfSIsIm1lcmdlc191cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElO - U0lHSFRTL21lcmdlcyIsImFyY2hpdmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy97 - YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiZG93bmxvYWRzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRI - SU5TSUdIVFMvZG93bmxvYWRzIiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcvSEVBTFRISU5TSUdI - VFMvaXNzdWVzey9udW1iZXJ9IiwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hU - Uy9wdWxsc3svbnVtYmVyfSIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJ - R0hUUy9taWxlc3RvbmVzey9udW1iZXJ9Iiwibm90aWZpY2F0aW9uc191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3 - L0hFQUxUSElOU0lHSFRTL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0 - aWNpcGF0aW5nfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2xhYmVs - c3svbmFtZX0iLCJyZWxlYXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL3JlbGVh - c2Vzey9pZH0iLCJkZXBsb3ltZW50c191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL2Rl - cGxveW1lbnRzIiwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMTVUMDQ6Mzk6MTRa - IiwidXBkYXRlZF9hdCI6IjIwMTgtMDUtMTdUMDY6MjU6NDdaIiwicHVzaGVk - X2F0IjoiMjAxOC0wNS0xN1QwNzo0NzoyN1oiLCJnaXRfdXJsIjoiZ2l0Oi8v - Z2l0aHViLmNvbS9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy5naXQi - LCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206ZGhhcmlzaGJhYnUwMDcvSEVB - TFRISU5TSUdIVFMuZ2l0IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIu - Y29tL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTLmdpdCIsInN2bl91 - cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGhhcmlzaGJhYnUwMDcvSEVBTFRI - SU5TSUdIVFMiLCJob21lcGFnZSI6bnVsbCwic2l6ZSI6Niwic3RhcmdhemVy - c19jb3VudCI6MCwid2F0Y2hlcnNfY291bnQiOjAsImxhbmd1YWdlIjpudWxs - LCJoYXNfaXNzdWVzIjp0cnVlLCJoYXNfcHJvamVjdHMiOnRydWUsImhhc19k - b3dubG9hZHMiOnRydWUsImhhc193aWtpIjp0cnVlLCJoYXNfcGFnZXMiOmZh - bHNlLCJmb3Jrc19jb3VudCI6MCwibWlycm9yX3VybCI6bnVsbCwiYXJjaGl2 - ZWQiOmZhbHNlLCJvcGVuX2lzc3Vlc19jb3VudCI6MSwibGljZW5zZSI6bnVs - bCwiZm9ya3MiOjAsIm9wZW5faXNzdWVzIjoxLCJ3YXRjaGVycyI6MCwiZGVm - YXVsdF9icmFuY2giOiJtYXN0ZXIifX0sIl9saW5rcyI6eyJzZWxmIjp7Imhy - ZWYiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1 - MDA3L0hFQUxUSElOU0lHSFRTL3B1bGxzLzEifSwiaHRtbCI6eyJocmVmIjoi - aHR0cHM6Ly9naXRodWIuY29tL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lH - SFRTL3B1bGwvMSJ9LCJpc3N1ZSI6eyJocmVmIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9p - c3N1ZXMvMSJ9LCJjb21tZW50cyI6eyJocmVmIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9p - c3N1ZXMvMS9jb21tZW50cyJ9LCJyZXZpZXdfY29tbWVudHMiOnsiaHJlZiI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGhhcmlzaGJhYnUwMDcv - SEVBTFRISU5TSUdIVFMvcHVsbHMvMS9jb21tZW50cyJ9LCJyZXZpZXdfY29t - bWVudCI6eyJocmVmIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9k - aGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJR0hUUy9wdWxscy9jb21tZW50c3sv - bnVtYmVyfSJ9LCJjb21taXRzIjp7ImhyZWYiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2RoYXJpc2hiYWJ1MDA3L0hFQUxUSElOU0lHSFRTL3B1 - bGxzLzEvY29tbWl0cyJ9LCJzdGF0dXNlcyI6eyJocmVmIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9kaGFyaXNoYmFidTAwNy9IRUFMVEhJTlNJ - R0hUUy9zdGF0dXNlcy8yYTU1ZDYyZDViM2Y1ODliNzI3Y2RhYWU5ZjY3Nzk5 - MDViYjA1OGFhIn19LCJhdXRob3JfYXNzb2NpYXRpb24iOiJPV05FUiIsIm1l - cmdlZCI6ZmFsc2UsIm1lcmdlYWJsZSI6bnVsbCwicmViYXNlYWJsZSI6bnVs - bCwibWVyZ2VhYmxlX3N0YXRlIjoidW5rbm93biIsIm1lcmdlZF9ieSI6bnVs - bCwiY29tbWVudHMiOjEsInJldmlld19jb21tZW50cyI6MCwibWFpbnRhaW5l - cl9jYW5fbW9kaWZ5IjpmYWxzZSwiY29tbWl0cyI6MSwiYWRkaXRpb25zIjox - LCJkZWxldGlvbnMiOjAsImNoYW5nZWRfZmlsZXMiOjF9fSwicHVibGljIjp0 - cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo1MVoifSx7Imlk - IjoiNzc0MTUzNDEzMiIsInR5cGUiOiJQdXNoRXZlbnQiLCJhY3RvciI6eyJp - ZCI6MTMxNTE0NDAsImxvZ2luIjoiYXR0cmVpZCIsImRpc3BsYXlfbG9naW4i - OiJhdHRyZWlkIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL2F0dHJlaWQiLCJhdmF0YXJfdXJsIjoiaHR0 - cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEzMTUxNDQw - PyJ9LCJyZXBvIjp7ImlkIjo4NTk2MDkwMywibmFtZSI6Im5hdHRyZWlkL2Nv - b2tpZS1wb2xpY3kiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl - cG9zL25hdHRyZWlkL2Nvb2tpZS1wb2xpY3kifSwicGF5bG9hZCI6eyJwdXNo - X2lkIjoyNjAwNTcxMDcxLCJzaXplIjoxLCJkaXN0aW5jdF9zaXplIjoxLCJy - ZWYiOiJyZWZzL2hlYWRzL21hc3RlciIsImhlYWQiOiI0NWVmOTJhOTAzMDkx - NjkyOTdhYTg3NmQyZDhhZDJiZmVmNDEyNTQ1IiwiYmVmb3JlIjoiNWU1MzJm - MzNmOThiOWMwODgxODEwN2IyYzQxZmJmY2Y2ZjdkYmYwZiIsImNvbW1pdHMi - Olt7InNoYSI6IjQ1ZWY5MmE5MDMwOTE2OTI5N2FhODc2ZDJkOGFkMmJmZWY0 - MTI1NDUiLCJhdXRob3IiOnsiZW1haWwiOiJhdHRyZWlkQGdtYWlsLmNvbSIs - Im5hbWUiOiJhdHRyZWlkIn0sIm1lc3NhZ2UiOiJ1cHJhdmEgbmF6dnUgdHJp - ZCIsImRpc3RpbmN0Ijp0cnVlLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL25hdHRyZWlkL2Nvb2tpZS1wb2xpY3kvY29tbWl0cy80NWVm - OTJhOTAzMDkxNjkyOTdhYTg3NmQyZDhhZDJiZmVmNDEyNTQ1In1dfSwicHVi - bGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo1MVoi - LCJvcmciOnsiaWQiOjI2NjI2ODIzLCJsb2dpbiI6Im5hdHRyZWlkIiwiZ3Jh - dmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL29y - Z3MvbmF0dHJlaWQiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdp - dGh1YnVzZXJjb250ZW50LmNvbS91LzI2NjI2ODIzPyJ9fSx7ImlkIjoiNzc0 - MTUzNDEyNyIsInR5cGUiOiJQdXNoRXZlbnQiLCJhY3RvciI6eyJpZCI6MTg2 - MDE1OTIsImxvZ2luIjoiYW5vb3BobSIsImRpc3BsYXlfbG9naW4iOiJhbm9v - cGhtIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3VzZXJzL2Fub29waG0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9h - dmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE4NjAxNTkyPyJ9LCJy - ZXBvIjp7ImlkIjo5NjEyMTQ0OCwibmFtZSI6InByb2plY3Qtc3VuYmlyZC9z - dW5iaXJkLXBvcnRhbCIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvcHJvamVjdC1zdW5iaXJkL3N1bmJpcmQtcG9ydGFsIn0sInBheWxv - YWQiOnsicHVzaF9pZCI6MjYwMDU3MTA2OSwic2l6ZSI6NSwiZGlzdGluY3Rf - c2l6ZSI6NSwicmVmIjoicmVmcy9oZWFkcy9hbmd1bGFyLW1pZ3JhdGlvbiIs - ImhlYWQiOiJlOTQ2OWJlNTM0NzU2N2QwNWI1YTU2NDc1N2M3NzZmNDY2N2Zl - MTM3IiwiYmVmb3JlIjoiZTkwZGI1YTE5Mzg4YTM3MWZjNjYwMTNjMmExMjdj - OWViMTI4YzU5ZSIsImNvbW1pdHMiOlt7InNoYSI6Ijk0NDIwMDJhYjQ1OWU1 - NTE3NWNhMTg3NTk0ODdkYzk2YWI4NzllYTciLCJhdXRob3IiOnsiZW1haWwi - OiJ2YWlzaG5hdmlAbGF0aXR1ZGVmaW50ZWNoLmNvbSIsIm5hbWUiOiJ1bmtu - b3duIn0sIm1lc3NhZ2UiOiJJc3N1ZSAjU0ItMzg4NyBmaXg6IE9yZyBmaWx0 - ZXIgYW5kIGhvbWUgZmlsdGVyIHJlc2V0IGNoYW5nZXMiLCJkaXN0aW5jdCI6 - dHJ1ZSwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9wcm9q - ZWN0LXN1bmJpcmQvc3VuYmlyZC1wb3J0YWwvY29tbWl0cy85NDQyMDAyYWI0 - NTllNTUxNzVjYTE4NzU5NDg3ZGM5NmFiODc5ZWE3In0seyJzaGEiOiJiNDUy - NzcyYjM3NTQ5NzE5MzA5ZWI2YTM4NzI5NzFiNTcyOWU4MTQ1IiwiYXV0aG9y - Ijp7ImVtYWlsIjoidmFpc2huYXZpQGxhdGl0dWRlZmludGVjaC5jb20iLCJu - YW1lIjoidW5rbm93biJ9LCJtZXNzYWdlIjoiTWVyZ2UgcmVtb3RlLXRyYWNr - aW5nIGJyYW5jaCAndXBkdHJlYW0vYW5ndWxhci1taWdyYXRpb24nIGludG8g - dGVzdC1jYXNlIiwiZGlzdGluY3QiOnRydWUsInVybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvcHJvamVjdC1zdW5iaXJkL3N1bmJpcmQtcG9y - dGFsL2NvbW1pdHMvYjQ1Mjc3MmIzNzU0OTcxOTMwOWViNmEzODcyOTcxYjU3 - MjllODE0NSJ9LHsic2hhIjoiMTU3MGMxOGJiNDFkYzg4OWU1M2VhODIyNGJm - MTdjNGQ2ZGVkM2NkMiIsImF1dGhvciI6eyJlbWFpbCI6InZhaXNobmF2aUBs - YXRpdHVkZWZpbnRlY2guY29tIiwibmFtZSI6InVua25vd24ifSwibWVzc2Fn - ZSI6Iklzc3VlICNTQi0zODg3IGZpeDogTGlicmFyeSBzZWFyY2ggY2hhbmdl - cyIsImRpc3RpbmN0Ijp0cnVlLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL3Byb2plY3Qtc3VuYmlyZC9zdW5iaXJkLXBvcnRhbC9jb21t - aXRzLzE1NzBjMThiYjQxZGM4ODllNTNlYTgyMjRiZjE3YzRkNmRlZDNjZDIi - fSx7InNoYSI6ImIwMzFhYmJkYjVhNzQxYTA2MjAyODMwNjgxYWRiMTAyMmYz - YWViMjUiLCJhdXRob3IiOnsiZW1haWwiOiJ2YWlzaG5hdmlAbGF0aXR1ZGVm - aW50ZWNoLmNvbSIsIm5hbWUiOiJ1bmtub3duIn0sIm1lc3NhZ2UiOiJNZXJn - ZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICd1cGR0cmVhbS9hbmd1bGFyLW1p - Z3JhdGlvbicgaW50byB0ZXN0LWNhc2UiLCJkaXN0aW5jdCI6dHJ1ZSwidXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9wcm9qZWN0LXN1bmJp - cmQvc3VuYmlyZC1wb3J0YWwvY29tbWl0cy9iMDMxYWJiZGI1YTc0MWEwNjIw - MjgzMDY4MWFkYjEwMjJmM2FlYjI1In0seyJzaGEiOiJlOTQ2OWJlNTM0NzU2 - N2QwNWI1YTU2NDc1N2M3NzZmNDY2N2ZlMTM3IiwiYXV0aG9yIjp7ImVtYWls - IjoiYW5vb3BobTQ0QGdtYWlsLmNvbSIsIm5hbWUiOiJhbm9vcGhtIn0sIm1l - c3NhZ2UiOiJJc3N1ZSAjU0ItMzg4NyBjaG9yZTogTWVyZ2UgcHVsbCByZXF1 - ZXN0ICM1NzcgZnJvbSB2YWlzaG5hdmltYW5qdW5hdGgvdGVzdC1jYXNlXG5c - bklzc3VlICNTQi0zODg3IGZpeDogT3JnIGZpbHRlciBhbmQgaG9tZSBmaWx0 - ZXIgY2hhbmdlcyIsImRpc3RpbmN0Ijp0cnVlLCJ1cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL3Byb2plY3Qtc3VuYmlyZC9zdW5iaXJkLXBv - cnRhbC9jb21taXRzL2U5NDY5YmU1MzQ3NTY3ZDA1YjVhNTY0NzU3Yzc3NmY0 - NjY3ZmUxMzcifV19LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4 - LTA1LTI5VDA2OjE3OjUxWiIsIm9yZyI6eyJpZCI6MjY3MDU3MzAsImxvZ2lu - IjoicHJvamVjdC1zdW5iaXJkIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL29yZ3MvcHJvamVjdC1zdW5iaXJkIiwi - YXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVu - dC5jb20vdS8yNjcwNTczMD8ifX0seyJpZCI6Ijc3NDE1MzQxMjgiLCJ0eXBl - IjoiSXNzdWVzRXZlbnQiLCJhY3RvciI6eyJpZCI6MjA0NzMyMjMsImxvZ2lu - IjoibGltYW5mYW4iLCJkaXNwbGF5X2xvZ2luIjoibGltYW5mYW4iLCJncmF2 - YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvbGltYW5mYW4iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdp - dGh1YnVzZXJjb250ZW50LmNvbS91LzIwNDczMjIzPyJ9LCJyZXBvIjp7Imlk - IjoxMzIwOTczMzYsIm5hbWUiOiJoemNzVGVhbS9jaXR5ZHJlYW0iLCJ1cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2h6Y3NUZWFtL2NpdHlk - cmVhbSJ9LCJwYXlsb2FkIjp7ImFjdGlvbiI6ImNsb3NlZCIsImlzc3VlIjp7 - InVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvaHpjc1RlYW0v - Y2l0eWRyZWFtL2lzc3Vlcy84NCIsInJlcG9zaXRvcnlfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9oemNzVGVhbS9jaXR5ZHJlYW0iLCJs - YWJlbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9oemNz - VGVhbS9jaXR5ZHJlYW0vaXNzdWVzLzg0L2xhYmVsc3svbmFtZX0iLCJjb21t - ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2h6Y3NU - ZWFtL2NpdHlkcmVhbS9pc3N1ZXMvODQvY29tbWVudHMiLCJldmVudHNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9oemNzVGVhbS9jaXR5 - ZHJlYW0vaXNzdWVzLzg0L2V2ZW50cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9n - aXRodWIuY29tL2h6Y3NUZWFtL2NpdHlkcmVhbS9pc3N1ZXMvODQiLCJpZCI6 - MzI2NDYzNjA4LCJudW1iZXIiOjg0LCJ0aXRsZSI6Iu+8iOWmguWbvu+8iei0 - reS5sOmfs+S5kOiKgumXqOelqOWQji3lnKjmiJHnmoTmvJTlh7rnpajkuK0t - 56Wo55qE5L+h5oGv77yM5Zu+5rKh5pyJ6I635Y+W5Yiw77yM57y65bCR5pe2 - 6Ze05ZKM5pWw6YeP5Y+C5pWw77yM5paH5a2X6LaF5Ye677yI5bu66K6udWno - t5/ov5vvvIkiLCJ1c2VyIjp7ImxvZ2luIjoibGFib3VyR2l0IiwiaWQiOjI1 - NTc0Mzc4LCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzMi5naXRodWJ1 - c2VyY29udGVudC5jb20vdS8yNTU3NDM3OD92PTQiLCJncmF2YXRhcl9pZCI6 - IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGFib3Vy - R2l0IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbGFib3VyR2l0 - IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvbGFib3VyR2l0L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhYm91ckdpdC9mb2xsb3dpbmd7 - L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS91c2Vycy9sYWJvdXJHaXQvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJl - ZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhYm91ckdp - dC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhYm91ckdpdC9zdWJz - Y3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2xhYm91ckdpdC9vcmdzIiwicmVwb3NfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sYWJvdXJHaXQvcmVwb3Mi - LCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9s - YWJvdXJHaXQvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xhYm91ckdpdC9y - ZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZh - bHNlfSwibGFiZWxzIjpbeyJpZCI6OTIyNDAwNDE5LCJ1cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3JlcG9zL2h6Y3NUZWFtL2NpdHlkcmVhbS9sYWJl - bHMvJUU1JThBJTlGJUU4JTgzJUJEYnVnIiwibmFtZSI6IuWKn+iDvWJ1ZyIs - ImNvbG9yIjoiZDczYTRhIiwiZGVmYXVsdCI6ZmFsc2V9XSwic3RhdGUiOiJj - bG9zZWQiLCJsb2NrZWQiOmZhbHNlLCJhc3NpZ25lZSI6eyJsb2dpbiI6Imtl - aXRoLWhvdSIsImlkIjoyNjY2ODEwNCwiYXZhdGFyX3VybCI6Imh0dHBzOi8v - YXZhdGFyczAuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjY2NjgxMDQ/dj00 - IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3VzZXJzL2tlaXRoLWhvdSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRo - dWIuY29tL2tlaXRoLWhvdSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL2tlaXRoLWhvdS9mb2xsb3dlcnMiLCJmb2xs - b3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rZWl0 - aC1ob3UvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva2VpdGgtaG91L2dpc3Rzey9n - aXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9rZWl0aC1ob3Uvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1 - YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vy - cy9rZWl0aC1ob3Uvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rZWl0aC1ob3Uvb3Jn - cyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - a2VpdGgtaG91L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vdXNlcnMva2VpdGgtaG91L2V2ZW50c3svcHJpdmFjeX0iLCJy - ZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9rZWl0aC1ob3UvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIi - LCJzaXRlX2FkbWluIjpmYWxzZX0sImFzc2lnbmVlcyI6W3sibG9naW4iOiJr - ZWl0aC1ob3UiLCJpZCI6MjY2NjgxMDQsImF2YXRhcl91cmwiOiJodHRwczov - L2F2YXRhcnMwLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI2NjY4MTA0P3Y9 - NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS91c2Vycy9rZWl0aC1ob3UiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0 - aHViLmNvbS9rZWl0aC1ob3UiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS91c2Vycy9rZWl0aC1ob3UvZm9sbG93ZXJzIiwiZm9s - bG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva2Vp - dGgtaG91L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2tlaXRoLWhvdS9naXN0c3sv - Z2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMva2VpdGgtaG91L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJz - dWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMva2VpdGgtaG91L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva2VpdGgtaG91L29y - Z3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L2tlaXRoLWhvdS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2tlaXRoLWhvdS9ldmVudHN7L3ByaXZhY3l9Iiwi - cmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMva2VpdGgtaG91L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2Vy - Iiwic2l0ZV9hZG1pbiI6ZmFsc2V9XSwibWlsZXN0b25lIjpudWxsLCJjb21t - ZW50cyI6MCwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjVUMTA6MTQ6MzlaIiwi - dXBkYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTFaIiwiY2xvc2VkX2F0 - IjoiMjAxOC0wNS0yOVQwNjoxNzo1MVoiLCJhdXRob3JfYXNzb2NpYXRpb24i - OiJOT05FIiwiYm9keSI6IiFbaW1hZ2VdKGh0dHBzOi8vdXNlci1pbWFnZXMu - Z2l0aHVidXNlcmNvbnRlbnQuY29tLzI1NTc0Mzc4LzQwNTM5NDg0LTc4NGZl - Y2U2LTYwNDctMTFlOC05MDA4LTE2YzU4YmNjM2FjMi5wbmcpXHJcbiJ9fSwi - cHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo1 - MVoiLCJvcmciOnsiaWQiOjMxMjY1NzM0LCJsb2dpbiI6Imh6Y3NUZWFtIiwi - Z3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L29yZ3MvaHpjc1RlYW0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJz - LmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzMxMjY1NzM0PyJ9fSx7ImlkIjoi - Nzc0MTUzNDEyMiIsInR5cGUiOiJQdXNoRXZlbnQiLCJhY3RvciI6eyJpZCI6 - MzkxODM2MjAsImxvZ2luIjoiQXJlc2tpa28iLCJkaXNwbGF5X2xvZ2luIjoi - QXJlc2tpa28iLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vdXNlcnMvQXJlc2tpa28iLCJhdmF0YXJfdXJsIjoiaHR0 - cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5MTgzNjIw - PyJ9LCJyZXBvIjp7ImlkIjoxMzMwMDgzMTAsIm5hbWUiOiJBcmVza2lrby9M - YXVuY2hlciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - QXJlc2tpa28vTGF1bmNoZXIifSwicGF5bG9hZCI6eyJwdXNoX2lkIjoyNjAw - NTcxMDY4LCJzaXplIjoxLCJkaXN0aW5jdF9zaXplIjoxLCJyZWYiOiJyZWZz - L2hlYWRzL21hc3RlciIsImhlYWQiOiIxNjFmZDliMTUzNmIxMjcwOGIyZmIx - ZWYwMjYwMjg5YzYzYzg4MzBkIiwiYmVmb3JlIjoiM2FlYzgwOTZlM2IxZmNh - MDczZTdiYWQ2ZWY4ZTdmNjhlYTVkNTYwNCIsImNvbW1pdHMiOlt7InNoYSI6 - IjE2MWZkOWIxNTM2YjEyNzA4YjJmYjFlZjAyNjAyODljNjNjODgzMGQiLCJh - dXRob3IiOnsiZW1haWwiOiJzdGVmYW5fbWFja0Bob3RtYWlsLmNvbSIsIm5h - bWUiOiJTdGVmYW4ifSwibWVzc2FnZSI6InRlbXAiLCJkaXN0aW5jdCI6dHJ1 - ZSwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BcmVza2lr - by9MYXVuY2hlci9jb21taXRzLzE2MWZkOWIxNTM2YjEyNzA4YjJmYjFlZjAy - NjAyODljNjNjODgzMGQifV19LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQi - OiIyMDE4LTA1LTI5VDA2OjE3OjUxWiJ9LHsiaWQiOiI3NzQxNTM0MTIzIiwi - dHlwZSI6IkNyZWF0ZUV2ZW50IiwiYWN0b3IiOnsiaWQiOjEyMjk4MTcsImxv - Z2luIjoidGVtcG9mZW5nIiwiZGlzcGxheV9sb2dpbiI6InRlbXBvZmVuZyIs - ImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy90ZW1wb2ZlbmciLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0 - YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyMjk4MTc/In0sInJlcG8i - OnsiaWQiOjExOTk0NTM0NSwibmFtZSI6IldyYWVjY2EvZXRoZXJzcGFjZS1q - YXZhIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9XcmFl - Y2NhL2V0aGVyc3BhY2UtamF2YSJ9LCJwYXlsb2FkIjp7InJlZiI6IjAuNy4y - IiwicmVmX3R5cGUiOiJ0YWciLCJtYXN0ZXJfYnJhbmNoIjoibWFzdGVyIiwi - ZGVzY3JpcHRpb24iOiJBIFJldHJvZml0LWxpa2UgRXRoZXJldW0gY2xpZW50 - IGZvciBBbmRyb2lkLCBKYXZhLCBhbmQgS290bGluLiIsInB1c2hlcl90eXBl - IjoidXNlciJ9LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1 - LTI5VDA2OjE3OjUxWiJ9LHsiaWQiOiI3NzQxNTM0MTE2IiwidHlwZSI6IlB1 - c2hFdmVudCIsImFjdG9yIjp7ImlkIjozMjYyMTgxMywibG9naW4iOiJhcHVy - dmFraGF0cmkiLCJkaXNwbGF5X2xvZ2luIjoiYXB1cnZha2hhdHJpIiwiZ3Jh - dmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Vz - ZXJzL2FwdXJ2YWtoYXRyaSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRh - cnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzI2MjE4MTM/In0sInJlcG8i - OnsiaWQiOjEzNTE5MTcxNSwibmFtZSI6ImFwdXJ2YWtoYXRyaS9zdXJ2ZXlt - b25rZXlhcHAiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2FwdXJ2YWtoYXRyaS9zdXJ2ZXltb25rZXlhcHAifSwicGF5bG9hZCI6eyJw - dXNoX2lkIjoyNjAwNTcxMDY3LCJzaXplIjoxLCJkaXN0aW5jdF9zaXplIjox - LCJyZWYiOiJyZWZzL2hlYWRzL21hc3RlciIsImhlYWQiOiI4YjcyOGRlZjJm - ODQ5MTZiNmUyMGE4ZDMwYjA4MDYzNTk5MGNmMDIwIiwiYmVmb3JlIjoiNzdh - N2I3NThiY2E5NTA5ZWVkNDkxYzkwNGM1N2Y3NTEyNDU2NjRmMSIsImNvbW1p - dHMiOlt7InNoYSI6IjhiNzI4ZGVmMmY4NDkxNmI2ZTIwYThkMzBiMDgwNjM1 - OTkwY2YwMjAiLCJhdXRob3IiOnsiZW1haWwiOiJ5ZWxsb3dhbnRhcHBzQGdt - YWlsLmNvbSIsIm5hbWUiOiJBcHVydmEgS2hhdHJpIn0sIm1lc3NhZ2UiOiJm - ZXdmdyIsImRpc3RpbmN0Ijp0cnVlLCJ1cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2FwdXJ2YWtoYXRyaS9zdXJ2ZXltb25rZXlhcHAvY29t - bWl0cy84YjcyOGRlZjJmODQ5MTZiNmUyMGE4ZDMwYjA4MDYzNTk5MGNmMDIw - In1dfSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQw - NjoxNzo1MVoifSx7ImlkIjoiNzc0MTUzNDExNSIsInR5cGUiOiJXYXRjaEV2 - ZW50IiwiYWN0b3IiOnsiaWQiOjEyOTQ3NzU2LCJsb2dpbiI6IlF1a2FpeWki - LCJkaXNwbGF5X2xvZ2luIjoiUXVrYWl5aSIsImdyYXZhdGFyX2lkIjoiIiwi - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9RdWthaXlpIiwi - YXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVu - dC5jb20vdS8xMjk0Nzc1Nj8ifSwicmVwbyI6eyJpZCI6MzY1NjgxOCwibmFt - ZSI6ImFhcm9uZ2FycmV0dC9pbnNweXJlZCIsInVybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvYWFyb25nYXJyZXR0L2luc3B5cmVkIn0sInBh - eWxvYWQiOnsiYWN0aW9uIjoic3RhcnRlZCJ9LCJwdWJsaWMiOnRydWUsImNy - ZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUxWiJ9LHsiaWQiOiI3NzQx - NTM0MTExIiwidHlwZSI6IlB1c2hFdmVudCIsImFjdG9yIjp7ImlkIjozNzcy - OTEwLCJsb2dpbiI6IkFuZHlEdW5lIiwiZGlzcGxheV9sb2dpbiI6IkFuZHlE - dW5lIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3VzZXJzL0FuZHlEdW5lIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8v - YXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNzcyOTEwPyJ9LCJy - ZXBvIjp7ImlkIjoxMzM3NzM0NjEsIm5hbWUiOiJBbmR5RHVuZS9PYmplY3RD - YWNoZVByb3h5IiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9BbmR5RHVuZS9PYmplY3RDYWNoZVByb3h5In0sInBheWxvYWQiOnsicHVz - aF9pZCI6MjYwMDU3MTA2Mywic2l6ZSI6MSwiZGlzdGluY3Rfc2l6ZSI6MSwi - cmVmIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJoZWFkIjoiMjQ4MDgyNzY4Yjg3 - Nzk2NTM1ODAyMDlhNjNjN2QxMzhjMjRiZGU4NyIsImJlZm9yZSI6IjA0OGIy - ZjlhODQzMGJjYzcwZGNmMjkzOTUzY2ZlZGIxMDZkZWRhOTQiLCJjb21taXRz - IjpbeyJzaGEiOiIyNDgwODI3NjhiODc3OTY1MzU4MDIwOWE2M2M3ZDEzOGMy - NGJkZTg3IiwiYXV0aG9yIjp7ImVtYWlsIjoiZHVuZUByem5sZi5ydSIsIm5h - bWUiOiJBbmRyZXkgUnl6aG92In0sIm1lc3NhZ2UiOiJBZGQgZGVzY3JpcHRp - b24gYW5kIGNvbW1lbnRzLiIsImRpc3RpbmN0Ijp0cnVlLCJ1cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL0FuZHlEdW5lL09iamVjdENhY2hl - UHJveHkvY29tbWl0cy8yNDgwODI3NjhiODc3OTY1MzU4MDIwOWE2M2M3ZDEz - OGMyNGJkZTg3In1dfSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAx - OC0wNS0yOVQwNjoxNzo1MVoifSx7ImlkIjoiNzc0MTUzNDExMCIsInR5cGUi - OiJSZWxlYXNlRXZlbnQiLCJhY3RvciI6eyJpZCI6MTIyOTgxNywibG9naW4i - OiJ0ZW1wb2ZlbmciLCJkaXNwbGF5X2xvZ2luIjoidGVtcG9mZW5nIiwiZ3Jh - dmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Vz - ZXJzL3RlbXBvZmVuZyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMu - Z2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTIyOTgxNz8ifSwicmVwbyI6eyJp - ZCI6MTE5OTQ1MzQ1LCJuYW1lIjoiV3JhZWNjYS9ldGhlcnNwYWNlLWphdmEi - LCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1dyYWVjY2Ev - ZXRoZXJzcGFjZS1qYXZhIn0sInBheWxvYWQiOnsiYWN0aW9uIjoicHVibGlz - aGVkIiwicmVsZWFzZSI6eyJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL1dyYWVjY2EvZXRoZXJzcGFjZS1qYXZhL3JlbGVhc2VzLzExMjEz - MTkyIiwiYXNzZXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MvV3JhZWNjYS9ldGhlcnNwYWNlLWphdmEvcmVsZWFzZXMvMTEyMTMxOTIv - YXNzZXRzIiwidXBsb2FkX3VybCI6Imh0dHBzOi8vdXBsb2Fkcy5naXRodWIu - Y29tL3JlcG9zL1dyYWVjY2EvZXRoZXJzcGFjZS1qYXZhL3JlbGVhc2VzLzEx - MjEzMTkyL2Fzc2V0c3s/bmFtZSxsYWJlbH0iLCJodG1sX3VybCI6Imh0dHBz - Oi8vZ2l0aHViLmNvbS9XcmFlY2NhL2V0aGVyc3BhY2UtamF2YS9yZWxlYXNl - cy90YWcvMC43LjIiLCJpZCI6MTEyMTMxOTIsInRhZ19uYW1lIjoiMC43LjIi - LCJ0YXJnZXRfY29tbWl0aXNoIjoibWFzdGVyIiwibmFtZSI6IjAuNy4yIiwi - ZHJhZnQiOmZhbHNlLCJhdXRob3IiOnsibG9naW4iOiJ0ZW1wb2ZlbmciLCJp - ZCI6MTIyOTgxNywiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFyczEuZ2l0 - aHVidXNlcmNvbnRlbnQuY29tL3UvMTIyOTgxNz92PTQiLCJncmF2YXRhcl9p - ZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVt - cG9mZW5nIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vdGVtcG9m - ZW5nIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMvdGVtcG9mZW5nL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlbXBvZmVuZy9mb2xsb3dp - bmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy90ZW1wb2ZlbmcvZ2lzdHN7L2dpc3RfaWR9Iiwic3Rh - cnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlbXBv - ZmVuZy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlbXBvZmVuZy9z - dWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL3RlbXBvZmVuZy9vcmdzIiwicmVwb3NfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZW1wb2ZlbmcvcmVw - b3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vy - cy90ZW1wb2ZlbmcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50 - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlbXBvZmVu - Zy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4i - OmZhbHNlfSwicHJlcmVsZWFzZSI6ZmFsc2UsImNyZWF0ZWRfYXQiOiIyMDE4 - LTA1LTI5VDA2OjE2OjA0WiIsInB1Ymxpc2hlZF9hdCI6IjIwMTgtMDUtMjlU - MDY6MTc6NTFaIiwiYXNzZXRzIjpbXSwidGFyYmFsbF91cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3JlcG9zL1dyYWVjY2EvZXRoZXJzcGFjZS1qYXZh - L3RhcmJhbGwvMC43LjIiLCJ6aXBiYWxsX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvV3JhZWNjYS9ldGhlcnNwYWNlLWphdmEvemlwYmFs - bC8wLjcuMiIsImJvZHkiOiIqIEFkZCBFdGhlclNwYWNlLmNyZWF0ZShTb2xB - ZGRyZXNzLCBDbGFzczxUPilcclxuKiBhZGQgdG9TdHJpbmcoKSB0byBub24t - ZGF0YSBjbGFzc2VzIGluIFR5cGVzIn19LCJwdWJsaWMiOnRydWUsImNyZWF0 - ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUxWiJ9LHsiaWQiOiI3NzQxNTM0 - MTA5IiwidHlwZSI6IldhdGNoRXZlbnQiLCJhY3RvciI6eyJpZCI6Mzk3MTcx - ODYsImxvZ2luIjoiQmUtcXVpZXQiLCJkaXNwbGF5X2xvZ2luIjoiQmUtcXVp - ZXQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vdXNlcnMvQmUtcXVpZXQiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9h - dmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5NzE3MTg2PyJ9LCJy - ZXBvIjp7ImlkIjo5MjE0MzI4OSwibmFtZSI6ImxlYTIxc3QvbGVhY21mLXRo - aW5rcGhwIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9s - ZWEyMXN0L2xlYWNtZi10aGlua3BocCJ9LCJwYXlsb2FkIjp7ImFjdGlvbiI6 - InN0YXJ0ZWQifSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0w - NS0yOVQwNjoxNzo1MVoifSx7ImlkIjoiNzc0MTUzNDEwNCIsInR5cGUiOiJD - cmVhdGVFdmVudCIsImFjdG9yIjp7ImlkIjoyNTcwMzI4MSwibG9naW4iOiJh - bWl0YmFuc2FsMTMiLCJkaXNwbGF5X2xvZ2luIjoiYW1pdGJhbnNhbDEzIiwi - Z3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL2FtaXRiYW5zYWwxMyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2 - YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjU3MDMyODE/In0sInJl - cG8iOnsiaWQiOjEzNDk4NDA0NCwibmFtZSI6ImFtaXRiYW5zYWwxMy9oYW5k - X25vX2hhbmQiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2FtaXRiYW5zYWwxMy9oYW5kX25vX2hhbmQifSwicGF5bG9hZCI6eyJyZWYi - OiJ0ZXN0IiwicmVmX3R5cGUiOiJicmFuY2giLCJtYXN0ZXJfYnJhbmNoIjoi - bWFzdGVyIiwiZGVzY3JpcHRpb24iOm51bGwsInB1c2hlcl90eXBlIjoidXNl - ciJ9LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2 - OjE3OjUwWiJ9LHsiaWQiOiI3NzQxNTM0MTAyIiwidHlwZSI6IkZvcmtFdmVu - dCIsImFjdG9yIjp7ImlkIjozOTMzODYxNiwibG9naW4iOiJkYW5kYW5uYSIs - ImRpc3BsYXlfbG9naW4iOiJkYW5kYW5uYSIsImdyYXZhdGFyX2lkIjoiIiwi - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5kYW5uYSIs - ImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRl - bnQuY29tL3UvMzkzMzg2MTY/In0sInJlcG8iOnsiaWQiOjEzMjg3NjQwNSwi - bmFtZSI6Ik5pY2VndW9zYy9HdW9zYyIsInVybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvTmljZWd1b3NjL0d1b3NjIn0sInBheWxvYWQiOnsi - Zm9ya2VlIjp7ImlkIjoxMzUyNDk5NDIsIm5hbWUiOiJHdW9zYyIsImZ1bGxf - bmFtZSI6ImRhbmRhbm5hL0d1b3NjIiwib3duZXIiOnsibG9naW4iOiJkYW5k - YW5uYSIsImlkIjozOTMzODYxNiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZh - dGFyczEuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzkzMzg2MTY/dj00Iiwi - Z3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL2RhbmRhbm5hIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5j - b20vZGFuZGFubmEiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9kYW5kYW5uYS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5kYW5uYS9m - b2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS91c2Vycy9kYW5kYW5uYS9naXN0c3svZ2lzdF9pZH0i - LCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - ZGFuZGFubmEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlv - bnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5kYW5u - YS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3VzZXJzL2RhbmRhbm5hL29yZ3MiLCJyZXBvc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbmRhbm5hL3Jl - cG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvZGFuZGFubmEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50 - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbmRhbm5h - L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6 - ZmFsc2V9LCJwcml2YXRlIjpmYWxzZSwiaHRtbF91cmwiOiJodHRwczovL2dp - dGh1Yi5jb20vZGFuZGFubmEvR3Vvc2MiLCJkZXNjcmlwdGlvbiI6bnVsbCwi - Zm9yayI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kYW5kYW5uYS9HdW9zYyIsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvZm9ya3MiLCJrZXlzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vv - c2Mva2V5c3sva2V5X2lkfSIsImNvbGxhYm9yYXRvcnNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy9jb2xsYWJv - cmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy90ZWFtcyIsImhv - b2tzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFu - bmEvR3Vvc2MvaG9va3MiLCJpc3N1ZV9ldmVudHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy9pc3N1ZXMvZXZl - bnRzey9udW1iZXJ9IiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvZXZlbnRzIiwiYXNzaWduZWVz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEv - R3Vvc2MvYXNzaWduZWVzey91c2VyfSIsImJyYW5jaGVzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvYnJhbmNo - ZXN7L2JyYW5jaH0iLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvdGFncyIsImJsb2JzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvZ2l0 - L2Jsb2Jzey9zaGF9IiwiZ2l0X3RhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy9naXQvdGFnc3svc2hhfSIs - ImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - ZGFuZGFubmEvR3Vvc2MvZ2l0L3JlZnN7L3NoYX0iLCJ0cmVlc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL2dp - dC90cmVlc3svc2hhfSIsInN0YXR1c2VzX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2Mvc3RhdHVzZXMve3NoYX0i - LCJsYW5ndWFnZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9kYW5kYW5uYS9HdW9zYy9sYW5ndWFnZXMiLCJzdGFyZ2F6ZXJzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2Mv - c3RhcmdhemVycyIsImNvbnRyaWJ1dG9yc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL2NvbnRyaWJ1dG9ycyIs - InN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MvZGFuZGFubmEvR3Vvc2Mvc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25f - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9H - dW9zYy9zdWJzY3JpcHRpb24iLCJjb21taXRzX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvY29tbWl0c3svc2hh - fSIsImdpdF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvZGFuZGFubmEvR3Vvc2MvZ2l0L2NvbW1pdHN7L3NoYX0iLCJjb21t - ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RhbmRh - bm5hL0d1b3NjL2NvbW1lbnRzey9udW1iZXJ9IiwiaXNzdWVfY29tbWVudF91 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1 - b3NjL2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImNvbnRlbnRzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2Mv - Y29udGVudHMveytwYXRofSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy9jb21wYXJlL3tiYXNl - fS4uLntoZWFkfSIsIm1lcmdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL21lcmdlcyIsImFyY2hpdmVfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9z - Yy97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9IiwiZG93bmxvYWRzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZGFuZGFubmEvR3Vvc2MvZG93 - bmxvYWRzIiwiaXNzdWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvZGFuZGFubmEvR3Vvc2MvaXNzdWVzey9udW1iZXJ9IiwicHVsbHNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9H - dW9zYy9wdWxsc3svbnVtYmVyfSIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kYW5kYW5uYS9HdW9zYy9taWxlc3Rv - bmVzey9udW1iZXJ9Iiwibm90aWZpY2F0aW9uc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL25vdGlmaWNhdGlv - bnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsImxhYmVsc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL2xh - YmVsc3svbmFtZX0iLCJyZWxlYXNlc191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2RhbmRhbm5hL0d1b3NjL3JlbGVhc2Vzey9pZH0iLCJk - ZXBsb3ltZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2RhbmRhbm5hL0d1b3NjL2RlcGxveW1lbnRzIiwiY3JlYXRlZF9hdCI6IjIw - MTgtMDUtMjlUMDY6MTc6NTBaIiwidXBkYXRlZF9hdCI6IjIwMTgtMDUtMjlU - MDY6MTU6NDdaIiwicHVzaGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNTo0Nloi - LCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9kYW5kYW5uYS9HdW9zYy5n - aXQiLCJzc2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206ZGFuZGFubmEvR3Vvc2Mu - Z2l0IiwiY2xvbmVfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RhbmRhbm5h - L0d1b3NjLmdpdCIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGFu - ZGFubmEvR3Vvc2MiLCJob21lcGFnZSI6bnVsbCwic2l6ZSI6MTksInN0YXJn - YXplcnNfY291bnQiOjAsIndhdGNoZXJzX2NvdW50IjowLCJsYW5ndWFnZSI6 - bnVsbCwiaGFzX2lzc3VlcyI6ZmFsc2UsImhhc19wcm9qZWN0cyI6dHJ1ZSwi - aGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhhc19wYWdl - cyI6ZmFsc2UsImZvcmtzX2NvdW50IjowLCJtaXJyb3JfdXJsIjpudWxsLCJh - cmNoaXZlZCI6ZmFsc2UsIm9wZW5faXNzdWVzX2NvdW50IjowLCJsaWNlbnNl - IjpudWxsLCJmb3JrcyI6MCwib3Blbl9pc3N1ZXMiOjAsIndhdGNoZXJzIjow - LCJkZWZhdWx0X2JyYW5jaCI6Im1hc3RlciIsInB1YmxpYyI6dHJ1ZX19LCJw - dWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUw - WiJ9LHsiaWQiOiI3NzQxNTM0MDk5IiwidHlwZSI6IlB1c2hFdmVudCIsImFj - dG9yIjp7ImlkIjoyMzQyODM5MiwibG9naW4iOiJ0YWNvdGFjbzIiLCJkaXNw - bGF5X2xvZ2luIjoidGFjb3RhY28yIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhY290YWNvMiIsImF2 - YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQu - Y29tL3UvMjM0MjgzOTI/In0sInJlcG8iOnsiaWQiOjEzNTIyMTExNSwibmFt - ZSI6InRhY290YWNvMi9DdXJpZSIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vcmVwb3MvdGFjb3RhY28yL0N1cmllIn0sInBheWxvYWQiOnsicHVz - aF9pZCI6MjYwMDU3MTA1OCwic2l6ZSI6MSwiZGlzdGluY3Rfc2l6ZSI6MSwi - cmVmIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJoZWFkIjoiMmE0MjNiY2Q1ODQy - YWJhZGMwMTcxNzM4YTgzNjFlMzczZGUwZmE0ZiIsImJlZm9yZSI6IjAzMGI5 - NzUzYWJmOGQ2Y2YzZjYxY2FlODFmMGUyMGI0NmQyYjgxNzUiLCJjb21taXRz - IjpbeyJzaGEiOiIyYTQyM2JjZDU4NDJhYmFkYzAxNzE3MzhhODM2MWUzNzNk - ZTBmYTRmIiwiYXV0aG9yIjp7ImVtYWlsIjoidGFjb3RhY28yQG1haWxpbmF0 - b3IuY29tIiwibmFtZSI6InRhY290YWNvMiJ9LCJtZXNzYWdlIjoiR0lUIENs - b25lU2hhcmUgQ29tbWl0IiwiZGlzdGluY3QiOnRydWUsInVybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGFjb3RhY28yL0N1cmllL2NvbW1p - dHMvMmE0MjNiY2Q1ODQyYWJhZGMwMTcxNzM4YTgzNjFlMzczZGUwZmE0ZiJ9 - XX0sInB1YmxpYyI6dHJ1ZSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6 - MTc6NTBaIn0seyJpZCI6Ijc3NDE1MzQwOTMiLCJ0eXBlIjoiUHVzaEV2ZW50 - IiwiYWN0b3IiOnsiaWQiOjExMDgzNjQwLCJsb2dpbiI6Inlhbndlbmdvbmci - LCJkaXNwbGF5X2xvZ2luIjoieWFud2VuZ29uZyIsImdyYXZhdGFyX2lkIjoi - IiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95YW53ZW5n - b25nIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2Vy - Y29udGVudC5jb20vdS8xMTA4MzY0MD8ifSwicmVwbyI6eyJpZCI6MTMzODk3 - NjA2LCJuYW1lIjoieWFud2VuZ29uZy95YW53ZW5nb25nLmdpdGh1Yi5pbyIs - InVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MveWFud2VuZ29u - Zy95YW53ZW5nb25nLmdpdGh1Yi5pbyJ9LCJwYXlsb2FkIjp7InB1c2hfaWQi - OjI2MDA1NzEwNTQsInNpemUiOjEsImRpc3RpbmN0X3NpemUiOjEsInJlZiI6 - InJlZnMvaGVhZHMvbWFzdGVyIiwiaGVhZCI6ImI0NGM4NmVmNmE5MWY2NDI2 - YzNlYjg0NmFmYzcyOTdmMGEzOGQ2YTMiLCJiZWZvcmUiOiI5Nzk5NTE0NGI4 - ZWMzYmU1MGE2NDVhNzYwMGZjOTgzYjIxMWE5MDQ5IiwiY29tbWl0cyI6W3si - c2hhIjoiYjQ0Yzg2ZWY2YTkxZjY0MjZjM2ViODQ2YWZjNzI5N2YwYTM4ZDZh - MyIsImF1dGhvciI6eyJlbWFpbCI6Inlhbndlbmdvbmc3QGdtYWlsLmNvbSIs - Im5hbWUiOiJZdm9ubmVHb25nIn0sIm1lc3NhZ2UiOiJidWcgZml4IiwiZGlz - dGluY3QiOnRydWUsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MveWFud2VuZ29uZy95YW53ZW5nb25nLmdpdGh1Yi5pby9jb21taXRzL2I0 - NGM4NmVmNmE5MWY2NDI2YzNlYjg0NmFmYzcyOTdmMGEzOGQ2YTMifV19LCJw - dWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUw - WiJ9LHsiaWQiOiI3NzQxNTM0MDg5IiwidHlwZSI6Iklzc3VlQ29tbWVudEV2 - ZW50IiwiYWN0b3IiOnsiaWQiOjM3NDAzMDQzLCJsb2dpbiI6IlJhbmphbnNp - bmdoNDEiLCJkaXNwbGF5X2xvZ2luIjoiUmFuamFuc2luZ2g0MSIsImdyYXZh - dGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vy - cy9SYW5qYW5zaW5naDQxIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFy - cy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNzQwMzA0Mz8ifSwicmVwbyI6 - eyJpZCI6MTI0NDQxNDIwLCJuYW1lIjoiZHJ5LWRvY2svYWFyY2g2NF91MTZh - bGwiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2RyeS1k - b2NrL2FhcmNoNjRfdTE2YWxsIn0sInBheWxvYWQiOnsiYWN0aW9uIjoiY3Jl - YXRlZCIsImlzc3VlIjp7InVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvZHJ5LWRvY2svYWFyY2g2NF91MTZhbGwvaXNzdWVzLzkiLCJyZXBv - c2l0b3J5X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvZHJ5 - LWRvY2svYWFyY2g2NF91MTZhbGwiLCJsYWJlbHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9kcnktZG9jay9hYXJjaDY0X3UxNmFsbC9p - c3N1ZXMvOS9sYWJlbHN7L25hbWV9IiwiY29tbWVudHNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9kcnktZG9jay9hYXJjaDY0X3UxNmFs - bC9pc3N1ZXMvOS9jb21tZW50cyIsImV2ZW50c191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL2RyeS1kb2NrL2FhcmNoNjRfdTE2YWxsL2lz - c3Vlcy85L2V2ZW50cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29t - L2RyeS1kb2NrL2FhcmNoNjRfdTE2YWxsL2lzc3Vlcy85IiwiaWQiOjMyNzAw - MzcxNSwibnVtYmVyIjo5LCJ0aXRsZSI6IjEwOTM1LjMgdXBkYXRlIG1lbWNh - Y2hlZCB2ZXJzaW9uIiwidXNlciI6eyJsb2dpbiI6IlJhbmphbnNpbmdoNDEi - LCJpZCI6Mzc0MDMwNDMsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMw - LmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM3NDAzMDQzP3Y9NCIsImdyYXZh - dGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vy - cy9SYW5qYW5zaW5naDQxIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5j - b20vUmFuamFuc2luZ2g0MSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL1JhbmphbnNpbmdoNDEvZm9sbG93ZXJzIiwi - Zm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - UmFuamFuc2luZ2g0MS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SYW5qYW5zaW5n - aDQxL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS91c2Vycy9SYW5qYW5zaW5naDQxL3N0YXJyZWR7L293 - bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vdXNlcnMvUmFuamFuc2luZ2g0MS9zdWJzY3JpcHRpb25z - Iiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL1JhbmphbnNpbmdoNDEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmFuamFuc2luZ2g0MS9yZXBvcyIs - ImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1Jh - bmphbnNpbmdoNDEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50 - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JhbmphbnNp - bmdoNDEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2Fk - bWluIjpmYWxzZX0sImxhYmVscyI6W10sInN0YXRlIjoib3BlbiIsImxvY2tl - ZCI6ZmFsc2UsImFzc2lnbmVlIjpudWxsLCJhc3NpZ25lZXMiOltdLCJtaWxl - c3RvbmUiOm51bGwsImNvbW1lbnRzIjoxLCJjcmVhdGVkX2F0IjoiMjAxOC0w - NS0yOFQxMjowNDo1MloiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjox - Nzo1MFoiLCJjbG9zZWRfYXQiOm51bGwsImF1dGhvcl9hc3NvY2lhdGlvbiI6 - IkNPTlRSSUJVVE9SIiwiYm9keSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9TaGlw - cGFibGUvcG0vaXNzdWVzLzEwOTM1XHJcblxyXG4jIyBUYXNrc1xyXG5cclxu - dXBkYXRlIG1lbWNhY2hlZCB2ZXJzaW9uIHRvIDEuNC4yNVxyXG5cclxuIyMg - VGVzdHNcclxuXHJcbjEuIG1lbWNhY2hlZCBpcyBzdGFydGluZy9zdG9wcGlu - ZyBjb3JyZWN0bHkgd2hlbiBgZHJ5ZG9jay91MTZhbGw6bWFzdGVyYCBpcyB1 - c2VkIGFzIGN1c3RvbSBpbWFnZSBpbiBDSSBidWlsZFxyXG4xLiB0ZXN0IHRo - YXQgdXNlciBpcyBhYmxlIHRvIGNvbm5lY3QgdG8gbWVtY2FjaGVkIGZyb20g - YnVpbGQgeW1sIn0sImNvbW1lbnQiOnsidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9kcnktZG9jay9hYXJjaDY0X3UxNmFsbC9pc3N1ZXMv - Y29tbWVudHMvMzkyNjY0MzAxIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1 - Yi5jb20vZHJ5LWRvY2svYWFyY2g2NF91MTZhbGwvaXNzdWVzLzkjaXNzdWVj - b21tZW50LTM5MjY2NDMwMSIsImlzc3VlX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvZHJ5LWRvY2svYWFyY2g2NF91MTZhbGwvaXNzdWVz - LzkiLCJpZCI6MzkyNjY0MzAxLCJ1c2VyIjp7ImxvZ2luIjoiUmFuamFuc2lu - Z2g0MSIsImlkIjozNzQwMzA0MywiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZh - dGFyczAuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzc0MDMwNDM/dj00Iiwi - Z3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL1JhbmphbnNpbmdoNDEiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0 - aHViLmNvbS9SYW5qYW5zaW5naDQxIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmFuamFuc2luZ2g0MS9mb2xsb3dl - cnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9SYW5qYW5zaW5naDQxL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJn - aXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1Jhbmph - bnNpbmdoNDEvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3VzZXJzL1JhbmphbnNpbmdoNDEvc3RhcnJl - ZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SYW5qYW5zaW5naDQxL3N1YnNjcmlw - dGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vdXNlcnMvUmFuamFuc2luZ2g0MS9vcmdzIiwicmVwb3NfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SYW5qYW5zaW5naDQxL3Jl - cG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvUmFuamFuc2luZ2g0MS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRf - ZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmFu - amFuc2luZ2g0MS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNp - dGVfYWRtaW4iOmZhbHNlfSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6 - MTc6NTBaIiwidXBkYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBaIiwi - YXV0aG9yX2Fzc29jaWF0aW9uIjoiQ09OVFJJQlVUT1IiLCJib2R5IjoidmVy - aWZpZWQgXHJcblxyXG5odHRwczovL3JjYXBwLnNoaXBwYWJsZS5jb20vZ2l0 - aHViL1JhbmphbnNpbmdoNDEvdTE2YWFyY2h0ZXN0L3J1bnMvOS8xL2NvbnNv - bGUifX0sInB1YmxpYyI6dHJ1ZSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlU - MDY6MTc6NTBaIiwib3JnIjp7ImlkIjoxMzk1Nzc0MywibG9naW4iOiJkcnkt - ZG9jayIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9vcmdzL2RyeS1kb2NrIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8v - YXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMzk1Nzc0Mz8ifX0s - eyJpZCI6Ijc3NDE1MzQwODgiLCJ0eXBlIjoiRGVsZXRlRXZlbnQiLCJhY3Rv - ciI6eyJpZCI6MzgwNjA5NCwibG9naW4iOiJ5YW5jMCIsImRpc3BsYXlfbG9n - aW4iOiJ5YW5jMCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS91c2Vycy95YW5jMCIsImF2YXRhcl91cmwiOiJodHRw - czovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzgwNjA5ND8i - fSwicmVwbyI6eyJpZCI6MTM1MTg2MzQxLCJuYW1lIjoieWFuYzAvbXVsdGll - bnYtZXhhbXBsZSIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MveWFuYzAvbXVsdGllbnYtZXhhbXBsZSJ9LCJwYXlsb2FkIjp7InJlZiI6 - ImZsdXgtd3JpdGUtY2hlY2siLCJyZWZfdHlwZSI6InRhZyIsInB1c2hlcl90 - eXBlIjoidXNlciJ9LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4 - LTA1LTI5VDA2OjE3OjUwWiJ9LHsiaWQiOiI3NzQxNTM0MDg2IiwidHlwZSI6 - IlB1c2hFdmVudCIsImFjdG9yIjp7ImlkIjoyMDM0ODQ1MSwibG9naW4iOiJs - enlwbGF5ZXIiLCJkaXNwbGF5X2xvZ2luIjoibHp5cGxheWVyIiwiZ3JhdmF0 - YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L2x6eXBsYXllciIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0 - aHVidXNlcmNvbnRlbnQuY29tL3UvMjAzNDg0NTE/In0sInJlcG8iOnsiaWQi - OjEzMDE1OTM0OCwibmFtZSI6Imx6eXBsYXllci9NdWx0aS12aWV3X3JlZ2lz - dHJhaW9uX3dMUlNfZiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvbHp5cGxheWVyL011bHRpLXZpZXdfcmVnaXN0cmFpb25fd0xSU19m - In0sInBheWxvYWQiOnsicHVzaF9pZCI6MjYwMDU3MTA1MCwic2l6ZSI6MSwi - ZGlzdGluY3Rfc2l6ZSI6MSwicmVmIjoicmVmcy9oZWFkcy9iZXN0X3BlcmZv - cm1hbmNlIiwiaGVhZCI6IjdhODNlZWIxMmI5N2Y1NTNiNzY0M2YyM2QzN2Nh - NjQ5ZjM1YjVlZWYiLCJiZWZvcmUiOiI1ZjM3ZjkyMzI4NGUzM2JlZjE0N2Y0 - YmRiNGI2NWQ3NDcyYjU0NTAzIiwiY29tbWl0cyI6W3sic2hhIjoiN2E4M2Vl - YjEyYjk3ZjU1M2I3NjQzZjIzZDM3Y2E2NDlmMzViNWVlZiIsImF1dGhvciI6 - eyJlbWFpbCI6IjI5MjQ0MjU0NUBxcS5jb20iLCJuYW1lIjoibHp5cGxheWVy - In0sIm1lc3NhZ2UiOiJvdXRsaWVyX2luY2x1ZGVkIiwiZGlzdGluY3QiOnRy - dWUsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbHp5cGxh - eWVyL011bHRpLXZpZXdfcmVnaXN0cmFpb25fd0xSU19mL2NvbW1pdHMvN2E4 - M2VlYjEyYjk3ZjU1M2I3NjQzZjIzZDM3Y2E2NDlmMzViNWVlZiJ9XX0sInB1 - YmxpYyI6dHJ1ZSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBa - In0seyJpZCI6Ijc3NDE1MzQwODUiLCJ0eXBlIjoiUHVzaEV2ZW50IiwiYWN0 - b3IiOnsiaWQiOjM0NTUwMzQyLCJsb2dpbiI6Ikx5dWJvc2xhdktyYXN0ZXYi - LCJkaXNwbGF5X2xvZ2luIjoiTHl1Ym9zbGF2S3Jhc3RldiIsImdyYXZhdGFy - X2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9M - eXVib3NsYXZLcmFzdGV2IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFy - cy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zNDU1MDM0Mj8ifSwicmVwbyI6 - eyJpZCI6MTM0NDYyMDk3LCJuYW1lIjoiTHl1Ym9zbGF2S3Jhc3Rldi9DU2hh - cnAtV2ViLURldmVsb3BtZW50LUJhc2ljcy1NYXktMjAxOCIsInVybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvTHl1Ym9zbGF2S3Jhc3Rldi9D - U2hhcnAtV2ViLURldmVsb3BtZW50LUJhc2ljcy1NYXktMjAxOCJ9LCJwYXls - b2FkIjp7InB1c2hfaWQiOjI2MDA1NzEwNDksInNpemUiOjEsImRpc3RpbmN0 - X3NpemUiOjEsInJlZiI6InJlZnMvaGVhZHMvbWFzdGVyIiwiaGVhZCI6ImE3 - ODk0NjUyNDMzZWUxNzNjOTcyMTBmNDRkZjMxODEyNzc3ZmNmN2QiLCJiZWZv - cmUiOiIxZTQwZmU5MGVlZmRlNTQ5MGQ2MTMxZDA5MTNmMmRlZjJhY2Y1YzRh - IiwiY29tbWl0cyI6W3sic2hhIjoiYTc4OTQ2NTI0MzNlZTE3M2M5NzIxMGY0 - NGRmMzE4MTI3NzdmY2Y3ZCIsImF1dGhvciI6eyJlbWFpbCI6Imx1Ym9zbGF2 - LmtydXN0ZXZAYWJ2LmJnIiwibmFtZSI6Ikx5dWJvc2xhdiBLcmFzdGV2In0s - Im1lc3NhZ2UiOiJBZGQgZmlsZXMgdmlhIHVwbG9hZCIsImRpc3RpbmN0Ijp0 - cnVlLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL0x5dWJv - c2xhdktyYXN0ZXYvQ1NoYXJwLVdlYi1EZXZlbG9wbWVudC1CYXNpY3MtTWF5 - LTIwMTgvY29tbWl0cy9hNzg5NDY1MjQzM2VlMTczYzk3MjEwZjQ0ZGYzMTgx - Mjc3N2ZjZjdkIn1dfSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAx - OC0wNS0yOVQwNjoxNzo1MFoifSx7ImlkIjoiNzc0MTUzNDA4MiIsInR5cGUi - OiJQdXNoRXZlbnQiLCJhY3RvciI6eyJpZCI6ODQwMjMzLCJsb2dpbiI6InRl - eHRjaGltcCIsImRpc3BsYXlfbG9naW4iOiJ0ZXh0Y2hpbXAiLCJncmF2YXRh - cl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - dGV4dGNoaW1wIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRo - dWJ1c2VyY29udGVudC5jb20vdS84NDAyMzM/In0sInJlcG8iOnsiaWQiOjEy - OTUxNDUwNiwibmFtZSI6InRleHRjaGltcC93ZGktMjciLCJ1cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL3RleHRjaGltcC93ZGktMjcifSwi - cGF5bG9hZCI6eyJwdXNoX2lkIjoyNjAwNTcxMDQ4LCJzaXplIjoxLCJkaXN0 - aW5jdF9zaXplIjoxLCJyZWYiOiJyZWZzL2hlYWRzL21hc3RlciIsImhlYWQi - OiIxMmVmYTRmZTk4ZTM0NzNjZWUxOTM4NTllMWZkNjk0NDQ4ZDc3YzZkIiwi - YmVmb3JlIjoiNDljMmY2YzQ1ODI2NGNmMWY1YzEzZDAyMWRjYzcyN2I4ZmVm - MWEyMyIsImNvbW1pdHMiOlt7InNoYSI6IjEyZWZhNGZlOThlMzQ3M2NlZTE5 - Mzg1OWUxZmQ2OTQ0NDhkNzdjNmQiLCJhdXRob3IiOnsiZW1haWwiOiJ0ZXh0 - Y2hpbXBAZ21haWwuY29tIiwibmFtZSI6Ikx1a2UgSGFtbWVyIn0sIm1lc3Nh - Z2UiOiJDT1JTIHNwbGFpbmVyIiwiZGlzdGluY3QiOnRydWUsInVybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGV4dGNoaW1wL3dkaS0yNy9j - b21taXRzLzEyZWZhNGZlOThlMzQ3M2NlZTE5Mzg1OWUxZmQ2OTQ0NDhkNzdj - NmQifV19LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5 - VDA2OjE3OjUwWiJ9LHsiaWQiOiI3NzQxNTM0MDgwIiwidHlwZSI6IlB1c2hF - dmVudCIsImFjdG9yIjp7ImlkIjo4NDI3OTk0LCJsb2dpbiI6IkFzcGVkbSIs - ImRpc3BsYXlfbG9naW4iOiJBc3BlZG0iLCJncmF2YXRhcl9pZCI6IiIsInVy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXNwZWRtIiwiYXZh - dGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5j - b20vdS84NDI3OTk0PyJ9LCJyZXBvIjp7ImlkIjoxMzUyNDk5MTcsIm5hbWUi - OiJBc3BlZG0vdnVlLWFpciIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvQXNwZWRtL3Z1ZS1haXIifSwicGF5bG9hZCI6eyJwdXNoX2lk - IjoyNjAwNTcxMDQ2LCJzaXplIjoxLCJkaXN0aW5jdF9zaXplIjoxLCJyZWYi - OiJyZWZzL2hlYWRzL21hc3RlciIsImhlYWQiOiIwYzFmZTQyY2QxM2Q5ODli - ZWM3NWNlMDRlMDA5Y2ViNDIwZWUzZWRkIiwiYmVmb3JlIjoiYmY5MGE5NGVm - Y2ExODE0MDcyZGFhOTIzMjNiZDU3YWJkOTY2NzY3ZiIsImNvbW1pdHMiOlt7 - InNoYSI6IjBjMWZlNDJjZDEzZDk4OWJlYzc1Y2UwNGUwMDljZWI0MjBlZTNl - ZGQiLCJhdXRob3IiOnsiZW1haWwiOiJhc3BlZG1AZ21haWwuY29tIiwibmFt - ZSI6ItCi0LDQs9C40YAg0KXQsNC00LbQuNC10LIifSwibWVzc2FnZSI6IkNy - ZWF0ZSBSRUFETUUubWQiLCJkaXN0aW5jdCI6dHJ1ZSwidXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9Bc3BlZG0vdnVlLWFpci9jb21taXRz - LzBjMWZlNDJjZDEzZDk4OWJlYzc1Y2UwNGUwMDljZWI0MjBlZTNlZGQifV19 - LCJwdWJsaWMiOnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3 - OjUwWiJ9LHsiaWQiOiI3NzQxNTM0MDgzIiwidHlwZSI6Iklzc3VlQ29tbWVu - dEV2ZW50IiwiYWN0b3IiOnsiaWQiOjM5MjMxNTY4LCJsb2dpbiI6ImFiZHVs - a2FsYW0xMjMzIiwiZGlzcGxheV9sb2dpbiI6ImFiZHVsa2FsYW0xMjMzIiwi - Z3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL2FiZHVsa2FsYW0xMjMzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8v - YXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zOTIzMTU2OD8ifSwi - cmVwbyI6eyJpZCI6OTU1MjE3OCwibmFtZSI6ImFkYXNpbHZhL2pvdXJuYWwy - ZWJvb2siLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2Fk - YXNpbHZhL2pvdXJuYWwyZWJvb2sifSwicGF5bG9hZCI6eyJhY3Rpb24iOiJj - cmVhdGVkIiwiaXNzdWUiOnsidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS9yZXBvcy9hZGFzaWx2YS9qb3VybmFsMmVib29rL2lzc3Vlcy8zMiIsInJl - cG9zaXRvcnlfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9h - ZGFzaWx2YS9qb3VybmFsMmVib29rIiwibGFiZWxzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvYWRhc2lsdmEvam91cm5hbDJlYm9vay9p - c3N1ZXMvMzIvbGFiZWxzey9uYW1lfSIsImNvbW1lbnRzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYWRhc2lsdmEvam91cm5hbDJlYm9v - ay9pc3N1ZXMvMzIvY29tbWVudHMiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9hZGFzaWx2YS9qb3VybmFsMmVib29rL2lz - c3Vlcy8zMi9ldmVudHMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNv - bS9hZGFzaWx2YS9qb3VybmFsMmVib29rL2lzc3Vlcy8zMiIsImlkIjo2NjE0 - MDMwMywibnVtYmVyIjozMiwidGl0bGUiOiJJbnN0YWxsIElzc3VlOiBcIklt - cG9ydEVycm9yOiBjYW5ub3QgaW1wb3J0IG5hbWUgSW1hZ2VUa1wiIiwidXNl - ciI6eyJsb2dpbiI6ImdhbWVzYm9vayIsImlkIjozNTQwMjcsImF2YXRhcl91 - cmwiOiJodHRwczovL2F2YXRhcnMyLmdpdGh1YnVzZXJjb250ZW50LmNvbS91 - LzM1NDAyNz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vdXNlcnMvZ2FtZXNib29rIiwiaHRtbF91cmwiOiJo - dHRwczovL2dpdGh1Yi5jb20vZ2FtZXNib29rIiwiZm9sbG93ZXJzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZ2FtZXNib29rL2ZvbGxv - d2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL2dhbWVzYm9vay9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lz - dHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9nYW1lc2Jv - b2svZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL2dhbWVzYm9vay9zdGFycmVkey9vd25lcn17 - L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3VzZXJzL2dhbWVzYm9vay9zdWJzY3JpcHRpb25zIiwib3JnYW5p - emF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2dh - bWVzYm9vay9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS91c2Vycy9nYW1lc2Jvb2svcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9nYW1lc2Jvb2svZXZlbnRzey9w - cml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2dhbWVzYm9vay9yZWNlaXZlZF9ldmVudHMiLCJ0 - eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlfSwibGFiZWxzIjpbXSwi - c3RhdGUiOiJjbG9zZWQiLCJsb2NrZWQiOmZhbHNlLCJhc3NpZ25lZSI6bnVs - bCwiYXNzaWduZWVzIjpbXSwibWlsZXN0b25lIjpudWxsLCJjb21tZW50cyI6 - MiwiY3JlYXRlZF9hdCI6IjIwMTUtMDQtMDNUMTI6NDU6NDNaIiwidXBkYXRl - ZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBaIiwiY2xvc2VkX2F0IjoiMjAx - NS0wNC0wM1QxMjo0NjoyNFoiLCJhdXRob3JfYXNzb2NpYXRpb24iOiJOT05F - IiwiYm9keSI6IkkgaGF2ZSBjbG9uZWQgdGhlIHByb2plY3QgaW50byBhIGRp - cmVjdG9yeTsgYnV0IHdoZW4gSSB0cnkgcHl0aG9uIGpvdXJuYWwyZWJvb2su - cHkgLCBJIGdldCB0aGlzIGVycm9yOlxuXG5gYGBcbmZyb20gUElMIGltcG9y - dCBJbWFnZVRrXG5JbXBvcnRFcnJvcjogY2Fubm90IGltcG9ydCBuYW1lIElt - YWdlVGtcbmBgYFxuXG5JIGFtIHJ1bm5pbmcgUHl0aG9uIDIuNy42IChkZWZh - dWx0LCBNYXIgMjIgMjAxNCwgMjI6NTk6NTYpLCB1bmRlciBVYnVudHUgMTQu - MDRcblxuUElMLlZFUlNJT04gc2hvd3MgMS4xLjdcbiJ9LCJjb21tZW50Ijp7 - InVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYWRhc2lsdmEv - am91cm5hbDJlYm9vay9pc3N1ZXMvY29tbWVudHMvMzkyNjY0MzAwIiwiaHRt - bF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYWRhc2lsdmEvam91cm5hbDJl - Ym9vay9pc3N1ZXMvMzIjaXNzdWVjb21tZW50LTM5MjY2NDMwMCIsImlzc3Vl - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYWRhc2lsdmEv - am91cm5hbDJlYm9vay9pc3N1ZXMvMzIiLCJpZCI6MzkyNjY0MzAwLCJ1c2Vy - Ijp7ImxvZ2luIjoiYWJkdWxrYWxhbTEyMzMiLCJpZCI6MzkyMzE1NjgsImF2 - YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMwLmdpdGh1YnVzZXJjb250ZW50 - LmNvbS91LzM5MjMxNTY4P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmR1bGthbGFtMTIzMyIs - Imh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FiZHVsa2FsYW0xMjMz - IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvYWJkdWxrYWxhbTEyMzMvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkdWxrYWxhbTEyMzMv - Zm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkdWxrYWxhbTEyMzMvZ2lzdHN7L2dp - c3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3VzZXJzL2FiZHVsa2FsYW0xMjMzL3N0YXJyZWR7L293bmVyfXsvcmVwb30i - LCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMvYWJkdWxrYWxhbTEyMzMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXph - dGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmR1 - bGthbGFtMTIzMy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9hYmR1bGthbGFtMTIzMy9yZXBvcyIsImV2ZW50c191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FiZHVsa2FsYW0x - MjMzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmR1bGthbGFtMTIzMy9y - ZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZh - bHNlfSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBaIiwidXBk - YXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBaIiwiYXV0aG9yX2Fzc29j - aWF0aW9uIjoiTk9ORSIsImJvZHkiOiJmb3IgcHl0aG9uMyA6IHN1ZG8gYXB0 - LWdldCBpbnN0YWxsIHB5dGhvbjMtcGlsLmltYWdldGsifX0sInB1YmxpYyI6 - dHJ1ZSwiY3JlYXRlZF9hdCI6IjIwMTgtMDUtMjlUMDY6MTc6NTBaIn0seyJp - ZCI6Ijc3NDE1MzQwNzkiLCJ0eXBlIjoiUHVzaEV2ZW50IiwiYWN0b3IiOnsi - aWQiOjI1NjM3OTI1LCJsb2dpbiI6ImFseXNhbm5lIiwiZGlzcGxheV9sb2dp - biI6ImFseXNhbm5lIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3VzZXJzL2FseXNhbm5lIiwiYXZhdGFyX3VybCI6 - Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yNTYz - NzkyNT8ifSwicmVwbyI6eyJpZCI6MTMyOTQ1MTU2LCJuYW1lIjoiUHVzaGVl - bmllcy93b21lbi13aG8tY2FuIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4ifSwicGF5bG9h - ZCI6eyJwdXNoX2lkIjoyNjAwNTcxMDQ1LCJzaXplIjoyLCJkaXN0aW5jdF9z - aXplIjoxLCJyZWYiOiJyZWZzL2hlYWRzL21hc3RlciIsImhlYWQiOiJkOTUx - ZTc0NGUyYjA1ZTc5MmExZTVkOGZjMDJlYWNkYjRkMWQ3Y2NkIiwiYmVmb3Jl - IjoiYmE1ZDVkNTZmOTdhYWRlMGFjMjQ1NjcwN2ViMmNlMWJlMjgwYzExOCIs - ImNvbW1pdHMiOlt7InNoYSI6IjJiODdmY2NjNmZjNjM0NDI0OGFlNmQ1MTdj - MGY1OWMyNDk4NDY1ZTkiLCJhdXRob3IiOnsiZW1haWwiOiJsb3Vpc2VqZWFu - ODEwMkBnbWFpbC5jb20iLCJuYW1lIjoiTG91aXNlIEplYW4ifSwibWVzc2Fn - ZSI6InNpZ251cCBmb3JtIHdpdGggc3RlcGgncyBkZXNpZ24gYWRkZWQiLCJk - aXN0aW5jdCI6ZmFsc2UsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2NvbW1pdHMvMmI4N2Zj - Y2M2ZmM2MzQ0MjQ4YWU2ZDUxN2MwZjU5YzI0OTg0NjVlOSJ9LHsic2hhIjoi - ZDk1MWU3NDRlMmIwNWU3OTJhMWU1ZDhmYzAyZWFjZGI0ZDFkN2NjZCIsImF1 - dGhvciI6eyJlbWFpbCI6ImFseXNhbm5lQHVzZXJzLm5vcmVwbHkuZ2l0aHVi - LmNvbSIsIm5hbWUiOiJOYXRhbGlhIEZlcm7DoW5kZXoifSwibWVzc2FnZSI6 - Ik1lcmdlIHB1bGwgcmVxdWVzdCAjMjkgZnJvbSBQdXNoZWVuaWVzL3NpZ251 - cGZvcm13aXRoZGVzaWduXG5cbnNpZ251cCBmb3JtIHdpdGggc3RlcGgncyBk - ZXNpZ24gYWRkZWQiLCJkaXN0aW5jdCI6dHJ1ZSwidXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4v - Y29tbWl0cy9kOTUxZTc0NGUyYjA1ZTc5MmExZTVkOGZjMDJlYWNkYjRkMWQ3 - Y2NkIn1dfSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0y - OVQwNjoxNzo1MFoifSx7ImlkIjoiNzc0MTUzNDA3OCIsInR5cGUiOiJGb3Jr - RXZlbnQiLCJhY3RvciI6eyJpZCI6MzYwMDMxNjUsImxvZ2luIjoiY2wyNTM0 - IiwiZGlzcGxheV9sb2dpbiI6ImNsMjUzNCIsImdyYXZhdGFyX2lkIjoiIiwi - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbDI1MzQiLCJh - dmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50 - LmNvbS91LzM2MDAzMTY1PyJ9LCJyZXBvIjp7ImlkIjoxMjYwMzc0MjAsIm5h - bWUiOiJsZWFybi1jby1zdHVkZW50cy9odG1sLWFsYnVtLWNvdmVyLW55Yy13 - ZWItMDYwNDE4IiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9sZWFybi1jby1zdHVkZW50cy9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWIt - MDYwNDE4In0sInBheWxvYWQiOnsiZm9ya2VlIjp7ImlkIjoxMzUyNDk5NDEs - Im5hbWUiOiJodG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4IiwiZnVs - bF9uYW1lIjoiY2wyNTM0L2h0bWwtYWxidW0tY292ZXItbnljLXdlYi0wNjA0 - MTgiLCJvd25lciI6eyJsb2dpbiI6ImNsMjUzNCIsImlkIjozNjAwMzE2NSwi - YXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFyczEuZ2l0aHVidXNlcmNvbnRl - bnQuY29tL3UvMzYwMDMxNjU/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsMjUzNCIsImh0bWxf - dXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2NsMjUzNCIsImZvbGxvd2Vyc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsMjUzNC9mb2xs - b3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9jbDI1MzQvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3Rz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2wyNTM0L2dp - c3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9jbDI1MzQvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIs - InN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9jbDI1MzQvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbDI1MzQvb3JncyIs - InJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2wy - NTM0L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMvY2wyNTM0L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9l - dmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbDI1 - MzQvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWlu - IjpmYWxzZX0sInByaXZhdGUiOmZhbHNlLCJodG1sX3VybCI6Imh0dHBzOi8v - Z2l0aHViLmNvbS9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2 - MDQxOCIsImRlc2NyaXB0aW9uIjpudWxsLCJmb3JrIjp0cnVlLCJ1cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2NsMjUzNC9odG1sLWFsYnVt - LWNvdmVyLW55Yy13ZWItMDYwNDE4IiwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1u - eWMtd2ViLTA2MDQxOC9mb3JrcyIsImtleXNfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMt - d2ViLTA2MDQxOC9rZXlzey9rZXlfaWR9IiwiY29sbGFib3JhdG9yc191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2NsMjUzNC9odG1sLWFs - YnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4L2NvbGxhYm9yYXRvcnN7L2NvbGxh - Ym9yYXRvcn0iLCJ0ZWFtc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4 - L3RlYW1zIiwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y - ZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9o - b29rcyIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYw - NDE4L2lzc3Vlcy9ldmVudHN7L251bWJlcn0iLCJldmVudHNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1j - b3Zlci1ueWMtd2ViLTA2MDQxOC9ldmVudHMiLCJhc3NpZ25lZXNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1 - bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9hc3NpZ25lZXN7L3VzZXJ9IiwiYnJh - bmNoZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1 - MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9icmFuY2hlc3sv - YnJhbmNofSIsInRhZ3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y - ZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC90 - YWdzIiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9naXQv - YmxvYnN7L3NoYX0iLCJnaXRfdGFnc191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWIt - MDYwNDE4L2dpdC90YWdzey9zaGF9IiwiZ2l0X3JlZnNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zl - ci1ueWMtd2ViLTA2MDQxOC9naXQvcmVmc3svc2hhfSIsInRyZWVzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwtYWxi - dW0tY292ZXItbnljLXdlYi0wNjA0MTgvZ2l0L3RyZWVzey9zaGF9Iiwic3Rh - dHVzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1 - MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9zdGF0dXNlcy97 - c2hhfSIsImxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4 - L2xhbmd1YWdlcyIsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2Vi - LTA2MDQxOC9zdGFyZ2F6ZXJzIiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwtYWxidW0tY292 - ZXItbnljLXdlYi0wNjA0MTgvY29udHJpYnV0b3JzIiwic3Vic2NyaWJlcnNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRt - bC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9zdWJzY3JpYmVycyIsInN1 - YnNjcmlwdGlvbl91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4L3N1YnNj - cmlwdGlvbiIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQx - OC9jb21taXRzey9zaGF9IiwiZ2l0X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1jb3Zlci1u - eWMtd2ViLTA2MDQxOC9naXQvY29tbWl0c3svc2hhfSIsImNvbW1lbnRzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwt - YWxidW0tY292ZXItbnljLXdlYi0wNjA0MTgvY29tbWVudHN7L251bWJlcn0i - LCJpc3N1ZV9jb21tZW50X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvY2wyNTM0L2h0bWwtYWxidW0tY292ZXItbnljLXdlYi0wNjA0MTgv - aXNzdWVzL2NvbW1lbnRzey9udW1iZXJ9IiwiY29udGVudHNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1bS1j - b3Zlci1ueWMtd2ViLTA2MDQxOC9jb250ZW50cy97K3BhdGh9IiwiY29tcGFy - ZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2NsMjUzNC9o - dG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4L2NvbXBhcmUve2Jhc2V9 - Li4ue2hlYWR9IiwibWVyZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvY2wyNTM0L2h0bWwtYWxidW0tY292ZXItbnljLXdlYi0wNjA0 - MTgvbWVyZ2VzIiwiYXJjaGl2ZV91cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYw - NDE4L3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLCJkb3dubG9hZHNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1hbGJ1 - bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9kb3dubG9hZHMiLCJpc3N1ZXNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9jbDI1MzQvaHRtbC1h - bGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOC9pc3N1ZXN7L251bWJlcn0iLCJw - dWxsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL2NsMjUz - NC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4L3B1bGxzey9udW1i - ZXJ9IiwibWlsZXN0b25lc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL2NsMjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4 - L21pbGVzdG9uZXN7L251bWJlcn0iLCJub3RpZmljYXRpb25zX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwtYWxidW0t - Y292ZXItbnljLXdlYi0wNjA0MTgvbm90aWZpY2F0aW9uc3s/c2luY2UsYWxs - LHBhcnRpY2lwYXRpbmd9IiwibGFiZWxzX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwtYWxidW0tY292ZXItbnljLXdl - Yi0wNjA0MTgvbGFiZWxzey9uYW1lfSIsInJlbGVhc2VzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0bWwtYWxidW0tY292 - ZXItbnljLXdlYi0wNjA0MTgvcmVsZWFzZXN7L2lkfSIsImRlcGxveW1lbnRz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2wyNTM0L2h0 - bWwtYWxidW0tY292ZXItbnljLXdlYi0wNjA0MTgvZGVwbG95bWVudHMiLCJj - cmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo0OVoiLCJ1cGRhdGVkX2F0 - IjoiMjAxOC0wNC0yM1QxNDoxNzoyMVoiLCJwdXNoZWRfYXQiOiIyMDE4LTA1 - LTI5VDAzOjI0OjM1WiIsImdpdF91cmwiOiJnaXQ6Ly9naXRodWIuY29tL2Ns - MjUzNC9odG1sLWFsYnVtLWNvdmVyLW55Yy13ZWItMDYwNDE4LmdpdCIsInNz - aF91cmwiOiJnaXRAZ2l0aHViLmNvbTpjbDI1MzQvaHRtbC1hbGJ1bS1jb3Zl - ci1ueWMtd2ViLTA2MDQxOC5naXQiLCJjbG9uZV91cmwiOiJodHRwczovL2dp - dGh1Yi5jb20vY2wyNTM0L2h0bWwtYWxidW0tY292ZXItbnljLXdlYi0wNjA0 - MTguZ2l0Iiwic3ZuX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jbDI1MzQv - aHRtbC1hbGJ1bS1jb3Zlci1ueWMtd2ViLTA2MDQxOCIsImhvbWVwYWdlIjpu - dWxsLCJzaXplIjo3MTQxLCJzdGFyZ2F6ZXJzX2NvdW50IjowLCJ3YXRjaGVy - c19jb3VudCI6MCwibGFuZ3VhZ2UiOm51bGwsImhhc19pc3N1ZXMiOmZhbHNl - LCJoYXNfcHJvamVjdHMiOnRydWUsImhhc19kb3dubG9hZHMiOnRydWUsImhh - c193aWtpIjpmYWxzZSwiaGFzX3BhZ2VzIjpmYWxzZSwiZm9ya3NfY291bnQi - OjAsIm1pcnJvcl91cmwiOm51bGwsImFyY2hpdmVkIjpmYWxzZSwib3Blbl9p - c3N1ZXNfY291bnQiOjAsImxpY2Vuc2UiOnsia2V5Ijoib3RoZXIiLCJuYW1l - IjoiT3RoZXIiLCJzcGR4X2lkIjpudWxsLCJ1cmwiOm51bGx9LCJmb3JrcyI6 - MCwib3Blbl9pc3N1ZXMiOjAsIndhdGNoZXJzIjowLCJkZWZhdWx0X2JyYW5j - aCI6Im1hc3RlciIsInB1YmxpYyI6dHJ1ZX19LCJwdWJsaWMiOnRydWUsImNy - ZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUwWiIsIm9yZyI6eyJpZCI6 - ODgyNTQ3NiwibG9naW4iOiJsZWFybi1jby1zdHVkZW50cyIsImdyYXZhdGFy - X2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9vcmdzL2xl - YXJuLWNvLXN0dWRlbnRzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFy - cy5naXRodWJ1c2VyY29udGVudC5jb20vdS84ODI1NDc2PyJ9fSx7ImlkIjoi - Nzc0MTUzNDA3NiIsInR5cGUiOiJQdXNoRXZlbnQiLCJhY3RvciI6eyJpZCI6 - MjkwNTg2NSwibG9naW4iOiJtcGl6ZW5iZXJnIiwiZGlzcGxheV9sb2dpbiI6 - Im1waXplbmJlcmciLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vdXNlcnMvbXBpemVuYmVyZyIsImF2YXRhcl91cmwi - OiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjkw - NTg2NT8ifSwicmVwbyI6eyJpZCI6MTI2NDcwNzIwLCJuYW1lIjoibXBpemVu - YmVyZy9ydXN0LWJvb2siLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL21waXplbmJlcmcvcnVzdC1ib29rIn0sInBheWxvYWQiOnsicHVz - aF9pZCI6MjYwMDU3MTA0NCwic2l6ZSI6MSwiZGlzdGluY3Rfc2l6ZSI6MSwi - cmVmIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJoZWFkIjoiMmE0ZDhlMzU4ZTZl - MjZkMzNmYmNmZGRmZThkZWQ5YjNhZWU1NDZiZSIsImJlZm9yZSI6ImJlMGE4 - YjFmNzkzMmNkMjBkYTViYjljMGM1MzFmYTg4OWMzYzlhOGUiLCJjb21taXRz - IjpbeyJzaGEiOiIyYTRkOGUzNThlNmUyNmQzM2ZiY2ZkZGZlOGRlZDliM2Fl - ZTU0NmJlIiwiYXV0aG9yIjp7ImVtYWlsIjoibWF0dGhpZXUucGl6ZW5iZXJn - QGdtYWlsLmNvbSIsIm5hbWUiOiJNYXR0aGlldSBQaXplbmJlcmcifSwibWVz - c2FnZSI6IjA5LWVycm9yIiwiZGlzdGluY3QiOnRydWUsInVybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvbXBpemVuYmVyZy9ydXN0LWJvb2sv - Y29tbWl0cy8yYTRkOGUzNThlNmUyNmQzM2ZiY2ZkZGZlOGRlZDliM2FlZTU0 - NmJlIn1dfSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0y - OVQwNjoxNzo1MFoifSx7ImlkIjoiNzc0MTUzNDA3NSIsInR5cGUiOiJDcmVh - dGVFdmVudCIsImFjdG9yIjp7ImlkIjoyMzAyNDgwNiwibG9naW4iOiJjaGVu - LXhpbnl1IiwiZGlzcGxheV9sb2dpbiI6ImNoZW4teGlueXUiLCJncmF2YXRh - cl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMv - Y2hlbi14aW55dSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0 - aHVidXNlcmNvbnRlbnQuY29tL3UvMjMwMjQ4MDY/In0sInJlcG8iOnsiaWQi - OjEzNTI0OTUwOCwibmFtZSI6ImNoZW4teGlueXUvMDUyOSIsInVybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvY2hlbi14aW55dS8wNTI5In0s - InBheWxvYWQiOnsicmVmIjoibWFzdGVyIiwicmVmX3R5cGUiOiJicmFuY2gi - LCJtYXN0ZXJfYnJhbmNoIjoibWFzdGVyIiwiZGVzY3JpcHRpb24iOiJ0ZXN0 - MDUyOSIsInB1c2hlcl90eXBlIjoidXNlciJ9LCJwdWJsaWMiOnRydWUsImNy - ZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUwWiJ9LHsiaWQiOiI3NzQx - NTM0MDY1IiwidHlwZSI6IkNyZWF0ZUV2ZW50IiwiYWN0b3IiOnsiaWQiOjM4 - MTk3NDI3LCJsb2dpbiI6Ilhub254MTQiLCJkaXNwbGF5X2xvZ2luIjoiWG5v - bngxNCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9Ybm9ueDE0IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8v - YXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODE5NzQyNz8ifSwi - cmVwbyI6eyJpZCI6MTM1MjQ5OTA5LCJuYW1lIjoiWG5vbngxNC9Tb3ktU2F2 - ZXMtVGhlLVVuaXZlcnNlIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS9yZXBvcy9Ybm9ueDE0L1NveS1TYXZlcy1UaGUtVW5pdmVyc2UifSwicGF5 - bG9hZCI6eyJyZWYiOiJtYXN0ZXIiLCJyZWZfdHlwZSI6ImJyYW5jaCIsIm1h - c3Rlcl9icmFuY2giOiJtYXN0ZXIiLCJkZXNjcmlwdGlvbiI6bnVsbCwicHVz - aGVyX3R5cGUiOiJ1c2VyIn0sInB1YmxpYyI6dHJ1ZSwiY3JlYXRlZF9hdCI6 - IjIwMTgtMDUtMjlUMDY6MTc6NTBaIn0seyJpZCI6Ijc3NDE1MzQwNTQiLCJ0 - eXBlIjoiUHVzaEV2ZW50IiwiYWN0b3IiOnsiaWQiOjY3MTMwLCJsb2dpbiI6 - ImNocjE1bSIsImRpc3BsYXlfbG9naW4iOiJjaHIxNW0iLCJncmF2YXRhcl9p - ZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2hy - MTVtIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2Vy - Y29udGVudC5jb20vdS82NzEzMD8ifSwicmVwbyI6eyJpZCI6OTYzNzM5NjEs - Im5hbWUiOiJjaHIxNW0vcmVzdW1lIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9jaHIxNW0vcmVzdW1lIn0sInBheWxvYWQiOnsicHVz - aF9pZCI6MjYwMDU3MTAzNiwic2l6ZSI6MSwiZGlzdGluY3Rfc2l6ZSI6MSwi - cmVmIjoicmVmcy9oZWFkcy9tYXN0ZXIiLCJoZWFkIjoiNThkYjJjZTU2Nzcy - ZmQyMjBjZWMzYmRjZjJjYjdkNTM0M2E4MGUzYiIsImJlZm9yZSI6IjMwZDFj - MGUxZmM3OTYxNmU2ZDY0MWJhZGIzNjAxMWE4ZWMzODA2ZmMiLCJjb21taXRz - IjpbeyJzaGEiOiI1OGRiMmNlNTY3NzJmZDIyMGNlYzNiZGNmMmNiN2Q1MzQz - YTgwZTNiIiwiYXV0aG9yIjp7ImVtYWlsIjoiY2hyaXNAbWNjb3JtaWNrLmN4 - IiwibmFtZSI6IkNocmlzIE1jQ29ybWljayJ9LCJtZXNzYWdlIjoiUHJpbnQg - c3R5bGVzIiwiZGlzdGluY3QiOnRydWUsInVybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvY2hyMTVtL3Jlc3VtZS9jb21taXRzLzU4ZGIyY2U1 - Njc3MmZkMjIwY2VjM2JkY2YyY2I3ZDUzNDNhODBlM2IifV19LCJwdWJsaWMi - OnRydWUsImNyZWF0ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjUwWiJ9LHsi - aWQiOiI3NzQxNTM0MDU3IiwidHlwZSI6IlB1bGxSZXF1ZXN0RXZlbnQiLCJh - Y3RvciI6eyJpZCI6MjU2Mzc5MjUsImxvZ2luIjoiYWx5c2FubmUiLCJkaXNw - bGF5X2xvZ2luIjoiYWx5c2FubmUiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWx5c2FubmUiLCJhdmF0 - YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNv - bS91LzI1NjM3OTI1PyJ9LCJyZXBvIjp7ImlkIjoxMzI5NDUxNTYsIm5hbWUi - OiJQdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4iLCJ1cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbiJ9 - LCJwYXlsb2FkIjp7ImFjdGlvbiI6ImNsb3NlZCIsIm51bWJlciI6MjksInB1 - bGxfcmVxdWVzdCI6eyJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl - cG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9wdWxscy8yOSIsImlkIjox - OTA5Nzc3NzQsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1B1c2hl - ZW5pZXMvd29tZW4td2hvLWNhbi9wdWxsLzI5IiwiZGlmZl91cmwiOiJodHRw - czovL2dpdGh1Yi5jb20vUHVzaGVlbmllcy93b21lbi13aG8tY2FuL3B1bGwv - MjkuZGlmZiIsInBhdGNoX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNo - ZWVuaWVzL3dvbWVuLXdoby1jYW4vcHVsbC8yOS5wYXRjaCIsImlzc3VlX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93 - b21lbi13aG8tY2FuL2lzc3Vlcy8yOSIsIm51bWJlciI6MjksInN0YXRlIjoi - Y2xvc2VkIiwibG9ja2VkIjpmYWxzZSwidGl0bGUiOiJzaWdudXAgZm9ybSB3 - aXRoIHN0ZXBoJ3MgZGVzaWduIGFkZGVkIiwidXNlciI6eyJsb2dpbiI6Imxv - dWplYW4iLCJpZCI6MzU1MjQyNzksImF2YXRhcl91cmwiOiJodHRwczovL2F2 - YXRhcnMyLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM1NTI0Mjc5P3Y9NCIs - ImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9sb3VqZWFuIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5j - b20vbG91amVhbiIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3VzZXJzL2xvdWplYW4vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG91amVhbi9mb2xs - b3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS91c2Vycy9sb3VqZWFuL2dpc3Rzey9naXN0X2lkfSIsInN0 - YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb3Vq - ZWFuL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG91amVhbi9zdWJz - Y3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2xvdWplYW4vb3JncyIsInJlcG9zX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG91amVhbi9yZXBvcyIsImV2 - ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvdWpl - YW4vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvdWplYW4vcmVjZWl2ZWRf - ZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZX0sImJv - ZHkiOiIiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOFQxODoxMDo0NFoiLCJ1 - cGRhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo0OVoiLCJjbG9zZWRfYXQi - OiIyMDE4LTA1LTI5VDA2OjE3OjQ5WiIsIm1lcmdlZF9hdCI6IjIwMTgtMDUt - MjlUMDY6MTc6NDlaIiwibWVyZ2VfY29tbWl0X3NoYSI6ImQ5NTFlNzQ0ZTJi - MDVlNzkyYTFlNWQ4ZmMwMmVhY2RiNGQxZDdjY2QiLCJhc3NpZ25lZSI6bnVs - bCwiYXNzaWduZWVzIjpbXSwicmVxdWVzdGVkX3Jldmlld2VycyI6W10sInJl - cXVlc3RlZF90ZWFtcyI6W10sImxhYmVscyI6W10sIm1pbGVzdG9uZSI6bnVs - bCwiY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9wdWxscy8yOS9jb21taXRzIiwi - cmV2aWV3X2NvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL3B1bGxzLzI5L2NvbW1l - bnRzIiwicmV2aWV3X2NvbW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vcHVsbHMvY29t - bWVudHN7L251bWJlcn0iLCJjb21tZW50c191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9pc3N1 - ZXMvMjkvY29tbWVudHMiLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9zdGF0 - dXNlcy8yYjg3ZmNjYzZmYzYzNDQyNDhhZTZkNTE3YzBmNTljMjQ5ODQ2NWU5 - IiwiaGVhZCI6eyJsYWJlbCI6IlB1c2hlZW5pZXM6c2lnbnVwZm9ybXdpdGhk - ZXNpZ24iLCJyZWYiOiJzaWdudXBmb3Jtd2l0aGRlc2lnbiIsInNoYSI6IjJi - ODdmY2NjNmZjNjM0NDI0OGFlNmQ1MTdjMGY1OWMyNDk4NDY1ZTkiLCJ1c2Vy - Ijp7ImxvZ2luIjoiUHVzaGVlbmllcyIsImlkIjozODc3OTM1MCwiYXZhdGFy - X3VybCI6Imh0dHBzOi8vYXZhdGFyczAuZ2l0aHVidXNlcmNvbnRlbnQuY29t - L3UvMzg3NzkzNTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMiLCJodG1sX3Vy - bCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNoZWVuaWVzIiwiZm9sbG93ZXJz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVlbmll - cy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL2ZvbGxvd2luZ3svb3RoZXJfdXNl - cn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L1B1c2hlZW5pZXMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvc3RhcnJl - ZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL3N1YnNjcmlwdGlv - bnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vdXNlcnMvUHVzaGVlbmllcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL3JlcG9zIiwiZXZl - bnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVl - bmllcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVlbmllcy9yZWNl - aXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNl - fSwicmVwbyI6eyJpZCI6MTMyOTQ1MTU2LCJuYW1lIjoid29tZW4td2hvLWNh - biIsImZ1bGxfbmFtZSI6IlB1c2hlZW5pZXMvd29tZW4td2hvLWNhbiIsIm93 - bmVyIjp7ImxvZ2luIjoiUHVzaGVlbmllcyIsImlkIjozODc3OTM1MCwiYXZh - dGFyX3VybCI6Imh0dHBzOi8vYXZhdGFyczAuZ2l0aHVidXNlcmNvbnRlbnQu - Y29tL3UvMzg3NzkzNTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMiLCJodG1s - X3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNoZWVuaWVzIiwiZm9sbG93 - ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVl - bmllcy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL2ZvbGxvd2luZ3svb3RoZXJf - dXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Vz - ZXJzL1B1c2hlZW5pZXMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvc3Rh - cnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL3N1YnNjcmlw - dGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vdXNlcnMvUHVzaGVlbmllcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL3JlcG9zIiwi - ZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVz - aGVlbmllcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVlbmllcy9y - ZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZh - bHNlfSwicHJpdmF0ZSI6ZmFsc2UsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRo - dWIuY29tL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbiIsImRlc2NyaXB0aW9u - IjoiQmxvZyBwcm9qZWN0IiwiZm9yayI6ZmFsc2UsInVybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2Fu - IiwiZm9ya3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9Q - dXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vZm9ya3MiLCJrZXlzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13 - aG8tY2FuL2tleXN7L2tleV9pZH0iLCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13 - aG8tY2FuL2NvbGxhYm9yYXRvcnN7L2NvbGxhYm9yYXRvcn0iLCJ0ZWFtc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMv - d29tZW4td2hvLWNhbi90ZWFtcyIsImhvb2tzX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2hv - b2tzIiwiaXNzdWVfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2lzc3Vlcy9ldmVu - dHN7L251bWJlcn0iLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vZXZlbnRzIiwi - YXNzaWduZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - UHVzaGVlbmllcy93b21lbi13aG8tY2FuL2Fzc2lnbmVlc3svdXNlcn0iLCJi - cmFuY2hlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1 - c2hlZW5pZXMvd29tZW4td2hvLWNhbi9icmFuY2hlc3svYnJhbmNofSIsInRh - Z3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVu - aWVzL3dvbWVuLXdoby1jYW4vdGFncyIsImJsb2JzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2Fu - L2dpdC9ibG9ic3svc2hhfSIsImdpdF90YWdzX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2dp - dC90YWdzey9zaGF9IiwiZ2l0X3JlZnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vZ2l0L3Jl - ZnN7L3NoYX0iLCJ0cmVlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9naXQvdHJlZXN7L3No - YX0iLCJzdGF0dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl - cG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9zdGF0dXNlcy97c2hhfSIs - Imxhbmd1YWdlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9sYW5ndWFnZXMiLCJzdGFyZ2F6 - ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVl - bmllcy93b21lbi13aG8tY2FuL3N0YXJnYXplcnMiLCJjb250cmlidXRvcnNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVz - L3dvbWVuLXdoby1jYW4vY29udHJpYnV0b3JzIiwic3Vic2NyaWJlcnNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dv - bWVuLXdoby1jYW4vc3Vic2NyaWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVu - LXdoby1jYW4vc3Vic2NyaXB0aW9uIiwiY29tbWl0c191cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNh - bi9jb21taXRzey9zaGF9IiwiZ2l0X2NvbW1pdHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4v - Z2l0L2NvbW1pdHN7L3NoYX0iLCJjb21tZW50c191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9j - b21tZW50c3svbnVtYmVyfSIsImlzc3VlX2NvbW1lbnRfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1j - YW4vaXNzdWVzL2NvbW1lbnRzey9udW1iZXJ9IiwiY29udGVudHNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVu - LXdoby1jYW4vY29udGVudHMveytwYXRofSIsImNvbXBhcmVfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdo - by1jYW4vY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLCJtZXJnZXNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVu - LXdoby1jYW4vbWVyZ2VzIiwiYXJjaGl2ZV91cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi97YXJj - aGl2ZV9mb3JtYXR9ey9yZWZ9IiwiZG93bmxvYWRzX3VybCI6Imh0dHBzOi8v - YXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2Fu - L2Rvd25sb2FkcyIsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9pc3N1ZXN7L251 - bWJlcn0iLCJwdWxsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl - cG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9wdWxsc3svbnVtYmVyfSIs - Im1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vbWlsZXN0b25lc3svbnVtYmVy - fSIsIm5vdGlmaWNhdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vbm90aWZpY2F0aW9u - c3s/c2luY2UsYWxsLHBhcnRpY2lwYXRpbmd9IiwibGFiZWxzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13 - aG8tY2FuL2xhYmVsc3svbmFtZX0iLCJyZWxlYXNlc191cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNh - bi9yZWxlYXNlc3svaWR9IiwiZGVwbG95bWVudHNfdXJsIjoiaHR0cHM6Ly9h - cGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4v - ZGVwbG95bWVudHMiLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0xMFQxOToyNTo0 - M1oiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzowM1oiLCJwdXNo - ZWRfYXQiOiIyMDE4LTA1LTI5VDA2OjE3OjQ5WiIsImdpdF91cmwiOiJnaXQ6 - Ly9naXRodWIuY29tL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi5naXQiLCJz - c2hfdXJsIjoiZ2l0QGdpdGh1Yi5jb206UHVzaGVlbmllcy93b21lbi13aG8t - Y2FuLmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNo - ZWVuaWVzL3dvbWVuLXdoby1jYW4uZ2l0Iiwic3ZuX3VybCI6Imh0dHBzOi8v - Z2l0aHViLmNvbS9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4iLCJob21lcGFn - ZSI6bnVsbCwic2l6ZSI6NDYxMCwic3RhcmdhemVyc19jb3VudCI6MSwid2F0 - Y2hlcnNfY291bnQiOjEsImxhbmd1YWdlIjoiUEhQIiwiaGFzX2lzc3VlcyI6 - dHJ1ZSwiaGFzX3Byb2plY3RzIjp0cnVlLCJoYXNfZG93bmxvYWRzIjp0cnVl - LCJoYXNfd2lraSI6dHJ1ZSwiaGFzX3BhZ2VzIjpmYWxzZSwiZm9ya3NfY291 - bnQiOjAsIm1pcnJvcl91cmwiOm51bGwsImFyY2hpdmVkIjpmYWxzZSwib3Bl - bl9pc3N1ZXNfY291bnQiOjAsImxpY2Vuc2UiOm51bGwsImZvcmtzIjowLCJv - cGVuX2lzc3VlcyI6MCwid2F0Y2hlcnMiOjEsImRlZmF1bHRfYnJhbmNoIjoi - bWFzdGVyIn19LCJiYXNlIjp7ImxhYmVsIjoiUHVzaGVlbmllczptYXN0ZXIi - LCJyZWYiOiJtYXN0ZXIiLCJzaGEiOiJlZGQ1MThjZTVhNzE4ZjVkYjFkMmQ0 - MDA1NTVhNGYyN2Q3ZjU0MGQ3IiwidXNlciI6eyJsb2dpbiI6IlB1c2hlZW5p - ZXMiLCJpZCI6Mzg3NzkzNTAsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRh - cnMwLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4Nzc5MzUwP3Y9NCIsImdy - YXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91 - c2Vycy9QdXNoZWVuaWVzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5j - b20vUHVzaGVlbmllcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvZm9sbG93ZXJzIiwiZm9sbG93 - aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVzaGVl - bmllcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL2dpc3Rzey9n - aXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9QdXNoZWVuaWVzL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJz - dWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvUHVzaGVlbmllcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMv - b3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl - cnMvUHVzaGVlbmllcy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvZXZlbnRzey9wcml2YWN5 - fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIu - Y29tL3VzZXJzL1B1c2hlZW5pZXMvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6 - IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZX0sInJlcG8iOnsiaWQiOjEzMjk0 - NTE1NiwibmFtZSI6IndvbWVuLXdoby1jYW4iLCJmdWxsX25hbWUiOiJQdXNo - ZWVuaWVzL3dvbWVuLXdoby1jYW4iLCJvd25lciI6eyJsb2dpbiI6IlB1c2hl - ZW5pZXMiLCJpZCI6Mzg3NzkzNTAsImF2YXRhcl91cmwiOiJodHRwczovL2F2 - YXRhcnMwLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4Nzc5MzUwP3Y9NCIs - ImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9QdXNoZWVuaWVzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1 - Yi5jb20vUHVzaGVlbmllcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvZm9sbG93ZXJzIiwiZm9s - bG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVz - aGVlbmllcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXNoZWVuaWVzL2dpc3Rz - ey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi - LmNvbS91c2Vycy9QdXNoZWVuaWVzL3N0YXJyZWR7L293bmVyfXsvcmVwb30i - LCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMvUHVzaGVlbmllcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9u - c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5p - ZXMvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - dXNlcnMvUHVzaGVlbmllcy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczov - L2FwaS5naXRodWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvZXZlbnRzey9wcml2 - YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3VzZXJzL1B1c2hlZW5pZXMvcmVjZWl2ZWRfZXZlbnRzIiwidHlw - ZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZX0sInByaXZhdGUiOmZhbHNl - LCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNoZWVuaWVzL3dv - bWVuLXdoby1jYW4iLCJkZXNjcmlwdGlvbiI6IkJsb2cgcHJvamVjdCIsImZv - cmsiOmZhbHNlLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbiIsImZvcmtzX3VybCI6Imh0dHBz - Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8t - Y2FuL2ZvcmtzIiwia2V5c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9rZXlzey9rZXlfaWR9 - IiwiY29sbGFib3JhdG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9jb2xsYWJvcmF0b3Jz - ey9jb2xsYWJvcmF0b3J9IiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vdGVhbXMi - LCJob29rc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1 - c2hlZW5pZXMvd29tZW4td2hvLWNhbi9ob29rcyIsImlzc3VlX2V2ZW50c191 - cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMv - d29tZW4td2hvLWNhbi9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiZXZlbnRz - X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmll - cy93b21lbi13aG8tY2FuL2V2ZW50cyIsImFzc2lnbmVlc191cmwiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hv - LWNhbi9hc3NpZ25lZXN7L3VzZXJ9IiwiYnJhbmNoZXNfdXJsIjoiaHR0cHM6 - Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1j - YW4vYnJhbmNoZXN7L2JyYW5jaH0iLCJ0YWdzX3VybCI6Imh0dHBzOi8vYXBp - LmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL3Rh - Z3MiLCJibG9ic191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9naXQvYmxvYnN7L3NoYX0iLCJn - aXRfdGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1 - c2hlZW5pZXMvd29tZW4td2hvLWNhbi9naXQvdGFnc3svc2hhfSIsImdpdF9y - ZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVl - bmllcy93b21lbi13aG8tY2FuL2dpdC9yZWZzey9zaGF9IiwidHJlZXNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dv - bWVuLXdoby1jYW4vZ2l0L3RyZWVzey9zaGF9Iiwic3RhdHVzZXNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVu - LXdoby1jYW4vc3RhdHVzZXMve3NoYX0iLCJsYW5ndWFnZXNfdXJsIjoiaHR0 - cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdo - by1jYW4vbGFuZ3VhZ2VzIiwic3RhcmdhemVyc191cmwiOiJodHRwczovL2Fw - aS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9z - dGFyZ2F6ZXJzIiwiY29udHJpYnV0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2NvbnRy - aWJ1dG9ycyIsInN1YnNjcmliZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1 - Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL3N1YnNjcmli - ZXJzIiwic3Vic2NyaXB0aW9uX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL3N1YnNjcmlwdGlv - biIsImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vY29tbWl0c3svc2hhfSIsImdp - dF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - UHVzaGVlbmllcy93b21lbi13aG8tY2FuL2dpdC9jb21taXRzey9zaGF9Iiwi - Y29tbWVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9Q - dXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vY29tbWVudHN7L251bWJlcn0iLCJp - c3N1ZV9jb21tZW50X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw - b3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2lzc3Vlcy9jb21tZW50c3sv - bnVtYmVyfSIsImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2NvbnRlbnRzL3sr - cGF0aH0iLCJjb21wYXJlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v - cmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL2NvbXBhcmUve2Jhc2V9 - Li4ue2hlYWR9IiwibWVyZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j - b20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13aG8tY2FuL21lcmdlcyIsImFy - Y2hpdmVfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNo - ZWVuaWVzL3dvbWVuLXdoby1jYW4ve2FyY2hpdmVfZm9ybWF0fXsvcmVmfSIs - ImRvd25sb2Fkc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z - L1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9kb3dubG9hZHMiLCJpc3N1ZXNf - dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVz - L3dvbWVuLXdoby1jYW4vaXNzdWVzey9udW1iZXJ9IiwicHVsbHNfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVu - LXdoby1jYW4vcHVsbHN7L251bWJlcn0iLCJtaWxlc3RvbmVzX3VybCI6Imh0 - dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93b21lbi13 - aG8tY2FuL21pbGVzdG9uZXN7L251bWJlcn0iLCJub3RpZmljYXRpb25zX3Vy - bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUHVzaGVlbmllcy93 - b21lbi13aG8tY2FuL25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNp - cGF0aW5nfSIsImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29t - L3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9sYWJlbHN7L25hbWV9 - IiwicmVsZWFzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vcmVsZWFzZXN7L2lkfSIsImRl - cGxveW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - UHVzaGVlbmllcy93b21lbi13aG8tY2FuL2RlcGxveW1lbnRzIiwiY3JlYXRl - ZF9hdCI6IjIwMTgtMDUtMTBUMTk6MjU6NDNaIiwidXBkYXRlZF9hdCI6IjIw - MTgtMDUtMjlUMDY6MTc6MDNaIiwicHVzaGVkX2F0IjoiMjAxOC0wNS0yOVQw - NjoxNzo0OVoiLCJnaXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9QdXNoZWVu - aWVzL3dvbWVuLXdoby1jYW4uZ2l0Iiwic3NoX3VybCI6ImdpdEBnaXRodWIu - Y29tOlB1c2hlZW5pZXMvd29tZW4td2hvLWNhbi5naXQiLCJjbG9uZV91cmwi - OiJodHRwczovL2dpdGh1Yi5jb20vUHVzaGVlbmllcy93b21lbi13aG8tY2Fu - LmdpdCIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vUHVzaGVlbmll - cy93b21lbi13aG8tY2FuIiwiaG9tZXBhZ2UiOm51bGwsInNpemUiOjQ2MTAs - InN0YXJnYXplcnNfY291bnQiOjEsIndhdGNoZXJzX2NvdW50IjoxLCJsYW5n - dWFnZSI6IlBIUCIsImhhc19pc3N1ZXMiOnRydWUsImhhc19wcm9qZWN0cyI6 - dHJ1ZSwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFzX3dpa2kiOnRydWUsImhh - c19wYWdlcyI6ZmFsc2UsImZvcmtzX2NvdW50IjowLCJtaXJyb3JfdXJsIjpu - dWxsLCJhcmNoaXZlZCI6ZmFsc2UsIm9wZW5faXNzdWVzX2NvdW50IjowLCJs - aWNlbnNlIjpudWxsLCJmb3JrcyI6MCwib3Blbl9pc3N1ZXMiOjAsIndhdGNo - ZXJzIjoxLCJkZWZhdWx0X2JyYW5jaCI6Im1hc3RlciJ9fSwiX2xpbmtzIjp7 - InNlbGYiOnsiaHJlZiI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv - UHVzaGVlbmllcy93b21lbi13aG8tY2FuL3B1bGxzLzI5In0sImh0bWwiOnsi - aHJlZiI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QdXNoZWVuaWVzL3dvbWVuLXdo - by1jYW4vcHVsbC8yOSJ9LCJpc3N1ZSI6eyJocmVmIjoiaHR0cHM6Ly9hcGku - Z2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vaXNz - dWVzLzI5In0sImNvbW1lbnRzIjp7ImhyZWYiOiJodHRwczovL2FwaS5naXRo - dWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hvLWNhbi9pc3N1ZXMv - MjkvY29tbWVudHMifSwicmV2aWV3X2NvbW1lbnRzIjp7ImhyZWYiOiJodHRw - czovL2FwaS5naXRodWIuY29tL3JlcG9zL1B1c2hlZW5pZXMvd29tZW4td2hv - LWNhbi9wdWxscy8yOS9jb21tZW50cyJ9LCJyZXZpZXdfY29tbWVudCI6eyJo - cmVmIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9QdXNoZWVuaWVz - L3dvbWVuLXdoby1jYW4vcHVsbHMvY29tbWVudHN7L251bWJlcn0ifSwiY29t - bWl0cyI6eyJocmVmIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9Q - dXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vcHVsbHMvMjkvY29tbWl0cyJ9LCJz - dGF0dXNlcyI6eyJocmVmIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv - cy9QdXNoZWVuaWVzL3dvbWVuLXdoby1jYW4vc3RhdHVzZXMvMmI4N2ZjY2M2 - ZmM2MzQ0MjQ4YWU2ZDUxN2MwZjU5YzI0OTg0NjVlOSJ9fSwiYXV0aG9yX2Fz - c29jaWF0aW9uIjoiQ09MTEFCT1JBVE9SIiwibWVyZ2VkIjp0cnVlLCJtZXJn - ZWFibGUiOm51bGwsInJlYmFzZWFibGUiOm51bGwsIm1lcmdlYWJsZV9zdGF0 - ZSI6InVua25vd24iLCJtZXJnZWRfYnkiOnsibG9naW4iOiJhbHlzYW5uZSIs - ImlkIjoyNTYzNzkyNSwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFyczIu - Z2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjU2Mzc5MjU/dj00IiwiZ3JhdmF0 - YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJz - L2FseXNhbm5lIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYWx5 - c2FubmUiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv - bS91c2Vycy9hbHlzYW5uZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoi - aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbHlzYW5uZS9mb2xsb3dp - bmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0 - aHViLmNvbS91c2Vycy9hbHlzYW5uZS9naXN0c3svZ2lzdF9pZH0iLCJzdGFy - cmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWx5c2Fu - bmUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJs - IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbHlzYW5uZS9zdWJz - Y3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5n - aXRodWIuY29tL3VzZXJzL2FseXNhbm5lL29yZ3MiLCJyZXBvc191cmwiOiJo - dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FseXNhbm5lL3JlcG9zIiwi - ZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWx5 - c2FubmUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwi - OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FseXNhbm5lL3JlY2Vp - dmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2V9 - LCJjb21tZW50cyI6MCwicmV2aWV3X2NvbW1lbnRzIjowLCJtYWludGFpbmVy - X2Nhbl9tb2RpZnkiOmZhbHNlLCJjb21taXRzIjoxLCJhZGRpdGlvbnMiOjkw - LCJkZWxldGlvbnMiOjAsImNoYW5nZWRfZmlsZXMiOjF9fSwicHVibGljIjp0 - cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0yOVQwNjoxNzo1MFoifSx7Imlk - IjoiNzc0MTUzNDA1MSIsInR5cGUiOiJDcmVhdGVFdmVudCIsImFjdG9yIjp7 - ImlkIjo0OTg1OTYzLCJsb2dpbiI6InhpbjgwMjNsYW5lciIsImRpc3BsYXlf - bG9naW4iOiJ4aW44MDIzbGFuZXIiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6 - Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveGluODAyM2xhbmVyIiwi - YXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVu - dC5jb20vdS80OTg1OTYzPyJ9LCJyZXBvIjp7ImlkIjoxMzUyMzI4NDAsIm5h - bWUiOiJ4aW44MDIzbGFuZXIvdGVzdCIsInVybCI6Imh0dHBzOi8vYXBpLmdp - dGh1Yi5jb20vcmVwb3MveGluODAyM2xhbmVyL3Rlc3QifSwicGF5bG9hZCI6 - eyJyZWYiOiIxLjAuNCIsInJlZl90eXBlIjoidGFnIiwibWFzdGVyX2JyYW5j - aCI6Im1hc3RlciIsImRlc2NyaXB0aW9uIjpudWxsLCJwdXNoZXJfdHlwZSI6 - InVzZXIifSwicHVibGljIjp0cnVlLCJjcmVhdGVkX2F0IjoiMjAxOC0wNS0y - OVQwNjoxNzo1MFoifV0= - http_version: - recorded_at: Tue, 29 May 2018 06:17:51 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/events?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 06:21:56 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527576699' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"2b9c98b95310194218256699514ad7fe" - Last-Modified: - - Mon, 28 May 2018 09:21:58 GMT - X-Poll-Interval: - - '60' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.041624' - X-Github-Request-Id: - - 3945:3972:1FCE247:456C2FE:5B0CF183 - body: - encoding: ASCII-8BIT - string: '[{"id":"7737749979","type":"CreateEvent","actor":{"id":16774475,"login":"Priya5","display_login":"Priya5","gravatar_id":"","url":"https://api.github.com/users/Priya5","avatar_url":"https://avatars.githubusercontent.com/u/16774475?"},"repo":{"id":134704620,"name":"Priya5/Test-Project","url":"https://api.github.com/repos/Priya5/Test-Project"},"payload":{"ref":"test","ref_type":"branch","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2018-05-28T09:21:49Z"}]' - http_version: - recorded_at: Tue, 29 May 2018 06:21:56 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_followers.yml b/fixtures/vcr_cassettes/github_get_followers.yml deleted file mode 100644 index 06e155d..0000000 --- a/fixtures/vcr_cassettes/github_get_followers.yml +++ /dev/null @@ -1,388 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/users/notalex/followers?page=1&per_page=3 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token c4bb34a78fd732a14b6cb7b05c93a48c144c7604 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 18 Apr 2018 08:13:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1524042800' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ac3d10d468e56e30d60aecdf348a9f5b" - X-Oauth-Scopes: - - '' - X-Accepted-Oauth-Scopes: - - '' - X-Github-Media-Type: - - github.v3 - Link: - - ; rel="next", - ; rel="last" - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.039657' - X-Github-Request-Id: - - 9FCE:3997:D7AA74:1F2B672:5AD6FE1F - body: - encoding: ASCII-8BIT - string: '[{"login":"aelsheshai","id":784579,"avatar_url":"https://avatars2.githubusercontent.com/u/784579?v=4","gravatar_id":"","url":"https://api.github.com/users/aelsheshai","html_url":"https://github.com/aelsheshai","followers_url":"https://api.github.com/users/aelsheshai/followers","following_url":"https://api.github.com/users/aelsheshai/following{/other_user}","gists_url":"https://api.github.com/users/aelsheshai/gists{/gist_id}","starred_url":"https://api.github.com/users/aelsheshai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aelsheshai/subscriptions","organizations_url":"https://api.github.com/users/aelsheshai/orgs","repos_url":"https://api.github.com/users/aelsheshai/repos","events_url":"https://api.github.com/users/aelsheshai/events{/privacy}","received_events_url":"https://api.github.com/users/aelsheshai/received_events","type":"User","site_admin":false},{"login":"JeetDesai","id":1021248,"avatar_url":"https://avatars1.githubusercontent.com/u/1021248?v=4","gravatar_id":"","url":"https://api.github.com/users/JeetDesai","html_url":"https://github.com/JeetDesai","followers_url":"https://api.github.com/users/JeetDesai/followers","following_url":"https://api.github.com/users/JeetDesai/following{/other_user}","gists_url":"https://api.github.com/users/JeetDesai/gists{/gist_id}","starred_url":"https://api.github.com/users/JeetDesai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeetDesai/subscriptions","organizations_url":"https://api.github.com/users/JeetDesai/orgs","repos_url":"https://api.github.com/users/JeetDesai/repos","events_url":"https://api.github.com/users/JeetDesai/events{/privacy}","received_events_url":"https://api.github.com/users/JeetDesai/received_events","type":"User","site_admin":false},{"login":"eerie","id":1623676,"avatar_url":"https://avatars3.githubusercontent.com/u/1623676?v=4","gravatar_id":"","url":"https://api.github.com/users/eerie","html_url":"https://github.com/eerie","followers_url":"https://api.github.com/users/eerie/followers","following_url":"https://api.github.com/users/eerie/following{/other_user}","gists_url":"https://api.github.com/users/eerie/gists{/gist_id}","starred_url":"https://api.github.com/users/eerie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eerie/subscriptions","organizations_url":"https://api.github.com/users/eerie/orgs","repos_url":"https://api.github.com/users/eerie/repos","events_url":"https://api.github.com/users/eerie/events{/privacy}","received_events_url":"https://api.github.com/users/eerie/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Wed, 18 Apr 2018 08:13:21 GMT -- request: - method: get - uri: https://api.github.com/user/1637711/followers?page=2&per_page=3 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token c4bb34a78fd732a14b6cb7b05c93a48c144c7604 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 18 Apr 2018 08:13:23 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1524042800' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ca175c21cf77acd3794ce15d0a875df1" - X-Oauth-Scopes: - - '' - X-Accepted-Oauth-Scopes: - - '' - X-Github-Media-Type: - - github.v3 - Link: - - ; rel="prev", - ; rel="next", - ; rel="last", - ; rel="first" - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.041641' - X-Github-Request-Id: - - A2E2:399A:23AAD65:43D5289:5AD6FE22 - body: - encoding: ASCII-8BIT - string: '[{"login":"shaunzyeev","id":8189091,"avatar_url":"https://avatars3.githubusercontent.com/u/8189091?v=4","gravatar_id":"","url":"https://api.github.com/users/shaunzyeev","html_url":"https://github.com/shaunzyeev","followers_url":"https://api.github.com/users/shaunzyeev/followers","following_url":"https://api.github.com/users/shaunzyeev/following{/other_user}","gists_url":"https://api.github.com/users/shaunzyeev/gists{/gist_id}","starred_url":"https://api.github.com/users/shaunzyeev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shaunzyeev/subscriptions","organizations_url":"https://api.github.com/users/shaunzyeev/orgs","repos_url":"https://api.github.com/users/shaunzyeev/repos","events_url":"https://api.github.com/users/shaunzyeev/events{/privacy}","received_events_url":"https://api.github.com/users/shaunzyeev/received_events","type":"User","site_admin":false},{"login":"zzhjerry","id":4972027,"avatar_url":"https://avatars0.githubusercontent.com/u/4972027?v=4","gravatar_id":"","url":"https://api.github.com/users/zzhjerry","html_url":"https://github.com/zzhjerry","followers_url":"https://api.github.com/users/zzhjerry/followers","following_url":"https://api.github.com/users/zzhjerry/following{/other_user}","gists_url":"https://api.github.com/users/zzhjerry/gists{/gist_id}","starred_url":"https://api.github.com/users/zzhjerry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zzhjerry/subscriptions","organizations_url":"https://api.github.com/users/zzhjerry/orgs","repos_url":"https://api.github.com/users/zzhjerry/repos","events_url":"https://api.github.com/users/zzhjerry/events{/privacy}","received_events_url":"https://api.github.com/users/zzhjerry/received_events","type":"User","site_admin":false},{"login":"metacritical","id":760429,"avatar_url":"https://avatars1.githubusercontent.com/u/760429?v=4","gravatar_id":"","url":"https://api.github.com/users/metacritical","html_url":"https://github.com/metacritical","followers_url":"https://api.github.com/users/metacritical/followers","following_url":"https://api.github.com/users/metacritical/following{/other_user}","gists_url":"https://api.github.com/users/metacritical/gists{/gist_id}","starred_url":"https://api.github.com/users/metacritical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/metacritical/subscriptions","organizations_url":"https://api.github.com/users/metacritical/orgs","repos_url":"https://api.github.com/users/metacritical/repos","events_url":"https://api.github.com/users/metacritical/events{/privacy}","received_events_url":"https://api.github.com/users/metacritical/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Wed, 18 Apr 2018 08:13:23 GMT -- request: - method: get - uri: https://api.github.com/user/1637711/followers?page=3&per_page=3 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token c4bb34a78fd732a14b6cb7b05c93a48c144c7604 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 18 Apr 2018 08:13:25 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1524042800' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"1c2ba350468292208e00705730409e93" - X-Oauth-Scopes: - - '' - X-Accepted-Oauth-Scopes: - - '' - X-Github-Media-Type: - - github.v3 - Link: - - ; rel="prev", - ; rel="first" - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.029521' - X-Github-Request-Id: - - 9FD2:3997:D7AC3C:1F2BB31:5AD6FE24 - body: - encoding: ASCII-8BIT - string: '[{"login":"aruncsengr","id":13594217,"avatar_url":"https://avatars3.githubusercontent.com/u/13594217?v=4","gravatar_id":"","url":"https://api.github.com/users/aruncsengr","html_url":"https://github.com/aruncsengr","followers_url":"https://api.github.com/users/aruncsengr/followers","following_url":"https://api.github.com/users/aruncsengr/following{/other_user}","gists_url":"https://api.github.com/users/aruncsengr/gists{/gist_id}","starred_url":"https://api.github.com/users/aruncsengr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aruncsengr/subscriptions","organizations_url":"https://api.github.com/users/aruncsengr/orgs","repos_url":"https://api.github.com/users/aruncsengr/repos","events_url":"https://api.github.com/users/aruncsengr/events{/privacy}","received_events_url":"https://api.github.com/users/aruncsengr/received_events","type":"User","site_admin":false},{"login":"JIaccino","id":1325505,"avatar_url":"https://avatars1.githubusercontent.com/u/1325505?v=4","gravatar_id":"","url":"https://api.github.com/users/JIaccino","html_url":"https://github.com/JIaccino","followers_url":"https://api.github.com/users/JIaccino/followers","following_url":"https://api.github.com/users/JIaccino/following{/other_user}","gists_url":"https://api.github.com/users/JIaccino/gists{/gist_id}","starred_url":"https://api.github.com/users/JIaccino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JIaccino/subscriptions","organizations_url":"https://api.github.com/users/JIaccino/orgs","repos_url":"https://api.github.com/users/JIaccino/repos","events_url":"https://api.github.com/users/JIaccino/events{/privacy}","received_events_url":"https://api.github.com/users/JIaccino/received_events","type":"User","site_admin":false},{"login":"Bunlong","id":1308397,"avatar_url":"https://avatars0.githubusercontent.com/u/1308397?v=4","gravatar_id":"","url":"https://api.github.com/users/Bunlong","html_url":"https://github.com/Bunlong","followers_url":"https://api.github.com/users/Bunlong/followers","following_url":"https://api.github.com/users/Bunlong/following{/other_user}","gists_url":"https://api.github.com/users/Bunlong/gists{/gist_id}","starred_url":"https://api.github.com/users/Bunlong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bunlong/subscriptions","organizations_url":"https://api.github.com/users/Bunlong/orgs","repos_url":"https://api.github.com/users/Bunlong/repos","events_url":"https://api.github.com/users/Bunlong/events{/privacy}","received_events_url":"https://api.github.com/users/Bunlong/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Wed, 18 Apr 2018 08:13:25 GMT -- request: - method: get - uri: https://api.github.com/users/notalex/followers?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 17:58:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527015515' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"305580f81d6b7b983691390f90a30bd9" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.063860' - X-Github-Request-Id: - - 7099:13D2:5654706:9FCEBD3:5B045A4A - body: - encoding: ASCII-8BIT - string: '[{"login":"aelsheshai","id":784579,"avatar_url":"https://avatars2.githubusercontent.com/u/784579?v=4","gravatar_id":"","url":"https://api.github.com/users/aelsheshai","html_url":"https://github.com/aelsheshai","followers_url":"https://api.github.com/users/aelsheshai/followers","following_url":"https://api.github.com/users/aelsheshai/following{/other_user}","gists_url":"https://api.github.com/users/aelsheshai/gists{/gist_id}","starred_url":"https://api.github.com/users/aelsheshai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aelsheshai/subscriptions","organizations_url":"https://api.github.com/users/aelsheshai/orgs","repos_url":"https://api.github.com/users/aelsheshai/repos","events_url":"https://api.github.com/users/aelsheshai/events{/privacy}","received_events_url":"https://api.github.com/users/aelsheshai/received_events","type":"User","site_admin":false},{"login":"JeetDesai","id":1021248,"avatar_url":"https://avatars1.githubusercontent.com/u/1021248?v=4","gravatar_id":"","url":"https://api.github.com/users/JeetDesai","html_url":"https://github.com/JeetDesai","followers_url":"https://api.github.com/users/JeetDesai/followers","following_url":"https://api.github.com/users/JeetDesai/following{/other_user}","gists_url":"https://api.github.com/users/JeetDesai/gists{/gist_id}","starred_url":"https://api.github.com/users/JeetDesai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JeetDesai/subscriptions","organizations_url":"https://api.github.com/users/JeetDesai/orgs","repos_url":"https://api.github.com/users/JeetDesai/repos","events_url":"https://api.github.com/users/JeetDesai/events{/privacy}","received_events_url":"https://api.github.com/users/JeetDesai/received_events","type":"User","site_admin":false},{"login":"eerie","id":1623676,"avatar_url":"https://avatars3.githubusercontent.com/u/1623676?v=4","gravatar_id":"","url":"https://api.github.com/users/eerie","html_url":"https://github.com/eerie","followers_url":"https://api.github.com/users/eerie/followers","following_url":"https://api.github.com/users/eerie/following{/other_user}","gists_url":"https://api.github.com/users/eerie/gists{/gist_id}","starred_url":"https://api.github.com/users/eerie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eerie/subscriptions","organizations_url":"https://api.github.com/users/eerie/orgs","repos_url":"https://api.github.com/users/eerie/repos","events_url":"https://api.github.com/users/eerie/events{/privacy}","received_events_url":"https://api.github.com/users/eerie/received_events","type":"User","site_admin":false},{"login":"shaunzyeev","id":8189091,"avatar_url":"https://avatars3.githubusercontent.com/u/8189091?v=4","gravatar_id":"","url":"https://api.github.com/users/shaunzyeev","html_url":"https://github.com/shaunzyeev","followers_url":"https://api.github.com/users/shaunzyeev/followers","following_url":"https://api.github.com/users/shaunzyeev/following{/other_user}","gists_url":"https://api.github.com/users/shaunzyeev/gists{/gist_id}","starred_url":"https://api.github.com/users/shaunzyeev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shaunzyeev/subscriptions","organizations_url":"https://api.github.com/users/shaunzyeev/orgs","repos_url":"https://api.github.com/users/shaunzyeev/repos","events_url":"https://api.github.com/users/shaunzyeev/events{/privacy}","received_events_url":"https://api.github.com/users/shaunzyeev/received_events","type":"User","site_admin":false},{"login":"zzhjerry","id":4972027,"avatar_url":"https://avatars0.githubusercontent.com/u/4972027?v=4","gravatar_id":"","url":"https://api.github.com/users/zzhjerry","html_url":"https://github.com/zzhjerry","followers_url":"https://api.github.com/users/zzhjerry/followers","following_url":"https://api.github.com/users/zzhjerry/following{/other_user}","gists_url":"https://api.github.com/users/zzhjerry/gists{/gist_id}","starred_url":"https://api.github.com/users/zzhjerry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zzhjerry/subscriptions","organizations_url":"https://api.github.com/users/zzhjerry/orgs","repos_url":"https://api.github.com/users/zzhjerry/repos","events_url":"https://api.github.com/users/zzhjerry/events{/privacy}","received_events_url":"https://api.github.com/users/zzhjerry/received_events","type":"User","site_admin":false},{"login":"metacritical","id":760429,"avatar_url":"https://avatars1.githubusercontent.com/u/760429?v=4","gravatar_id":"","url":"https://api.github.com/users/metacritical","html_url":"https://github.com/metacritical","followers_url":"https://api.github.com/users/metacritical/followers","following_url":"https://api.github.com/users/metacritical/following{/other_user}","gists_url":"https://api.github.com/users/metacritical/gists{/gist_id}","starred_url":"https://api.github.com/users/metacritical/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/metacritical/subscriptions","organizations_url":"https://api.github.com/users/metacritical/orgs","repos_url":"https://api.github.com/users/metacritical/repos","events_url":"https://api.github.com/users/metacritical/events{/privacy}","received_events_url":"https://api.github.com/users/metacritical/received_events","type":"User","site_admin":false},{"login":"aruncsengr","id":13594217,"avatar_url":"https://avatars3.githubusercontent.com/u/13594217?v=4","gravatar_id":"","url":"https://api.github.com/users/aruncsengr","html_url":"https://github.com/aruncsengr","followers_url":"https://api.github.com/users/aruncsengr/followers","following_url":"https://api.github.com/users/aruncsengr/following{/other_user}","gists_url":"https://api.github.com/users/aruncsengr/gists{/gist_id}","starred_url":"https://api.github.com/users/aruncsengr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aruncsengr/subscriptions","organizations_url":"https://api.github.com/users/aruncsengr/orgs","repos_url":"https://api.github.com/users/aruncsengr/repos","events_url":"https://api.github.com/users/aruncsengr/events{/privacy}","received_events_url":"https://api.github.com/users/aruncsengr/received_events","type":"User","site_admin":false},{"login":"JIaccino","id":1325505,"avatar_url":"https://avatars1.githubusercontent.com/u/1325505?v=4","gravatar_id":"","url":"https://api.github.com/users/JIaccino","html_url":"https://github.com/JIaccino","followers_url":"https://api.github.com/users/JIaccino/followers","following_url":"https://api.github.com/users/JIaccino/following{/other_user}","gists_url":"https://api.github.com/users/JIaccino/gists{/gist_id}","starred_url":"https://api.github.com/users/JIaccino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JIaccino/subscriptions","organizations_url":"https://api.github.com/users/JIaccino/orgs","repos_url":"https://api.github.com/users/JIaccino/repos","events_url":"https://api.github.com/users/JIaccino/events{/privacy}","received_events_url":"https://api.github.com/users/JIaccino/received_events","type":"User","site_admin":false},{"login":"Bunlong","id":1308397,"avatar_url":"https://avatars0.githubusercontent.com/u/1308397?v=4","gravatar_id":"","url":"https://api.github.com/users/Bunlong","html_url":"https://github.com/Bunlong","followers_url":"https://api.github.com/users/Bunlong/followers","following_url":"https://api.github.com/users/Bunlong/following{/other_user}","gists_url":"https://api.github.com/users/Bunlong/gists{/gist_id}","starred_url":"https://api.github.com/users/Bunlong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bunlong/subscriptions","organizations_url":"https://api.github.com/users/Bunlong/orgs","repos_url":"https://api.github.com/users/Bunlong/repos","events_url":"https://api.github.com/users/Bunlong/events{/privacy}","received_events_url":"https://api.github.com/users/Bunlong/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Tue, 22 May 2018 17:58:35 GMT -- request: - method: get - uri: https://api.github.com/users/Priya5/followers?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 23 May 2018 06:18:46 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527059152' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"dc551982d4d049e81b09ce993d2f40b3" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.042054' - X-Github-Request-Id: - - 47CA:5E96:6E03E:10015B:5B0507C6 - body: - encoding: ASCII-8BIT - string: '[{"login":"asahu8","id":5379268,"avatar_url":"https://avatars1.githubusercontent.com/u/5379268?v=4","gravatar_id":"","url":"https://api.github.com/users/asahu8","html_url":"https://github.com/asahu8","followers_url":"https://api.github.com/users/asahu8/followers","following_url":"https://api.github.com/users/asahu8/following{/other_user}","gists_url":"https://api.github.com/users/asahu8/gists{/gist_id}","starred_url":"https://api.github.com/users/asahu8/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asahu8/subscriptions","organizations_url":"https://api.github.com/users/asahu8/orgs","repos_url":"https://api.github.com/users/asahu8/repos","events_url":"https://api.github.com/users/asahu8/events{/privacy}","received_events_url":"https://api.github.com/users/asahu8/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Wed, 23 May 2018 06:18:46 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_issue_labels.yml b/fixtures/vcr_cassettes/github_get_issue_labels.yml deleted file mode 100644 index fdff3ee..0000000 --- a/fixtures/vcr_cassettes/github_get_issue_labels.yml +++ /dev/null @@ -1,82 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/2/labels?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:39:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4980' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"317cf18945b79949c57bdab309a4881b" - Last-Modified: - - Wed, 30 May 2018 11:37:51 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.086808' - X-Github-Request-Id: - - CEF9:6AAF:363A87B:7161279:5B0E8D77 - body: - encoding: ASCII-8BIT - string: '[{"id":943386495,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/good%20first%20issue","name":"good - first issue","color":"7057ff","default":true}]' - http_version: - recorded_at: Wed, 30 May 2018 11:39:36 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_org_members.yml b/fixtures/vcr_cassettes/github_get_org_members.yml deleted file mode 100644 index dff4be7..0000000 --- a/fixtures/vcr_cassettes/github_get_org_members.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/orgs/ghtorrent/members?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 11:00:57 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527594910' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"29197b251445dc81dc3a82bc0322062e" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - admin:org, read:org, repo, user, write:org - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.079934' - X-Github-Request-Id: - - AE47:3973:31FBE83:65F4273:5B0D32E8 - body: - encoding: ASCII-8BIT - string: '[{"login":"ght_user","id":1,"avatar_url":"https://avatars3.githubusercontent.com/u/39358?v=4","gravatar_id":"","url":"https://api.github.com/users/ght_user","html_url":"https://github.com/ght_user","followers_url":"https://api.github.com/users/ght_user/followers","following_url":"https://api.github.com/users/ght_user/following{/other_user}","gists_url":"https://api.github.com/users/ght_user/gists{/gist_id}","starred_url":"https://api.github.com/users/ght_user/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ght_user/subscriptions","organizations_url":"https://api.github.com/users/ght_user/orgs","repos_url":"https://api.github.com/users/ght_user/repos","events_url":"https://api.github.com/users/ght_user/events{/privacy}","received_events_url":"https://api.github.com/users/ght_user/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Tue, 29 May 2018 11:00:57 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo.yml b/fixtures/vcr_cassettes/github_get_repo.yml deleted file mode 100644 index 39f58d3..0000000 --- a/fixtures/vcr_cassettes/github_get_repo.yml +++ /dev/null @@ -1,87 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/blackducksoftware/ohcount - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token c4bb34a78fd732a14b6cb7b05c93a48c144c7604 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 18 Apr 2018 07:37:13 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1524037182' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"62ed02e79753f7de3e4a43bb242973fa" - Last-Modified: - - Mon, 16 Apr 2018 22:09:11 GMT - X-Oauth-Scopes: - - '' - X-Accepted-Oauth-Scopes: - - repo - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.097127' - X-Github-Request-Id: - - A1CE:7234:282697B:4BEA30F:5AD6F5A8 - body: - encoding: ASCII-8BIT - string: '{"id":1029520,"name":"ohcount","full_name":"blackducksoftware/ohcount","owner":{"login":"blackducksoftware","id":431461,"avatar_url":"https://avatars0.githubusercontent.com/u/431461?v=4","gravatar_id":"","url":"https://api.github.com/users/blackducksoftware","html_url":"https://github.com/blackducksoftware","followers_url":"https://api.github.com/users/blackducksoftware/followers","following_url":"https://api.github.com/users/blackducksoftware/following{/other_user}","gists_url":"https://api.github.com/users/blackducksoftware/gists{/gist_id}","starred_url":"https://api.github.com/users/blackducksoftware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blackducksoftware/subscriptions","organizations_url":"https://api.github.com/users/blackducksoftware/orgs","repos_url":"https://api.github.com/users/blackducksoftware/repos","events_url":"https://api.github.com/users/blackducksoftware/events{/privacy}","received_events_url":"https://api.github.com/users/blackducksoftware/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/blackducksoftware/ohcount","description":"The - Ohloh source code line counter","fork":true,"url":"https://api.github.com/repos/blackducksoftware/ohcount","forks_url":"https://api.github.com/repos/blackducksoftware/ohcount/forks","keys_url":"https://api.github.com/repos/blackducksoftware/ohcount/keys{/key_id}","collaborators_url":"https://api.github.com/repos/blackducksoftware/ohcount/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/blackducksoftware/ohcount/teams","hooks_url":"https://api.github.com/repos/blackducksoftware/ohcount/hooks","issue_events_url":"https://api.github.com/repos/blackducksoftware/ohcount/issues/events{/number}","events_url":"https://api.github.com/repos/blackducksoftware/ohcount/events","assignees_url":"https://api.github.com/repos/blackducksoftware/ohcount/assignees{/user}","branches_url":"https://api.github.com/repos/blackducksoftware/ohcount/branches{/branch}","tags_url":"https://api.github.com/repos/blackducksoftware/ohcount/tags","blobs_url":"https://api.github.com/repos/blackducksoftware/ohcount/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/blackducksoftware/ohcount/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/blackducksoftware/ohcount/git/refs{/sha}","trees_url":"https://api.github.com/repos/blackducksoftware/ohcount/git/trees{/sha}","statuses_url":"https://api.github.com/repos/blackducksoftware/ohcount/statuses/{sha}","languages_url":"https://api.github.com/repos/blackducksoftware/ohcount/languages","stargazers_url":"https://api.github.com/repos/blackducksoftware/ohcount/stargazers","contributors_url":"https://api.github.com/repos/blackducksoftware/ohcount/contributors","subscribers_url":"https://api.github.com/repos/blackducksoftware/ohcount/subscribers","subscription_url":"https://api.github.com/repos/blackducksoftware/ohcount/subscription","commits_url":"https://api.github.com/repos/blackducksoftware/ohcount/commits{/sha}","git_commits_url":"https://api.github.com/repos/blackducksoftware/ohcount/git/commits{/sha}","comments_url":"https://api.github.com/repos/blackducksoftware/ohcount/comments{/number}","issue_comment_url":"https://api.github.com/repos/blackducksoftware/ohcount/issues/comments{/number}","contents_url":"https://api.github.com/repos/blackducksoftware/ohcount/contents/{+path}","compare_url":"https://api.github.com/repos/blackducksoftware/ohcount/compare/{base}...{head}","merges_url":"https://api.github.com/repos/blackducksoftware/ohcount/merges","archive_url":"https://api.github.com/repos/blackducksoftware/ohcount/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/blackducksoftware/ohcount/downloads","issues_url":"https://api.github.com/repos/blackducksoftware/ohcount/issues{/number}","pulls_url":"https://api.github.com/repos/blackducksoftware/ohcount/pulls{/number}","milestones_url":"https://api.github.com/repos/blackducksoftware/ohcount/milestones{/number}","notifications_url":"https://api.github.com/repos/blackducksoftware/ohcount/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/blackducksoftware/ohcount/labels{/name}","releases_url":"https://api.github.com/repos/blackducksoftware/ohcount/releases{/id}","deployments_url":"https://api.github.com/repos/blackducksoftware/ohcount/deployments","created_at":"2010-10-27T18:40:29Z","updated_at":"2018-04-16T22:09:11Z","pushed_at":"2018-04-16T22:09:07Z","git_url":"git://github.com/blackducksoftware/ohcount.git","ssh_url":"git@github.com:blackducksoftware/ohcount.git","clone_url":"https://github.com/blackducksoftware/ohcount.git","svn_url":"https://github.com/blackducksoftware/ohcount","homepage":"https://github.com/blackducksoftware/ohcount","size":6032,"stargazers_count":201,"watchers_count":201,"language":"Ragel","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"archived":false,"open_issues_count":14,"license":{"key":"gpl-2.0","name":"GNU - General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":64,"open_issues":14,"watchers":201,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"organization":{"login":"blackducksoftware","id":431461,"avatar_url":"https://avatars0.githubusercontent.com/u/431461?v=4","gravatar_id":"","url":"https://api.github.com/users/blackducksoftware","html_url":"https://github.com/blackducksoftware","followers_url":"https://api.github.com/users/blackducksoftware/followers","following_url":"https://api.github.com/users/blackducksoftware/following{/other_user}","gists_url":"https://api.github.com/users/blackducksoftware/gists{/gist_id}","starred_url":"https://api.github.com/users/blackducksoftware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blackducksoftware/subscriptions","organizations_url":"https://api.github.com/users/blackducksoftware/orgs","repos_url":"https://api.github.com/users/blackducksoftware/repos","events_url":"https://api.github.com/users/blackducksoftware/events{/privacy}","received_events_url":"https://api.github.com/users/blackducksoftware/received_events","type":"Organization","site_admin":false},"parent":{"id":23769,"name":"ohcount","full_name":"korsakov/ohcount","owner":{"login":"korsakov","id":10942,"avatar_url":"https://avatars0.githubusercontent.com/u/10942?v=4","gravatar_id":"","url":"https://api.github.com/users/korsakov","html_url":"https://github.com/korsakov","followers_url":"https://api.github.com/users/korsakov/followers","following_url":"https://api.github.com/users/korsakov/following{/other_user}","gists_url":"https://api.github.com/users/korsakov/gists{/gist_id}","starred_url":"https://api.github.com/users/korsakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korsakov/subscriptions","organizations_url":"https://api.github.com/users/korsakov/orgs","repos_url":"https://api.github.com/users/korsakov/repos","events_url":"https://api.github.com/users/korsakov/events{/privacy}","received_events_url":"https://api.github.com/users/korsakov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/korsakov/ohcount","description":"The - Ohloh source code line counter with Ragel","fork":false,"url":"https://api.github.com/repos/korsakov/ohcount","forks_url":"https://api.github.com/repos/korsakov/ohcount/forks","keys_url":"https://api.github.com/repos/korsakov/ohcount/keys{/key_id}","collaborators_url":"https://api.github.com/repos/korsakov/ohcount/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/korsakov/ohcount/teams","hooks_url":"https://api.github.com/repos/korsakov/ohcount/hooks","issue_events_url":"https://api.github.com/repos/korsakov/ohcount/issues/events{/number}","events_url":"https://api.github.com/repos/korsakov/ohcount/events","assignees_url":"https://api.github.com/repos/korsakov/ohcount/assignees{/user}","branches_url":"https://api.github.com/repos/korsakov/ohcount/branches{/branch}","tags_url":"https://api.github.com/repos/korsakov/ohcount/tags","blobs_url":"https://api.github.com/repos/korsakov/ohcount/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/korsakov/ohcount/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/korsakov/ohcount/git/refs{/sha}","trees_url":"https://api.github.com/repos/korsakov/ohcount/git/trees{/sha}","statuses_url":"https://api.github.com/repos/korsakov/ohcount/statuses/{sha}","languages_url":"https://api.github.com/repos/korsakov/ohcount/languages","stargazers_url":"https://api.github.com/repos/korsakov/ohcount/stargazers","contributors_url":"https://api.github.com/repos/korsakov/ohcount/contributors","subscribers_url":"https://api.github.com/repos/korsakov/ohcount/subscribers","subscription_url":"https://api.github.com/repos/korsakov/ohcount/subscription","commits_url":"https://api.github.com/repos/korsakov/ohcount/commits{/sha}","git_commits_url":"https://api.github.com/repos/korsakov/ohcount/git/commits{/sha}","comments_url":"https://api.github.com/repos/korsakov/ohcount/comments{/number}","issue_comment_url":"https://api.github.com/repos/korsakov/ohcount/issues/comments{/number}","contents_url":"https://api.github.com/repos/korsakov/ohcount/contents/{+path}","compare_url":"https://api.github.com/repos/korsakov/ohcount/compare/{base}...{head}","merges_url":"https://api.github.com/repos/korsakov/ohcount/merges","archive_url":"https://api.github.com/repos/korsakov/ohcount/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/korsakov/ohcount/downloads","issues_url":"https://api.github.com/repos/korsakov/ohcount/issues{/number}","pulls_url":"https://api.github.com/repos/korsakov/ohcount/pulls{/number}","milestones_url":"https://api.github.com/repos/korsakov/ohcount/milestones{/number}","notifications_url":"https://api.github.com/repos/korsakov/ohcount/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/korsakov/ohcount/labels{/name}","releases_url":"https://api.github.com/repos/korsakov/ohcount/releases{/id}","deployments_url":"https://api.github.com/repos/korsakov/ohcount/deployments","created_at":"2008-06-09T21:24:13Z","updated_at":"2017-12-11T15:54:36Z","pushed_at":"2017-08-15T20:17:23Z","git_url":"git://github.com/korsakov/ohcount.git","ssh_url":"git@github.com:korsakov/ohcount.git","clone_url":"https://github.com/korsakov/ohcount.git","svn_url":"https://github.com/korsakov/ohcount","homepage":"http://labs.ohloh.net/ohcount","size":1036,"stargazers_count":12,"watchers_count":12,"language":"Ragel - in Ruby Host","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":86,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"gpl-2.0","name":"GNU - General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":86,"open_issues":2,"watchers":12,"default_branch":"master"},"source":{"id":23769,"name":"ohcount","full_name":"korsakov/ohcount","owner":{"login":"korsakov","id":10942,"avatar_url":"https://avatars0.githubusercontent.com/u/10942?v=4","gravatar_id":"","url":"https://api.github.com/users/korsakov","html_url":"https://github.com/korsakov","followers_url":"https://api.github.com/users/korsakov/followers","following_url":"https://api.github.com/users/korsakov/following{/other_user}","gists_url":"https://api.github.com/users/korsakov/gists{/gist_id}","starred_url":"https://api.github.com/users/korsakov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/korsakov/subscriptions","organizations_url":"https://api.github.com/users/korsakov/orgs","repos_url":"https://api.github.com/users/korsakov/repos","events_url":"https://api.github.com/users/korsakov/events{/privacy}","received_events_url":"https://api.github.com/users/korsakov/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/korsakov/ohcount","description":"The - Ohloh source code line counter with Ragel","fork":false,"url":"https://api.github.com/repos/korsakov/ohcount","forks_url":"https://api.github.com/repos/korsakov/ohcount/forks","keys_url":"https://api.github.com/repos/korsakov/ohcount/keys{/key_id}","collaborators_url":"https://api.github.com/repos/korsakov/ohcount/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/korsakov/ohcount/teams","hooks_url":"https://api.github.com/repos/korsakov/ohcount/hooks","issue_events_url":"https://api.github.com/repos/korsakov/ohcount/issues/events{/number}","events_url":"https://api.github.com/repos/korsakov/ohcount/events","assignees_url":"https://api.github.com/repos/korsakov/ohcount/assignees{/user}","branches_url":"https://api.github.com/repos/korsakov/ohcount/branches{/branch}","tags_url":"https://api.github.com/repos/korsakov/ohcount/tags","blobs_url":"https://api.github.com/repos/korsakov/ohcount/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/korsakov/ohcount/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/korsakov/ohcount/git/refs{/sha}","trees_url":"https://api.github.com/repos/korsakov/ohcount/git/trees{/sha}","statuses_url":"https://api.github.com/repos/korsakov/ohcount/statuses/{sha}","languages_url":"https://api.github.com/repos/korsakov/ohcount/languages","stargazers_url":"https://api.github.com/repos/korsakov/ohcount/stargazers","contributors_url":"https://api.github.com/repos/korsakov/ohcount/contributors","subscribers_url":"https://api.github.com/repos/korsakov/ohcount/subscribers","subscription_url":"https://api.github.com/repos/korsakov/ohcount/subscription","commits_url":"https://api.github.com/repos/korsakov/ohcount/commits{/sha}","git_commits_url":"https://api.github.com/repos/korsakov/ohcount/git/commits{/sha}","comments_url":"https://api.github.com/repos/korsakov/ohcount/comments{/number}","issue_comment_url":"https://api.github.com/repos/korsakov/ohcount/issues/comments{/number}","contents_url":"https://api.github.com/repos/korsakov/ohcount/contents/{+path}","compare_url":"https://api.github.com/repos/korsakov/ohcount/compare/{base}...{head}","merges_url":"https://api.github.com/repos/korsakov/ohcount/merges","archive_url":"https://api.github.com/repos/korsakov/ohcount/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/korsakov/ohcount/downloads","issues_url":"https://api.github.com/repos/korsakov/ohcount/issues{/number}","pulls_url":"https://api.github.com/repos/korsakov/ohcount/pulls{/number}","milestones_url":"https://api.github.com/repos/korsakov/ohcount/milestones{/number}","notifications_url":"https://api.github.com/repos/korsakov/ohcount/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/korsakov/ohcount/labels{/name}","releases_url":"https://api.github.com/repos/korsakov/ohcount/releases{/id}","deployments_url":"https://api.github.com/repos/korsakov/ohcount/deployments","created_at":"2008-06-09T21:24:13Z","updated_at":"2017-12-11T15:54:36Z","pushed_at":"2017-08-15T20:17:23Z","git_url":"git://github.com/korsakov/ohcount.git","ssh_url":"git@github.com:korsakov/ohcount.git","clone_url":"https://github.com/korsakov/ohcount.git","svn_url":"https://github.com/korsakov/ohcount","homepage":"http://labs.ohloh.net/ohcount","size":1036,"stargazers_count":12,"watchers_count":12,"language":"Ragel - in Ruby Host","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":86,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"gpl-2.0","name":"GNU - General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":86,"open_issues":2,"watchers":12,"default_branch":"master"},"network_count":86,"subscribers_count":20}' - http_version: - recorded_at: Wed, 18 Apr 2018 07:37:14 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_forks.yml b/fixtures/vcr_cassettes/github_get_repo_forks.yml deleted file mode 100644 index e8f95d6..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_forks.yml +++ /dev/null @@ -1,233 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/forks?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 07:40:51 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527583082' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ff22852212b142717bbaf8436fad0178" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.071885' - X-Github-Request-Id: - - 3E44:3972:203B2DF:465B781:5B0D0403 - body: - encoding: ASCII-8BIT - string: '[{"id":135258762,"name":"Test-Project","full_name":"Priya101/Test-Project","owner":{"login":"Priya101","id":39691492,"avatar_url":"https://avatars0.githubusercontent.com/u/39691492?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya101","html_url":"https://github.com/Priya101","followers_url":"https://api.github.com/users/Priya101/followers","following_url":"https://api.github.com/users/Priya101/following{/other_user}","gists_url":"https://api.github.com/users/Priya101/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya101/subscriptions","organizations_url":"https://api.github.com/users/Priya101/orgs","repos_url":"https://api.github.com/users/Priya101/repos","events_url":"https://api.github.com/users/Priya101/events{/privacy}","received_events_url":"https://api.github.com/users/Priya101/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya101/Test-Project","description":null,"fork":true,"url":"https://api.github.com/repos/Priya101/Test-Project","forks_url":"https://api.github.com/repos/Priya101/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya101/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya101/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya101/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya101/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya101/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya101/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya101/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya101/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya101/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya101/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya101/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya101/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya101/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya101/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya101/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya101/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya101/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya101/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya101/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya101/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya101/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya101/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya101/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya101/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya101/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya101/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya101/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya101/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya101/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya101/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya101/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya101/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya101/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya101/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya101/Test-Project/deployments","created_at":"2018-05-29T07:34:54Z","updated_at":"2018-05-29T07:34:56Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya101/Test-Project.git","ssh_url":"git@github.com:Priya101/Test-Project.git","clone_url":"https://github.com/Priya101/Test-Project.git","svn_url":"https://github.com/Priya101/Test-Project","homepage":null,"size":1,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":false,"push":false,"pull":true}}]' - http_version: - recorded_at: Tue, 29 May 2018 07:40:51 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/forks?page=1&per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 07:40:52 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1527583082' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ff22852212b142717bbaf8436fad0178" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.303533' - X-Github-Request-Id: - - 318B:3974:41B70E6:7912E96:5B0D0404 - body: - encoding: ASCII-8BIT - string: '[{"id":135258762,"name":"Test-Project","full_name":"Priya101/Test-Project","owner":{"login":"Priya101","id":39691492,"avatar_url":"https://avatars0.githubusercontent.com/u/39691492?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya101","html_url":"https://github.com/Priya101","followers_url":"https://api.github.com/users/Priya101/followers","following_url":"https://api.github.com/users/Priya101/following{/other_user}","gists_url":"https://api.github.com/users/Priya101/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya101/subscriptions","organizations_url":"https://api.github.com/users/Priya101/orgs","repos_url":"https://api.github.com/users/Priya101/repos","events_url":"https://api.github.com/users/Priya101/events{/privacy}","received_events_url":"https://api.github.com/users/Priya101/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya101/Test-Project","description":null,"fork":true,"url":"https://api.github.com/repos/Priya101/Test-Project","forks_url":"https://api.github.com/repos/Priya101/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya101/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya101/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya101/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya101/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya101/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya101/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya101/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya101/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya101/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya101/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya101/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya101/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya101/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya101/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya101/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya101/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya101/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya101/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya101/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya101/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya101/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya101/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya101/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya101/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya101/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya101/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya101/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya101/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya101/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya101/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya101/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya101/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya101/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya101/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya101/Test-Project/deployments","created_at":"2018-05-29T07:34:54Z","updated_at":"2018-05-29T07:34:56Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya101/Test-Project.git","ssh_url":"git@github.com:Priya101/Test-Project.git","clone_url":"https://github.com/Priya101/Test-Project.git","svn_url":"https://github.com/Priya101/Test-Project","homepage":null,"size":1,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":false,"push":false,"pull":true}}]' - http_version: - recorded_at: Tue, 29 May 2018 07:40:52 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya101/Test-Project - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 07:40:54 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4994' - X-Ratelimit-Reset: - - '1527583082' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"bc02a95653ed4f3ecf69b6370ce45850" - Last-Modified: - - Tue, 29 May 2018 07:34:56 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.076521' - X-Github-Request-Id: - - 319C:3974:41B71DB:7913046:5B0D0405 - body: - encoding: ASCII-8BIT - string: '{"id":135258762,"name":"Test-Project","full_name":"Priya101/Test-Project","owner":{"login":"Priya101","id":39691492,"avatar_url":"https://avatars0.githubusercontent.com/u/39691492?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya101","html_url":"https://github.com/Priya101","followers_url":"https://api.github.com/users/Priya101/followers","following_url":"https://api.github.com/users/Priya101/following{/other_user}","gists_url":"https://api.github.com/users/Priya101/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya101/subscriptions","organizations_url":"https://api.github.com/users/Priya101/orgs","repos_url":"https://api.github.com/users/Priya101/repos","events_url":"https://api.github.com/users/Priya101/events{/privacy}","received_events_url":"https://api.github.com/users/Priya101/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya101/Test-Project","description":null,"fork":true,"url":"https://api.github.com/repos/Priya101/Test-Project","forks_url":"https://api.github.com/repos/Priya101/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya101/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya101/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya101/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya101/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya101/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya101/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya101/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya101/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya101/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya101/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya101/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya101/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya101/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya101/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya101/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya101/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya101/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya101/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya101/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya101/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya101/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya101/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya101/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya101/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya101/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya101/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya101/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya101/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya101/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya101/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya101/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya101/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya101/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya101/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya101/Test-Project/deployments","created_at":"2018-05-29T07:34:54Z","updated_at":"2018-05-29T07:34:56Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya101/Test-Project.git","ssh_url":"git@github.com:Priya101/Test-Project.git","clone_url":"https://github.com/Priya101/Test-Project.git","svn_url":"https://github.com/Priya101/Test-Project","homepage":null,"size":1,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":false,"push":false,"pull":true},"parent":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"},"source":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"},"network_count":1,"subscribers_count":0}' - http_version: - recorded_at: Tue, 29 May 2018 07:40:53 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_issue_comments.yml b/fixtures/vcr_cassettes/github_get_repo_issue_comments.yml deleted file mode 100644 index 6db7899..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_issue_comments.yml +++ /dev/null @@ -1,229 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/2/comments?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:12:45 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"bb30b933b4c8530857a0b90ec5a5f116" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.066547' - X-Github-Request-Id: - - C3F6:6AAF:360F8DA:7105892:5B0E872D - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments/393117252","html_url":"https://github.com/Priya5/Test-Project/issues/2#issuecomment-393117252","issue_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2","id":393117252,"user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"created_at":"2018-05-30T10:50:12Z","updated_at":"2018-05-30T10:50:12Z","author_association":"OWNER","body":"This - is done."}]' - http_version: - recorded_at: Wed, 30 May 2018 11:12:45 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/comments/393117252?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:17:05 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4992' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"bd84e76459dacdbd9d91827280cb04cf" - Last-Modified: - - Wed, 30 May 2018 10:50:12 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.070293' - X-Github-Request-Id: - - CFEC:6AAF:3616246:7113B74:5B0E8830 - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments/393117252","html_url":"https://github.com/Priya5/Test-Project/issues/2#issuecomment-393117252","issue_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2","id":393117252,"user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"created_at":"2018-05-30T10:50:12Z","updated_at":"2018-05-30T10:50:12Z","author_association":"OWNER","body":"This - is done."}' - http_version: - recorded_at: Wed, 30 May 2018 11:17:05 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/comments/165?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:18:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4991' - X-Ratelimit-Reset: - - '1527681709' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.059575' - X-Github-Request-Id: - - CD5B:6AAC:207FD1B:4ADC7DD:5B0E887D - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/issues/comments/#get-a-single-comment"}' - http_version: - recorded_at: Wed, 30 May 2018 11:18:21 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_issue_events.yml b/fixtures/vcr_cassettes/github_get_repo_issue_events.yml deleted file mode 100644 index 70d8ef1..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_issue_events.yml +++ /dev/null @@ -1,229 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/2/events?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:01:49 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"6aa389b53c64791acfc449a5ddbe7c81" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.103996' - X-Github-Request-Id: - - C2A5:6AAE:4AD938B:8D3ED77:5B0E849D - body: - encoding: ASCII-8BIT - string: '[{"id":1653232576,"url":"https://api.github.com/repos/Priya5/Test-Project/issues/events/1653232576","actor":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"event":"closed","commit_id":null,"commit_url":null,"created_at":"2018-05-30T10:50:13Z"}]' - http_version: - recorded_at: Wed, 30 May 2018 11:01:49 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/events/1653232576?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:06:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"1eb57fa87ee368a107aff6fbd1e21ff4" - Last-Modified: - - Wed, 30 May 2018 10:50:13 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.089727' - X-Github-Request-Id: - - C8BA:6AAF:3605884:70F00EB:5B0E85BA - body: - encoding: ASCII-8BIT - string: '{"id":1653232576,"url":"https://api.github.com/repos/Priya5/Test-Project/issues/events/1653232576","actor":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"event":"closed","commit_id":null,"commit_url":null,"created_at":"2018-05-30T10:50:13Z","issue":{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/2","repository_url":"https://api.github.com/repos/Priya5/Test-Project","labels_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/comments","events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/events","html_url":"https://github.com/Priya5/Test-Project/issues/2","id":327667619,"number":2,"title":"This - is a test issue.","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-05-30T10:22:46Z","updated_at":"2018-05-30T10:50:13Z","closed_at":"2018-05-30T10:50:12Z","author_association":"OWNER","body":"For - checking the functionality."}}' - http_version: - recorded_at: Wed, 30 May 2018 11:06:35 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/events/165?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:09:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527681709' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.034957' - X-Github-Request-Id: - - CA2B:6AAC:20768F7:4AC7A58:5B0E866F - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/issues/events/#get-a-single-event"}' - http_version: - recorded_at: Wed, 30 May 2018 11:09:35 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_issues.yml b/fixtures/vcr_cassettes/github_get_repo_issues.yml deleted file mode 100644 index 0e7d7d1..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_issues.yml +++ /dev/null @@ -1,393 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:26:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"17a8e63b15071bf08f31154c707a3b9e" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.074755' - X-Github-Request-Id: - - A620:3971:1C1F32C:3F269BB:5B0E7C5C - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/1","repository_url":"https://api.github.com/repos/Priya5/Test-Project","labels_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments","events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/events","html_url":"https://github.com/Priya5/Test-Project/pull/1","id":326958432,"number":1,"title":"Create - test.rb","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-28T09:21:58Z","updated_at":"2018-05-29T09:43:44Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","html_url":"https://github.com/Priya5/Test-Project/pull/1","diff_url":"https://github.com/Priya5/Test-Project/pull/1.diff","patch_url":"https://github.com/Priya5/Test-Project/pull/1.patch"},"body":"Adding - a test file"}]' - http_version: - recorded_at: Wed, 30 May 2018 10:26:37 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues?page=1&per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:26:38 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"17a8e63b15071bf08f31154c707a3b9e" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.059111' - X-Github-Request-Id: - - C0B3:3972:28559C8:57B626D:5B0E7C5D - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/2","repository_url":"https://api.github.com/repos/Priya5/Test-Project","labels_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/comments","events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/events","html_url":"https://github.com/Priya5/Test-Project/issues/2","id":327667619,"number":2,"title":"This - is a test issue.","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-30T10:22:46Z","updated_at":"2018-05-30T10:22:46Z","closed_at":null,"author_association":"OWNER","body":"For - checking the functionality."},{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/1","repository_url":"https://api.github.com/repos/Priya5/Test-Project","labels_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments","events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/events","html_url":"https://github.com/Priya5/Test-Project/pull/1","id":326958432,"number":1,"title":"Create - test.rb","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-05-28T09:21:58Z","updated_at":"2018-05-29T09:43:44Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","html_url":"https://github.com/Priya5/Test-Project/pull/1","diff_url":"https://github.com/Priya5/Test-Project/pull/1.diff","patch_url":"https://github.com/Priya5/Test-Project/pull/1.patch"},"body":"Adding - a test file"}]' - http_version: - recorded_at: Wed, 30 May 2018 10:26:38 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues?per_page=100&state=closed - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:41:41 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4994' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"68f6cb68681e3068114d8aac4119ac50"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.033780' - X-Github-Request-Id: - - A5F0:3972:286B2AF:57E310C:5B0E7FE4 - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Wed, 30 May 2018 10:41:41 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues?page=1&per_page=100&state=closed - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:41:42 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4993' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"68f6cb68681e3068114d8aac4119ac50"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.046146' - X-Github-Request-Id: - - A5F8:3974:5050338:94984CF:5B0E7FE5 - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Wed, 30 May 2018 10:41:42 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/issues/2 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 10:42:51 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4992' - X-Ratelimit-Reset: - - '1527677987' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"fb1ffc00f2e4eac8a2de1a24e1990be3" - Last-Modified: - - Wed, 30 May 2018 10:22:46 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.087461' - X-Github-Request-Id: - - A9E2:3974:5053568:949DD28:5B0E802B - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/issues/2","repository_url":"https://api.github.com/repos/Priya5/Test-Project","labels_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/comments","events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/2/events","html_url":"https://github.com/Priya5/Test-Project/issues/2","id":327667619,"number":2,"title":"This - is a test issue.","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-05-30T10:22:46Z","updated_at":"2018-05-30T10:22:46Z","closed_at":null,"author_association":"OWNER","body":"For - checking the functionality.","closed_by":null}' - http_version: - recorded_at: Wed, 30 May 2018 10:42:51 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_labels.yml b/fixtures/vcr_cassettes/github_get_repo_labels.yml deleted file mode 100644 index c6cb10b..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_labels.yml +++ /dev/null @@ -1,785 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:29:10 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4990' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"bda7c30f047c20c20e448d71c49c2f63" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.047862' - X-Github-Request-Id: - - CF72:6AAB:13D9E0D:2FE9E21:5B0E8B05 - body: - encoding: ASCII-8BIT - string: '[{"id":943386491,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/bug","name":"bug","color":"d73a4a","default":true},{"id":943386492,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/duplicate","name":"duplicate","color":"cfd3d7","default":true},{"id":943386493,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":943386495,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/good%20first%20issue","name":"good - first issue","color":"7057ff","default":true},{"id":943386494,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/help%20wanted","name":"help - wanted","color":"008672","default":true},{"id":943386496,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/invalid","name":"invalid","color":"e4e669","default":true},{"id":943386497,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/question","name":"question","color":"d876e3","default":true},{"id":943386498,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/wontfix","name":"wontfix","color":"ffffff","default":true}]' - http_version: - recorded_at: Wed, 30 May 2018 11:29:10 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels?page=1&per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:29:11 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4989' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"bda7c30f047c20c20e448d71c49c2f63" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.050065' - X-Github-Request-Id: - - C78F:6AAF:3629575:713C9B9:5B0E8B06 - body: - encoding: ASCII-8BIT - string: '[{"id":943386491,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/bug","name":"bug","color":"d73a4a","default":true},{"id":943386492,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/duplicate","name":"duplicate","color":"cfd3d7","default":true},{"id":943386493,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":943386495,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/good%20first%20issue","name":"good - first issue","color":"7057ff","default":true},{"id":943386494,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/help%20wanted","name":"help - wanted","color":"008672","default":true},{"id":943386496,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/invalid","name":"invalid","color":"e4e669","default":true},{"id":943386497,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/question","name":"question","color":"d876e3","default":true},{"id":943386498,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/wontfix","name":"wontfix","color":"ffffff","default":true}]' - http_version: - recorded_at: Wed, 30 May 2018 11:29:11 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/bug - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4988' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ba3c9bfb6fd4cba72b15cfb7a6f87133" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.041162' - X-Github-Request-Id: - - C336:6AAF:3634092:71531B5:5B0E8C77 - body: - encoding: ASCII-8BIT - string: '{"id":943386491,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/bug","name":"bug","color":"d73a4a","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:20 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/duplicate - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4987' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"4b1ce543653d1528abf91b210dddd7b8" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.040189' - X-Github-Request-Id: - - CBAF:6AAF:36340F7:715327E:5B0E8C78 - body: - encoding: ASCII-8BIT - string: '{"id":943386492,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/duplicate","name":"duplicate","color":"cfd3d7","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:21 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/enhancement - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4986' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"91858917cffaf689c09f7d59ba6b4b82" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.041057' - X-Github-Request-Id: - - D044:6AAF:363415F:715335E:5B0E8C79 - body: - encoding: ASCII-8BIT - string: '{"id":943386493,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:22 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/good%20first%20issue - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:22 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4985' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"c70db2bdaf8bdc530facc1661d17e00d" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.038851' - X-Github-Request-Id: - - C4FE:6AAE:4B279DB:8DD1A43:5B0E8C7A - body: - encoding: ASCII-8BIT - string: '{"id":943386495,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/good%20first%20issue","name":"good - first issue","color":"7057ff","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:22 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/help%20wanted - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:23 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4984' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"c5fc132a1de6622f710adc28472e0a89" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.040671' - X-Github-Request-Id: - - C287:6AAC:2092956:4B06722:5B0E8C7B - body: - encoding: ASCII-8BIT - string: '{"id":943386494,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/help%20wanted","name":"help - wanted","color":"008672","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:23 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/invalid - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:24 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4983' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ddc13542e8e8908091b48129549e5491" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.046817' - X-Github-Request-Id: - - CA9E:6AAC:20929BF:4B067DC:5B0E8C7C - body: - encoding: ASCII-8BIT - string: '{"id":943386496,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/invalid","name":"invalid","color":"e4e669","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:24 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/question - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:25 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4982' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"0ea27f2c73cce506df5af0b6ca60a058" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.032263' - X-Github-Request-Id: - - C1DB:6AAE:4B27BB8:8DD1DB0:5B0E8C7D - body: - encoding: ASCII-8BIT - string: '{"id":943386497,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/question","name":"question","color":"d876e3","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:25 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/labels/wontfix - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:35:26 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4981' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"cf77d51baf90052d473314d71426ffd9" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.040685' - X-Github-Request-Id: - - C220:6AAB:13DE5B3:2FF48B5:5B0E8C7E - body: - encoding: ASCII-8BIT - string: '{"id":943386498,"url":"https://api.github.com/repos/Priya5/Test-Project/labels/wontfix","name":"wontfix","color":"ffffff","default":true}' - http_version: - recorded_at: Wed, 30 May 2018 11:35:26 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_languages.yml b/fixtures/vcr_cassettes/github_get_repo_languages.yml deleted file mode 100644 index 3950e13..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_languages.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/languages?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Sun, 27 May 2018 18:10:34 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '11' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527446695' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"de3918780823a0b3d9a6d0ce0b00b98f"' - Last-Modified: - - Sun, 27 May 2018 18:03:27 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.039256' - X-Github-Request-Id: - - CE01:6AAF:1FB87E4:426ED2B:5B0AF499 - body: - encoding: UTF-8 - string: '{"Ruby":55}' - http_version: - recorded_at: Sun, 27 May 2018 18:10:34 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_prs.yml b/fixtures/vcr_cassettes/github_get_repo_prs.yml deleted file mode 100644 index c6c965c..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_prs.yml +++ /dev/null @@ -1,701 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 09:24:00 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527503040' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"a10e754e059e2dbdb3e6157da50b2f02" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.112142' - X-Github-Request-Id: - - 3AA4:3974:35F7802:6396003:5B0BCAB0 - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","id":190879751,"html_url":"https://github.com/Priya5/Test-Project/pull/1","diff_url":"https://github.com/Priya5/Test-Project/pull/1.diff","patch_url":"https://github.com/Priya5/Test-Project/pull/1.patch","issue_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1","number":1,"state":"open","locked":false,"title":"Create - test.rb","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-28T09:21:58Z","updated_at":"2018-05-28T09:21:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c23b94cb94f24afb3cb026c5258860af54f886ae","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits","review_comments_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments","review_comment_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","head":{"label":"Priya5:test","ref":"test","sha":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"Priya5:master","ref":"master","sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1"},"html":{"href":"https://github.com/Priya5/Test-Project/pull/1"},"issue":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1"},"comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f"}},"author_association":"OWNER"}]' - http_version: - recorded_at: Mon, 28 May 2018 09:24:01 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls?page=1&per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 09:24:01 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527503040' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"a10e754e059e2dbdb3e6157da50b2f02" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.096647' - X-Github-Request-Id: - - 41B9:3971:11F1068:28A4C97:5B0BCAB1 - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","id":190879751,"html_url":"https://github.com/Priya5/Test-Project/pull/1","diff_url":"https://github.com/Priya5/Test-Project/pull/1.diff","patch_url":"https://github.com/Priya5/Test-Project/pull/1.patch","issue_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1","number":1,"state":"open","locked":false,"title":"Create - test.rb","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-28T09:21:58Z","updated_at":"2018-05-28T09:21:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c23b94cb94f24afb3cb026c5258860af54f886ae","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits","review_comments_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments","review_comment_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","head":{"label":"Priya5:test","ref":"test","sha":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"Priya5:master","ref":"master","sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1"},"html":{"href":"https://github.com/Priya5/Test-Project/pull/1"},"issue":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1"},"comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f"}},"author_association":"OWNER"}]' - http_version: - recorded_at: Mon, 28 May 2018 09:24:02 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls/1 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 09:24:03 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527503040' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"954e59c6737dd2fe9563af50caa51346" - Last-Modified: - - Mon, 28 May 2018 09:21:58 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.193152' - X-Github-Request-Id: - - 3ACF:3971:11F10C0:28A4D53:5B0BCAB2 - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","id":190879751,"html_url":"https://github.com/Priya5/Test-Project/pull/1","diff_url":"https://github.com/Priya5/Test-Project/pull/1.diff","patch_url":"https://github.com/Priya5/Test-Project/pull/1.patch","issue_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1","number":1,"state":"open","locked":false,"title":"Create - test.rb","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-05-28T09:21:58Z","updated_at":"2018-05-28T09:21:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c23b94cb94f24afb3cb026c5258860af54f886ae","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits","review_comments_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments","review_comment_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","head":{"label":"Priya5:test","ref":"test","sha":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"Priya5:master","ref":"master","sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","user":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"repo":{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-28T08:13:37Z","pushed_at":"2018-05-28T09:21:59Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":1,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1"},"html":{"href":"https://github.com/Priya5/Test-Project/pull/1"},"issue":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1"},"comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/Priya5/Test-Project/statuses/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f"}},"author_association":"OWNER","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":0,"changed_files":1}' - http_version: - recorded_at: Mon, 28 May 2018 09:24:03 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls?per_page=100&state=closed - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 09:24:04 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527503040' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"3af34d68e3496077d84420f92c13c50c"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.054124' - X-Github-Request-Id: - - 3AFD:3971:11F112F:28A4E33:5B0BCAB3 - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Mon, 28 May 2018 09:24:04 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls?page=1&per_page=100&state=closed - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 09:24:05 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1527503040' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"3af34d68e3496077d84420f92c13c50c"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.101946' - X-Github-Request-Id: - - 3B11:3973:27F7383:5166F60:5B0BCAB4 - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Mon, 28 May 2018 09:24:05 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls/1/commits?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 08:27:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4993' - X-Ratelimit-Reset: - - '1527583082' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"2299addb1b26fe6ef91bc56fa9b50141" - Last-Modified: - - Mon, 28 May 2018 09:21:58 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.139285' - X-Github-Request-Id: - - 3B05:3974:4234B13:79FBF51:5B0D0F02 - body: - encoding: ASCII-8BIT - string: '[{"sha":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-28T09:21:48Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-28T09:21:48Z"},"message":"Create - test.rb","tree":{"sha":"7441e048a9a713c2f08bd28af8588526bbc571ac","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/7441e048a9a713c2f08bd28af8588526bbc571ac"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbC8osCRBK7hj4Ov3rIwAAdHIIAAizlaES/cxaxOL0Snw8Ufvk\ncaHXrQMpeFkR6VlCvdUSTmBs+D8TmLIH68ndW6fTUqvNxoC+QuhhMAZ4jusv4e0e\nxU1V4+HEKhibZe6B4yYnZcId2Ne0iZzA4vlEZ9+EuQ0Qa1XiWQCVvOFD4F/tn1Uj\nms9F2TvItT00W37080k5HEon0kTOTGkRALVYlmYHP/TNVmFlQX0fy2U8mR8uAvBK\nN/pGVG6ZjmOvHbHpSwvWG4PZDf0ahSVjXRi0Bo2hZjPSCZSrya8+77q+DzLEUb4g\nH5CEJzMjyL6xYRrhSVw5XZSCe4zNE73US1i3eNtHHjjltFzH/VUx9qHlNApBZMM=\n=x77s\n-----END - PGP SIGNATURE-----\n","payload":"tree 7441e048a9a713c2f08bd28af8588526bbc571ac\nparent - 84005a38b989c84c7ff6242071c05a14a4c5d476\nauthor Priya Rani - 1527499308 +0530\ncommitter GitHub 1527499308 +0530\n\nCreate - test.rb"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","html_url":"https://github.com/Priya5/Test-Project/commit/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[{"sha":"84005a38b989c84c7ff6242071c05a14a4c5d476","url":"https://api.github.com/repos/Priya5/Test-Project/commits/84005a38b989c84c7ff6242071c05a14a4c5d476","html_url":"https://github.com/Priya5/Test-Project/commit/84005a38b989c84c7ff6242071c05a14a4c5d476"}]}]' - http_version: - recorded_at: Tue, 29 May 2018 08:27:47 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls/1/comments?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 09:44:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527590680' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"6fbbcb39603d9f84d92d983a0f2d4b9f" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.080453' - X-Github-Request-Id: - - 3BBE:3974:42F99CB:7B6E9E4:5B0D2108 - body: - encoding: ASCII-8BIT - string: '[{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments/191363245","pull_request_review_id":123918455,"id":191363245,"diff_hunk":"@@ - -0,0 +1 @@\n+puts \"test\"","path":"test.rb","position":1,"original_position":1,"commit_id":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","original_commit_id":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","user":{"login":"Priya101","id":39691492,"avatar_url":"https://avatars0.githubusercontent.com/u/39691492?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya101","html_url":"https://github.com/Priya101","followers_url":"https://api.github.com/users/Priya101/followers","following_url":"https://api.github.com/users/Priya101/following{/other_user}","gists_url":"https://api.github.com/users/Priya101/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya101/subscriptions","organizations_url":"https://api.github.com/users/Priya101/orgs","repos_url":"https://api.github.com/users/Priya101/repos","events_url":"https://api.github.com/users/Priya101/events{/privacy}","received_events_url":"https://api.github.com/users/Priya101/received_events","type":"User","site_admin":false},"body":"This - will print test.","created_at":"2018-05-29T09:42:53Z","updated_at":"2018-05-29T09:43:44Z","html_url":"https://github.com/Priya5/Test-Project/pull/1#discussion_r191363245","pull_request_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments/191363245"},"html":{"href":"https://github.com/Priya5/Test-Project/pull/1#discussion_r191363245"},"pull_request":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1"}}}]' - http_version: - recorded_at: Tue, 29 May 2018 09:44:40 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls/comments/191363245?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 09:55:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527590680' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"0a889feb3991f140abe98a29131717dd" - Last-Modified: - - Tue, 29 May 2018 09:43:44 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.090677' - X-Github-Request-Id: - - 3B30:3974:4314EC4:7BA29BD:5B0D239E - body: - encoding: ASCII-8BIT - string: '{"url":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments/191363245","pull_request_review_id":123918455,"id":191363245,"diff_hunk":"@@ - -0,0 +1 @@\n+puts \"test\"","path":"test.rb","position":1,"original_position":1,"commit_id":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","original_commit_id":"6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f","user":{"login":"Priya101","id":39691492,"avatar_url":"https://avatars0.githubusercontent.com/u/39691492?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya101","html_url":"https://github.com/Priya101","followers_url":"https://api.github.com/users/Priya101/followers","following_url":"https://api.github.com/users/Priya101/following{/other_user}","gists_url":"https://api.github.com/users/Priya101/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya101/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya101/subscriptions","organizations_url":"https://api.github.com/users/Priya101/orgs","repos_url":"https://api.github.com/users/Priya101/repos","events_url":"https://api.github.com/users/Priya101/events{/privacy}","received_events_url":"https://api.github.com/users/Priya101/received_events","type":"User","site_admin":false},"body":"This - will print test.","created_at":"2018-05-29T09:42:53Z","updated_at":"2018-05-29T09:43:44Z","html_url":"https://github.com/Priya5/Test-Project/pull/1#discussion_r191363245","pull_request_url":"https://api.github.com/repos/Priya5/Test-Project/pulls/1","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/comments/191363245"},"html":{"href":"https://github.com/Priya5/Test-Project/pull/1#discussion_r191363245"},"pull_request":{"href":"https://api.github.com/repos/Priya5/Test-Project/pulls/1"}}}' - http_version: - recorded_at: Tue, 29 May 2018 09:55:43 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/pulls/comments/1?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 10:01:00 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527590680' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.047819' - X-Github-Request-Id: - - 3D82:3974:4322276:7BBB7D8:5B0D24DC - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/pulls/comments/#get-a-single-comment"}' - http_version: - recorded_at: Tue, 29 May 2018 10:01:01 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_topics.yml b/fixtures/vcr_cassettes/github_get_repo_topics.yml deleted file mode 100644 index 6fc04c3..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_topics.yml +++ /dev/null @@ -1,155 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/topics?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/vnd.github.mercy-preview+json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:51:17 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4968' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"cad981e9e373c4e4c388d354fd7675cb" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.mercy-preview; format=json - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.076191' - X-Github-Request-Id: - - CA27:6AAE:4B4D39B:8E18D18:5B0E9034 - body: - encoding: ASCII-8BIT - string: '{"names":["beginner-project"]}' - http_version: - recorded_at: Wed, 30 May 2018 11:51:17 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya101/Test-Project/topics?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/vnd.github.mercy-preview+json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 30 May 2018 11:54:25 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '12' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4967' - X-Ratelimit-Reset: - - '1527681709' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"b384ea9ae7e3822e4af5fcb3e858919b"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.mercy-preview; format=json - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.051473' - X-Github-Request-Id: - - C316:6AAE:4B54592:8E266EE:5B0E90F0 - body: - encoding: UTF-8 - string: '{"names":[]}' - http_version: - recorded_at: Wed, 30 May 2018 11:54:25 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_repo_watchers.yml b/fixtures/vcr_cassettes/github_get_repo_watchers.yml deleted file mode 100644 index 3231f39..0000000 --- a/fixtures/vcr_cassettes/github_get_repo_watchers.yml +++ /dev/null @@ -1,234 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/stargazers?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 08:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527498870' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"daa10e521232c4a4b9c6e379a66f7d5d" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.061883' - X-Github-Request-Id: - - 3BAB:3974:3546D1B:6250C35:5B0BBAE7 - body: - encoding: ASCII-8BIT - string: '[{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Mon, 28 May 2018 08:16:39 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/stargazers?page=1&per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 08:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1527498870' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"daa10e521232c4a4b9c6e379a66f7d5d" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.046200' - X-Github-Request-Id: - - 3FF1:3972:1A0211D:38EF5A5:5B0BBAE8 - body: - encoding: ASCII-8BIT - string: '[{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Mon, 28 May 2018 08:16:40 GMT -- request: - method: get - uri: https://api.github.com/users/Priya5 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Mon, 28 May 2018 08:46:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1527498870' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"ffc54b033c1d2216fad28a447cc4ec07" - Last-Modified: - - Mon, 14 May 2018 07:48:39 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.070863' - X-Github-Request-Id: - - 464E:3971:11CA79F:284F474:5B0BC1F0 - body: - encoding: ASCII-8BIT - string: '{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false,"name":"Priya - Rani","company":null,"blog":"","location":null,"email":"priya.rani549@gmail.com","hireable":null,"bio":null,"public_repos":7,"public_gists":0,"followers":1,"following":3,"created_at":"2016-01-19T09:01:22Z","updated_at":"2018-05-14T07:48:39Z","private_gists":1,"total_private_repos":0,"owned_private_repos":0,"disk_usage":336,"collaborators":0,"two_factor_authentication":false,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}}' - http_version: - recorded_at: Mon, 28 May 2018 08:46:41 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user.yml b/fixtures/vcr_cassettes/github_get_user.yml deleted file mode 100644 index da2c666..0000000 --- a/fixtures/vcr_cassettes/github_get_user.yml +++ /dev/null @@ -1,230 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/users/User1?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 07:56:26 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1526979174' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"27a9251937380d88784e9b6540e3fa91" - Last-Modified: - - Mon, 14 May 2018 07:48:39 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.082609' - X-Github-Request-Id: - - 56B8:13D3:3C63BF0:7ABD58D:5B03CD29 - body: - encoding: ASCII-8BIT - string: '{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false,"name":"Priya - Rani","company":null,"blog":"","location":null,"email":"priya.rani549@gmail.com","hireable":null,"bio":null,"public_repos":6,"public_gists":0,"followers":0,"following":0,"created_at":"2016-01-19T09:01:22Z","updated_at":"2018-05-14T07:48:39Z","private_gists":1,"total_private_repos":0,"owned_private_repos":0,"disk_usage":335,"collaborators":0,"two_factor_authentication":false,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}}' - http_version: - recorded_at: Tue, 22 May 2018 07:56:26 GMT -- request: - method: get - uri: https://api.github.com/users/User2?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:38:52 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4991' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"79977d29f75a659a23642386a19918c4" - Last-Modified: - - Fri, 16 Feb 2018 23:44:41 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.049957' - X-Github-Request-Id: - - 5B6C:13D2:51FCFBE:977CD13:5B03F33B - body: - encoding: ASCII-8BIT - string: '{"login":"user2","id":4964569,"avatar_url":"https://avatars0.githubusercontent.com/u/4964569?v=4","gravatar_id":"","url":"https://api.github.com/users/user2","html_url":"https://github.com/user2","followers_url":"https://api.github.com/users/user2/followers","following_url":"https://api.github.com/users/user2/following{/other_user}","gists_url":"https://api.github.com/users/user2/gists{/gist_id}","starred_url":"https://api.github.com/users/user2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/user2/subscriptions","organizations_url":"https://api.github.com/users/user2/orgs","repos_url":"https://api.github.com/users/user2/repos","events_url":"https://api.github.com/users/user2/events{/privacy}","received_events_url":"https://api.github.com/users/user2/received_events","type":"User","site_admin":false,"name":null,"company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":null,"public_repos":0,"public_gists":0,"followers":1,"following":0,"created_at":"2013-07-08T12:22:45Z","updated_at":"2018-02-16T23:44:41Z"}' - http_version: - recorded_at: Tue, 22 May 2018 10:38:52 GMT -- request: - method: get - uri: https://api.github.com/users/test_ght_user?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:41:26 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4990' - X-Ratelimit-Reset: - - '1526985896' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.025795' - X-Github-Request-Id: - - 5AAF:13D2:5203863:9789A88:5B03F3D6 - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/users/#get-a-single-user"}' - http_version: - recorded_at: Tue, 22 May 2018 10:41:26 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user_by_email.yml b/fixtures/vcr_cassettes/github_get_user_by_email.yml deleted file mode 100644 index 4c66af0..0000000 --- a/fixtures/vcr_cassettes/github_get_user_by_email.yml +++ /dev/null @@ -1,679 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/legacy/user/email/User1@example.com?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 09:44:56 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"a4a6f13d7ebb0d62d9be31992172fa29" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.038480' - X-Github-Request-Id: - - 6D32:13D2:516A4ED:9666D2C:5B03E697 - body: - encoding: ASCII-8BIT - string: '{"user":{"public_repo_count":6,"public_gist_count":0,"followers_count":0,"following_count":0,"created":"2016-01-19T09:01:22Z","created_at":"2016-01-19T09:01:22Z","gravatar_id":"","name":"User1","company":"","blog":"","location":null,"email":"User1@example.com","id":16774475,"login":"User1","type":"User"}}' - http_version: - recorded_at: Tue, 22 May 2018 09:44:56 GMT -- request: - method: get - uri: https://api.github.com/users/User1?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 09:44:57 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"27a9251937380d88784e9b6540e3fa91" - Last-Modified: - - Mon, 14 May 2018 07:48:39 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.056508' - X-Github-Request-Id: - - 5E88:13D0:27AEA98:580D9BC:5B03E698 - body: - encoding: ASCII-8BIT - string: '{"login":"User1","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/User1","html_url":"https://github.com/User1","followers_url":"https://api.github.com/users/User1/followers","following_url":"https://api.github.com/users/User1/following{/other_user}","gists_url":"https://api.github.com/users/User1/gists{/gist_id}","starred_url":"https://api.github.com/users/User1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/User1/subscriptions","organizations_url":"https://api.github.com/users/User1/orgs","repos_url":"https://api.github.com/users/User1/repos","events_url":"https://api.github.com/users/User1/events{/privacy}","received_events_url":"https://api.github.com/users/User1/received_events","type":"User","site_admin":false,"name":"User1","company":null,"blog":"","location":null,"email":"User1@example.com","hireable":null,"bio":null,"public_repos":6,"public_gists":0,"followers":0,"following":0,"created_at":"2016-01-19T09:01:22Z","updated_at":"2018-05-14T07:48:39Z","private_gists":1,"total_private_repos":0,"owned_private_repos":0,"disk_usage":335,"collaborators":0,"two_factor_authentication":false,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}}' - http_version: - recorded_at: Tue, 22 May 2018 09:44:57 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/email/User2@example.com?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:35:15 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4994' - X-Ratelimit-Reset: - - '1526985896' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.022852' - X-Github-Request-Id: - - 571B:13D2:51F37BD:976ABD3:5B03F263 - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}' - http_version: - recorded_at: Tue, 22 May 2018 10:35:16 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/search/User1+User2?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:35:16 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '12' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4993' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"0402d1a3161464157b15b8827e4e140b"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.063932' - X-Github-Request-Id: - - 6F24:13CF:19FE2FD:3B44C80:5B03F264 - body: - encoding: UTF-8 - string: '{"users":[]}' - http_version: - recorded_at: Tue, 22 May 2018 10:35:17 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/search/User2_ght?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:36:54 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4992' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"911673b25b197e39dbed9d2c1c2bb1c9" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.049664' - X-Github-Request-Id: - - 6B47:13D0:27FC304:58B64ED:5B03F2C5 - body: - encoding: ASCII-8BIT - string: '{"users":[{"id":"user-16774475","email":"User2_ght@example.com","gravatar_id":"","username":"User2_ght","login":"User2_ght","name":"User2_ght","fullname":"User2_ght","location":null,"language":"Ruby","type":"user","public_repo_count":6,"repos":6,"followers":0,"followers_count":0,"score":25.455235,"created_at":"2016-01-19T09:01:22Z","created":"2016-01-19T09:01:22Z"}]}' - http_version: - recorded_at: Tue, 22 May 2018 10:36:54 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/search/User2+GHT?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:36:54 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4992' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"911673b25b197e39dbed9d2c1c2bb1c9" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.049664' - X-Github-Request-Id: - - 6B47:13D0:27FC304:58B64ED:5B03F2C5 - body: - encoding: ASCII-8BIT - string: '{"users":[{"id":"user-16774475","email":"User2_ght@example.com","gravatar_id":"","username":"User2_ght","login":"User2_ght","name":"User2 GHT","fullname":"User2_ght","location":null,"language":"Ruby","type":"user","public_repo_count":6,"repos":6,"followers":0,"followers_count":0,"score":25.455235,"created_at":"2016-01-19T09:01:22Z","created":"2016-01-19T09:01:22Z"}]}' - http_version: - recorded_at: Tue, 22 May 2018 10:36:54 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/email/User2_ght@example.com?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 11:41:14 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4993' - X-Ratelimit-Reset: - - '1526991283' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.025838' - X-Github-Request-Id: - - 5D29:13D0:2851D23:5974BB8:5B0401DA - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3"}' - http_version: - recorded_at: Tue, 22 May 2018 11:41:14 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/email/User1_ght@example.com?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 11:54:00 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4992' - X-Ratelimit-Reset: - - '1526991283' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"a4a6f13d7ebb0d62d9be31992172fa29" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.057615' - X-Github-Request-Id: - - 6D14:13D3:3E6146E:7EBB8C8:5B0404D7 - body: - encoding: ASCII-8BIT - string: '{"user":{"public_repo_count":6,"public_gist_count":0,"followers_count":0,"following_count":0,"created":"2016-01-19T09:01:22Z","created_at":"2016-01-19T09:01:22Z","gravatar_id":"","name":"User1_ght","company":"","blog":"","location":null,"email":"User1_ght@example.com","id":16774475,"login":null,"type":"User"}}' - http_version: - recorded_at: Tue, 22 May 2018 11:54:00 GMT -- request: - method: get - uri: https://api.github.com/users/User1_ght?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 11:54:01 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4991' - X-Ratelimit-Reset: - - '1526991283' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"27a9251937380d88784e9b6540e3fa91" - Last-Modified: - - Mon, 14 May 2018 07:48:39 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.090254' - X-Github-Request-Id: - - 569A:13CF:1A5032A:3BF3D7C:5B0404D8 - body: - encoding: ASCII-8BIT - string: '{"login":"User1_ght","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/User1_ght","html_url":"https://github.com/User1_ght","followers_url":"https://api.github.com/users/User1_ght/followers","following_url":"https://api.github.com/users/User1_ght/following{/other_user}","gists_url":"https://api.github.com/users/User1_ght/gists{/gist_id}","starred_url":"https://api.github.com/users/User1_ght/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/User1_ght/subscriptions","organizations_url":"https://api.github.com/users/User1_ght/orgs","repos_url":"https://api.github.com/users/User1_ght/repos","events_url":"https://api.github.com/users/User1_ght/events{/privacy}","received_events_url":"https://api.github.com/users/User1_ght/received_events","type":"User","site_admin":false,"name":"User1_ght","company":null,"blog":"","location":null,"email":"User1_ght@example.com","hireable":null,"bio":null,"public_repos":6,"public_gists":0,"followers":0,"following":0,"created_at":"2016-01-19T09:01:22Z","updated_at":"2018-05-14T07:48:39Z","private_gists":1,"total_private_repos":0,"owned_private_repos":0,"disk_usage":335,"collaborators":0,"two_factor_authentication":false,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":0}}' - http_version: - recorded_at: Tue, 22 May 2018 11:54:01 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user_commits.yml b/fixtures/vcr_cassettes/github_get_user_commits.yml deleted file mode 100644 index a57de35..0000000 --- a/fixtures/vcr_cassettes/github_get_user_commits.yml +++ /dev/null @@ -1,326 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Thu, 24 May 2018 11:22:44 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4981' - X-Ratelimit-Reset: - - '1527161674' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"7298569fef327be55e25ef585b1e3f62" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.081561' - X-Github-Request-Id: - - 5251:3973:5EB9E3:BFDD9D:5B06A084 - body: - encoding: ASCII-8BIT - string: '{"sha":"e1f1ada440fb107366d68599107aa365c1e14255","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-24T11:18:19Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-24T11:18:19Z"},"message":"Initial - commit","tree":{"sha":"627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/e1f1ada440fb107366d68599107aa365c1e14255","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbBp97CRBK7hj4Ov3rIwAAdHIIAKpgnLHGflcVnzyRp7evm1US\nTGnm856EOuZleJabe1MMp1eoIklosHWuAB//F8X2F8hAbABb6Q0+rNB4p/rhJ90m\npUl+7ltukRLr3TsAzCGF9srE1xtrcXo0b+sOa9/4H7UQfQ0Sqg+AjRwIGAItSEkU\n35GJ+t0Uxgj4Qp2EcTYfFe4xIkfI0u3qiaRIgwBgJ8K/44XmmIUaRTNAdzxrOwYi\nMwc8yoB1RG43l9Z2xgF9n0G16CDuqjNWManzsvXi8Fh2dGr3HOI8p011OsJQ9tWS\n1Ydi2CEMpcrLNPor6ExOZfd88JqeZZPTGHCpNyAX3gA8wwVGFqeKa7N6MeB++A8=\n=Vl6y\n-----END - PGP SIGNATURE-----\n","payload":"tree 627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7\nauthor - Priya Rani 1527160699 +0530\ncommitter GitHub - 1527160699 +0530\n\nInitial commit"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255","html_url":"https://github.com/Priya5/Test-Project/commit/e1f1ada440fb107366d68599107aa365c1e14255","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[],"stats":{"total":1,"additions":1,"deletions":0},"files":[{"sha":"1e63ce97b846fbe7bdb7d424632394cb2aa41060","filename":"README.md","status":"added","additions":1,"deletions":0,"changes":1,"blob_url":"https://github.com/Priya5/Test-Project/blob/e1f1ada440fb107366d68599107aa365c1e14255/README.md","raw_url":"https://github.com/Priya5/Test-Project/raw/e1f1ada440fb107366d68599107aa365c1e14255/README.md","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/README.md?ref=e1f1ada440fb107366d68599107aa365c1e14255","patch":"@@ - -0,0 +1 @@\n+# Test-Project\n\\ No newline at end of file"}]}' - http_version: - recorded_at: Thu, 24 May 2018 11:22:44 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits/df9e4928f5259ad181b6e7104be9868f?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Thu, 24 May 2018 11:22:45 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4980' - X-Ratelimit-Reset: - - '1527161674' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.046573' - X-Github-Request-Id: - - 525B:3974:7DFD57:E82984:5B06A085 - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/commits/#get-a-single-commit"}' - http_version: - recorded_at: Thu, 24 May 2018 11:22:46 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Thu, 24 May 2018 11:22:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4979' - X-Ratelimit-Reset: - - '1527161674' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"7971e8683c19e633495095b4a0f8e77d" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.076725' - X-Github-Request-Id: - - 5272:3972:3E6134:89935B:5B06A086 - body: - encoding: ASCII-8BIT - string: '[{"sha":"e1f1ada440fb107366d68599107aa365c1e14255","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-24T11:18:19Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-24T11:18:19Z"},"message":"Initial - commit","tree":{"sha":"627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/e1f1ada440fb107366d68599107aa365c1e14255","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbBp97CRBK7hj4Ov3rIwAAdHIIAKpgnLHGflcVnzyRp7evm1US\nTGnm856EOuZleJabe1MMp1eoIklosHWuAB//F8X2F8hAbABb6Q0+rNB4p/rhJ90m\npUl+7ltukRLr3TsAzCGF9srE1xtrcXo0b+sOa9/4H7UQfQ0Sqg+AjRwIGAItSEkU\n35GJ+t0Uxgj4Qp2EcTYfFe4xIkfI0u3qiaRIgwBgJ8K/44XmmIUaRTNAdzxrOwYi\nMwc8yoB1RG43l9Z2xgF9n0G16CDuqjNWManzsvXi8Fh2dGr3HOI8p011OsJQ9tWS\n1Ydi2CEMpcrLNPor6ExOZfd88JqeZZPTGHCpNyAX3gA8wwVGFqeKa7N6MeB++A8=\n=Vl6y\n-----END - PGP SIGNATURE-----\n","payload":"tree 627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7\nauthor - Priya Rani 1527160699 +0530\ncommitter GitHub - 1527160699 +0530\n\nInitial commit"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255","html_url":"https://github.com/Priya5/Test-Project/commit/e1f1ada440fb107366d68599107aa365c1e14255","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[]}]' - http_version: - recorded_at: Thu, 24 May 2018 11:22:47 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project/commits?per_page=100&sha=e1f1ada440fb107366d68599107aa365c1e14255 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Thu, 24 May 2018 11:24:53 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4978' - X-Ratelimit-Reset: - - '1527161674' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"7971e8683c19e633495095b4a0f8e77d" - Last-Modified: - - Thu, 24 May 2018 11:18:19 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.062642' - X-Github-Request-Id: - - 74CD:3972:3E908A:89F882:5B06A104 - body: - encoding: ASCII-8BIT - string: '[{"sha":"e1f1ada440fb107366d68599107aa365c1e14255","commit":{"author":{"name":"Priya - Rani","email":"priya.rani549@gmail.com","date":"2018-05-24T11:18:19Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2018-05-24T11:18:19Z"},"message":"Initial - commit","tree":{"sha":"627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7","url":"https://api.github.com/repos/Priya5/Test-Project/git/trees/627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7"},"url":"https://api.github.com/repos/Priya5/Test-Project/git/commits/e1f1ada440fb107366d68599107aa365c1e14255","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN - PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJbBp97CRBK7hj4Ov3rIwAAdHIIAKpgnLHGflcVnzyRp7evm1US\nTGnm856EOuZleJabe1MMp1eoIklosHWuAB//F8X2F8hAbABb6Q0+rNB4p/rhJ90m\npUl+7ltukRLr3TsAzCGF9srE1xtrcXo0b+sOa9/4H7UQfQ0Sqg+AjRwIGAItSEkU\n35GJ+t0Uxgj4Qp2EcTYfFe4xIkfI0u3qiaRIgwBgJ8K/44XmmIUaRTNAdzxrOwYi\nMwc8yoB1RG43l9Z2xgF9n0G16CDuqjNWManzsvXi8Fh2dGr3HOI8p011OsJQ9tWS\n1Ydi2CEMpcrLNPor6ExOZfd88JqeZZPTGHCpNyAX3gA8wwVGFqeKa7N6MeB++A8=\n=Vl6y\n-----END - PGP SIGNATURE-----\n","payload":"tree 627c7ee8a807d27c4ab94b6a4ab6d5e63de779a7\nauthor - Priya Rani 1527160699 +0530\ncommitter GitHub - 1527160699 +0530\n\nInitial commit"}},"url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255","html_url":"https://github.com/Priya5/Test-Project/commit/e1f1ada440fb107366d68599107aa365c1e14255","comments_url":"https://api.github.com/repos/Priya5/Test-Project/commits/e1f1ada440fb107366d68599107aa365c1e14255/comments","author":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"committer":{"login":"web-flow","id":19864447,"avatar_url":"https://avatars3.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","site_admin":false},"parents":[]}]' - http_version: - recorded_at: Thu, 24 May 2018 11:24:53 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user_following.yml b/fixtures/vcr_cassettes/github_get_user_following.yml deleted file mode 100644 index f2a1b0e..0000000 --- a/fixtures/vcr_cassettes/github_get_user_following.yml +++ /dev/null @@ -1,155 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/users/Priya5/following?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 23 May 2018 06:37:17 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1527059152' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"d4ed80095e40f1f3cc2eed2632476fff" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.037526' - X-Github-Request-Id: - - 2E96:5E96:7E324:123B70:5B050C1D - body: - encoding: ASCII-8BIT - string: '[{"login":"ProsenjitSaha","id":420480,"avatar_url":"https://avatars1.githubusercontent.com/u/420480?v=4","gravatar_id":"","url":"https://api.github.com/users/ProsenjitSaha","html_url":"https://github.com/ProsenjitSaha","followers_url":"https://api.github.com/users/ProsenjitSaha/followers","following_url":"https://api.github.com/users/ProsenjitSaha/following{/other_user}","gists_url":"https://api.github.com/users/ProsenjitSaha/gists{/gist_id}","starred_url":"https://api.github.com/users/ProsenjitSaha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ProsenjitSaha/subscriptions","organizations_url":"https://api.github.com/users/ProsenjitSaha/orgs","repos_url":"https://api.github.com/users/ProsenjitSaha/repos","events_url":"https://api.github.com/users/ProsenjitSaha/events{/privacy}","received_events_url":"https://api.github.com/users/ProsenjitSaha/received_events","type":"User","site_admin":false}]' - http_version: - recorded_at: Wed, 23 May 2018 06:37:17 GMT -- request: - method: get - uri: https://api.github.com/users/ProsenjitSaha/followers?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Wed, 23 May 2018 06:37:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4994' - X-Ratelimit-Reset: - - '1527059152' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"719c0019b1cd67bacd2b7622349b2393" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.032809' - X-Github-Request-Id: - - 48BA:5E99:1B6E26:31C99A:5B050C1E - body: - encoding: ASCII-8BIT - string: '[]' - http_version: - recorded_at: Wed, 23 May 2018 06:37:18 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user_organizations.yml b/fixtures/vcr_cassettes/github_get_user_organizations.yml deleted file mode 100644 index 828cb9a..0000000 --- a/fixtures/vcr_cassettes/github_get_user_organizations.yml +++ /dev/null @@ -1,234 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/users/Priya5/orgs?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Sun, 27 May 2018 18:13:30 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '2' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4997' - X-Ratelimit-Reset: - - '1527446695' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"3af34d68e3496077d84420f92c13c50c"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.030472' - X-Github-Request-Id: - - C918:6AAF:1FBC89B:42771B0:5B0AF54A - body: - encoding: UTF-8 - string: "[]" - http_version: - recorded_at: Sun, 27 May 2018 18:13:30 GMT -- request: - method: get - uri: https://api.github.com/users/Priya/orgs?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 10:55:10 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527594910' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"fc892a294c8827c40b4a76f2b0b81af7" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.033636' - X-Github-Request-Id: - - B08B:3973:31EFED0:65DC11B:5B0D318E - body: - encoding: ASCII-8BIT - string: '[{"login":"ghtorrent","id":431461,"url":"https://api.github.com/orgs/ghtorrent","repos_url":"https://api.github.com/orgs/ghtorrent/repos","events_url":"https://api.github.com/orgs/ghtorrent/events","hooks_url":"https://api.github.com/orgs/ghtorrent/hooks","issues_url":"https://api.github.com/orgs/ghtorrent/issues","members_url":"https://api.github.com/orgs/ghtorrent/members{/member}","public_members_url":"https://api.github.com/orgs/ghtorrent/public_members{/member}","avatar_url":"https://avatars0.githubusercontent.com/u/431461?v=4","description":""}]' - http_version: - recorded_at: Tue, 29 May 2018 10:55:10 GMT -- request: - method: get - uri: https://api.github.com/users/ghtorrent?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 29 May 2018 10:55:11 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4998' - X-Ratelimit-Reset: - - '1527594910' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"78d51f294f59927d8b97b7cd45de6116" - Last-Modified: - - Thu, 03 May 2018 09:36:35 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - '' - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.035969' - X-Github-Request-Id: - - BC65:3974:43A3EC6:7CB1A4A:5B0D318F - body: - encoding: ASCII-8BIT - string: '{"login":"ghtorrent","id":1,"avatar_url":"https://avatars0.githubusercontent.com/u/431461?v=4","gravatar_id":"","url":"https://api.github.com/users/ghtorrent","html_url":"https://github.com/ghtorrent","followers_url":"https://api.github.com/users/ghtorrent/followers","following_url":"https://api.github.com/users/ghtorrent/following{/other_user}","gists_url":"https://api.github.com/users/ghtorrent/gists{/gist_id}","starred_url":"https://api.github.com/users/ghtorrent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ghtorrent/subscriptions","organizations_url":"https://api.github.com/users/ghtorrent/orgs","repos_url":"https://api.github.com/users/ghtorrent/repos","events_url":"https://api.github.com/users/ghtorrent/events{/privacy}","received_events_url":"https://api.github.com/users/ghtorrent/received_events","type":"Organization","site_admin":false,"name":"GHTorrent.","company":null,"blog":"https://www.ghtorrent.com/technology/integrations","location":"Burlington, - MA","email":"ght@ghtorrent.com","hireable":null,"bio":null,"public_repos":140,"public_gists":0,"followers":0,"following":0,"created_at":"2010-10-07T19:09:56Z","updated_at":"2018-05-03T09:36:35Z"}' - http_version: - recorded_at: Tue, 29 May 2018 10:55:11 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/github_get_user_repo.yml b/fixtures/vcr_cassettes/github_get_user_repo.yml deleted file mode 100644 index a5df292..0000000 --- a/fixtures/vcr_cassettes/github_get_user_repo.yml +++ /dev/null @@ -1,151 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-Project?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Fri, 25 May 2018 09:20:06 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527243606' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"dbb8300369c234cd2fce12a9c82a01d9" - Last-Modified: - - Thu, 24 May 2018 11:18:21 GMT - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.171717' - X-Github-Request-Id: - - F531:116A:6CE232:102A748:5B07D545 - body: - encoding: ASCII-8BIT - string: '{"id":134704620,"name":"Test-Project","full_name":"Priya5/Test-Project","owner":{"login":"Priya5","id":16774475,"avatar_url":"https://avatars1.githubusercontent.com/u/16774475?v=4","gravatar_id":"","url":"https://api.github.com/users/Priya5","html_url":"https://github.com/Priya5","followers_url":"https://api.github.com/users/Priya5/followers","following_url":"https://api.github.com/users/Priya5/following{/other_user}","gists_url":"https://api.github.com/users/Priya5/gists{/gist_id}","starred_url":"https://api.github.com/users/Priya5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Priya5/subscriptions","organizations_url":"https://api.github.com/users/Priya5/orgs","repos_url":"https://api.github.com/users/Priya5/repos","events_url":"https://api.github.com/users/Priya5/events{/privacy}","received_events_url":"https://api.github.com/users/Priya5/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Priya5/Test-Project","description":null,"fork":false,"url":"https://api.github.com/repos/Priya5/Test-Project","forks_url":"https://api.github.com/repos/Priya5/Test-Project/forks","keys_url":"https://api.github.com/repos/Priya5/Test-Project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Priya5/Test-Project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Priya5/Test-Project/teams","hooks_url":"https://api.github.com/repos/Priya5/Test-Project/hooks","issue_events_url":"https://api.github.com/repos/Priya5/Test-Project/issues/events{/number}","events_url":"https://api.github.com/repos/Priya5/Test-Project/events","assignees_url":"https://api.github.com/repos/Priya5/Test-Project/assignees{/user}","branches_url":"https://api.github.com/repos/Priya5/Test-Project/branches{/branch}","tags_url":"https://api.github.com/repos/Priya5/Test-Project/tags","blobs_url":"https://api.github.com/repos/Priya5/Test-Project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Priya5/Test-Project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Priya5/Test-Project/git/refs{/sha}","trees_url":"https://api.github.com/repos/Priya5/Test-Project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Priya5/Test-Project/statuses/{sha}","languages_url":"https://api.github.com/repos/Priya5/Test-Project/languages","stargazers_url":"https://api.github.com/repos/Priya5/Test-Project/stargazers","contributors_url":"https://api.github.com/repos/Priya5/Test-Project/contributors","subscribers_url":"https://api.github.com/repos/Priya5/Test-Project/subscribers","subscription_url":"https://api.github.com/repos/Priya5/Test-Project/subscription","commits_url":"https://api.github.com/repos/Priya5/Test-Project/commits{/sha}","git_commits_url":"https://api.github.com/repos/Priya5/Test-Project/git/commits{/sha}","comments_url":"https://api.github.com/repos/Priya5/Test-Project/comments{/number}","issue_comment_url":"https://api.github.com/repos/Priya5/Test-Project/issues/comments{/number}","contents_url":"https://api.github.com/repos/Priya5/Test-Project/contents/{+path}","compare_url":"https://api.github.com/repos/Priya5/Test-Project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Priya5/Test-Project/merges","archive_url":"https://api.github.com/repos/Priya5/Test-Project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Priya5/Test-Project/downloads","issues_url":"https://api.github.com/repos/Priya5/Test-Project/issues{/number}","pulls_url":"https://api.github.com/repos/Priya5/Test-Project/pulls{/number}","milestones_url":"https://api.github.com/repos/Priya5/Test-Project/milestones{/number}","notifications_url":"https://api.github.com/repos/Priya5/Test-Project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Priya5/Test-Project/labels{/name}","releases_url":"https://api.github.com/repos/Priya5/Test-Project/releases{/id}","deployments_url":"https://api.github.com/repos/Priya5/Test-Project/deployments","created_at":"2018-05-24T11:18:19Z","updated_at":"2018-05-24T11:18:21Z","pushed_at":"2018-05-24T11:18:20Z","git_url":"git://github.com/Priya5/Test-Project.git","ssh_url":"git@github.com:Priya5/Test-Project.git","clone_url":"https://github.com/Priya5/Test-Project.git","svn_url":"https://github.com/Priya5/Test-Project","homepage":null,"size":0,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"allow_squash_merge":true,"allow_merge_commit":true,"allow_rebase_merge":true,"network_count":0,"subscribers_count":1}' - http_version: - recorded_at: Fri, 25 May 2018 09:20:06 GMT -- request: - method: get - uri: https://api.github.com/repos/Priya5/Test-project1?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 404 - message: Not Found - headers: - Server: - - GitHub.com - Date: - - Sun, 27 May 2018 17:44:55 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 404 Not Found - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4999' - X-Ratelimit-Reset: - - '1527446695' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.031650' - X-Github-Request-Id: - - C247:6AAE:2B83ECB:527F594:5B0AEE97 - body: - encoding: ASCII-8BIT - string: '{"message":"Not Found","documentation_url":"https://developer.github.com/v3/repos/#get"}' - http_version: - recorded_at: Sun, 27 May 2018 17:44:55 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/legacy_user_search.yml b/fixtures/vcr_cassettes/legacy_user_search.yml deleted file mode 100644 index 69731f4..0000000 --- a/fixtures/vcr_cassettes/legacy_user_search.yml +++ /dev/null @@ -1,158 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://api.github.com/legacy/user/search/Priya5?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:24:19 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4996' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - W/"45b7f1389b28a8f72f083607bceda926" - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.062248' - X-Github-Request-Id: - - 5E85:13D2:51D6A4E:9734488:5B03EFD2 - body: - encoding: ASCII-8BIT - string: '{"users":[{"id":"user-16774475","gravatar_id":"","username":"Priya5","login":"Priya5","name":"Priya - Rani","fullname":"Priya Rani","location":null,"language":"Ruby","type":"user","public_repo_count":6,"repos":6,"followers":0,"followers_count":0,"score":25.454966,"created_at":"2016-01-19T09:01:22Z","created":"2016-01-19T09:01:22Z"},{"id":"user-25654781","gravatar_id":"","username":"priya5713","login":"priya5713","name":"Priya - ","fullname":"Priya ","location":"Ahmedabad","language":"Java","type":"user","public_repo_count":11,"repos":11,"followers":3,"followers_count":3,"score":19.105947,"created_at":"2017-02-09T05:13:29Z","created":"2017-02-09T05:13:29Z"},{"id":"user-22061603","gravatar_id":"","username":"priya57","login":"priya57","name":"PrudhviPriyanka - Bhogavalli","fullname":"PrudhviPriyanka Bhogavalli","location":"Essen,Germany","language":"Matlab","type":"user","public_repo_count":9,"repos":9,"followers":3,"followers_count":3,"score":18.753155,"created_at":"2016-09-07T20:14:54Z","created":"2016-09-07T20:14:54Z"},{"id":"user-12344360","gravatar_id":"","username":"PRIYA55","login":"PRIYA55","name":null,"fullname":null,"location":null,"language":"CoffeeScript","type":"user","public_repo_count":7,"repos":7,"followers":0,"followers_count":0,"score":13.994334,"created_at":"2015-05-08T14:39:32Z","created":"2015-05-08T14:39:32Z"},{"id":"user-23091637","gravatar_id":"","username":"priya514","login":"priya514","name":null,"fullname":null,"location":null,"language":"JavaScript","type":"user","public_repo_count":4,"repos":4,"followers":0,"followers_count":0,"score":11.547287,"created_at":"2016-10-27T04:43:21Z","created":"2016-10-27T04:43:21Z"},{"id":"user-6358498","gravatar_id":"","username":"priya589","login":"priya589","name":null,"fullname":null,"location":null,"language":"Python","type":"user","public_repo_count":6,"repos":6,"followers":0,"followers_count":0,"score":11.465056,"created_at":"2014-01-09T10:52:22Z","created":"2014-01-09T10:52:22Z"},{"id":"user-31347969","gravatar_id":"","username":"priya558","login":"priya558","name":null,"fullname":null,"location":null,"language":"Java","type":"user","public_repo_count":3,"repos":3,"followers":0,"followers_count":0,"score":10.305107,"created_at":"2017-08-25T13:03:37Z","created":"2017-08-25T13:03:37Z"},{"id":"user-25486915","gravatar_id":"","username":"priya512","login":"priya512","name":null,"fullname":null,"location":null,"language":"Java","type":"user","public_repo_count":2,"repos":2,"followers":0,"followers_count":0,"score":8.492762,"created_at":"2017-02-01T16:57:13Z","created":"2017-02-01T16:57:13Z"},{"id":"user-10127412","gravatar_id":"","username":"priya54321","login":"priya54321","name":null,"fullname":null,"location":null,"language":"PHP","type":"user","public_repo_count":2,"repos":2,"followers":0,"followers_count":0,"score":8.492762,"created_at":"2014-12-09T09:22:48Z","created":"2014-12-09T09:22:48Z"},{"id":"user-23008456","gravatar_id":"","username":"priya561712","login":"priya561712","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.6383743,"created_at":"2016-10-23T05:59:30Z","created":"2016-10-23T05:59:30Z"},{"id":"user-28556379","gravatar_id":"","username":"priya597","login":"priya597","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.6381736,"created_at":"2017-05-09T06:31:46Z","created":"2017-05-09T06:31:46Z"},{"id":"user-6365688","gravatar_id":"","username":"priya5411","login":"priya5411","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.6255426,"created_at":"2014-01-10T03:51:12Z","created":"2014-01-10T03:51:12Z"},{"id":"user-37922020","gravatar_id":"","username":"priya56p","login":"priya56p","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.5818014,"created_at":"2018-03-30T04:46:01Z","created":"2018-03-30T04:46:01Z"},{"id":"user-22177645","gravatar_id":"","username":"priya5060","login":"priya5060","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":1,"repos":1,"followers":0,"followers_count":0,"score":7.551465,"created_at":"2016-09-13T17:11:36Z","created":"2016-09-13T17:11:36Z"},{"id":"user-22112886","gravatar_id":"","username":"priya573","login":"priya573","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.5332675,"created_at":"2016-09-10T07:01:22Z","created":"2016-09-10T07:01:22Z"},{"id":"user-30716271","gravatar_id":"","username":"priya5190","login":"priya5190","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":7.2077746,"created_at":"2017-08-04T06:18:57Z","created":"2017-08-04T06:18:57Z"},{"id":"user-32943790","gravatar_id":"","username":"Priya530","login":"Priya530","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.97648,"created_at":"2017-10-19T22:33:37Z","created":"2017-10-19T22:33:37Z"},{"id":"user-32288015","gravatar_id":"","username":"priya5791","login":"priya5791","name":null,"fullname":null,"location":null,"language":"TypeScript","type":"user","public_repo_count":1,"repos":1,"followers":1,"followers_count":1,"score":6.97648,"created_at":"2017-09-26T04:52:25Z","created":"2017-09-26T04:52:25Z"},{"id":"user-38714497","gravatar_id":"","username":"priya56","login":"priya56","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.967942,"created_at":"2018-04-25T05:48:28Z","created":"2018-04-25T05:48:28Z"},{"id":"user-22795789","gravatar_id":"","username":"priya50","login":"priya50","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.967942,"created_at":"2016-10-12T14:56:23Z","created":"2016-10-12T14:56:23Z"},{"id":"user-37443196","gravatar_id":"","username":"Priya555k","login":"Priya555k","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.967942,"created_at":"2018-03-16T11:53:03Z","created":"2018-03-16T11:53:03Z"},{"id":"user-17737480","gravatar_id":"","username":"Priya53","login":"Priya53","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.5277214,"created_at":"2016-03-09T05:55:02Z","created":"2016-03-09T05:55:02Z"},{"id":"user-35325915","gravatar_id":"","username":"Priya527","login":"Priya527","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.5277214,"created_at":"2018-01-11T07:01:11Z","created":"2018-01-11T07:01:11Z"},{"id":"user-36620753","gravatar_id":"","username":"Priya564","login":"Priya564","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.5277214,"created_at":"2018-02-19T08:36:44Z","created":"2018-02-19T08:36:44Z"},{"id":"user-16742429","gravatar_id":"","username":"priya567","login":"priya567","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.4477396,"created_at":"2016-01-17T10:11:43Z","created":"2016-01-17T10:11:43Z"},{"id":"user-35840751","gravatar_id":"","username":"Priya59","login":"Priya59","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":1,"repos":1,"followers":0,"followers_count":0,"score":6.4477396,"created_at":"2018-01-26T13:39:16Z","created":"2018-01-26T13:39:16Z"},{"id":"user-38810848","gravatar_id":"","username":"priya51022","login":"priya51022","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.4477396,"created_at":"2018-04-28T12:02:50Z","created":"2018-04-28T12:02:50Z"},{"id":"user-22112798","gravatar_id":"","username":"priya572","login":"priya572","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.3779287,"created_at":"2016-09-10T06:53:03Z","created":"2016-09-10T06:53:03Z"},{"id":"user-31992824","gravatar_id":"","username":"priya580","login":"priya580","name":null,"fullname":null,"location":null,"language":"Java","type":"user","public_repo_count":1,"repos":1,"followers":0,"followers_count":0,"score":6.3779287,"created_at":"2017-09-15T14:33:18Z","created":"2017-09-15T14:33:18Z"},{"id":"user-8364902","gravatar_id":"","username":"priya555","login":"priya555","name":null,"fullname":null,"location":null,"language":null,"type":"user","public_repo_count":0,"repos":0,"followers":0,"followers_count":0,"score":6.3779287,"created_at":"2014-08-05T16:08:48Z","created":"2014-08-05T16:08:48Z"}]}' - http_version: - recorded_at: Tue, 22 May 2018 10:24:19 GMT -- request: - method: get - uri: https://api.github.com/legacy/user/search/User1+User2?per_page=100 - body: - encoding: US-ASCII - string: '' - headers: - User-Agent: - - ghtorrent - Authorization: - - token 46e54d0f00babfda05a5342133fce027a3585615 - Accept: - - application/json - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - response: - status: - code: 200 - message: OK - headers: - Server: - - GitHub.com - Date: - - Tue, 22 May 2018 10:27:15 GMT - Content-Type: - - application/json; charset=utf-8 - Content-Length: - - '12' - Status: - - 200 OK - X-Ratelimit-Limit: - - '5000' - X-Ratelimit-Remaining: - - '4995' - X-Ratelimit-Reset: - - '1526985896' - Cache-Control: - - private, max-age=60, s-maxage=60 - Vary: - - Accept, Authorization, Cookie, X-GitHub-OTP - Etag: - - '"0402d1a3161464157b15b8827e4e140b"' - X-Oauth-Scopes: - - public_repo, read:user, user:email - X-Accepted-Oauth-Scopes: - - repo - X-Oauth-Client-Id: - - 843645bc490706cfbb49 - X-Github-Media-Type: - - github.v3 - Access-Control-Expose-Headers: - - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, - X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval - Access-Control-Allow-Origin: - - "*" - Strict-Transport-Security: - - max-age=31536000; includeSubdomains; preload - X-Frame-Options: - - deny - X-Content-Type-Options: - - nosniff - X-Xss-Protection: - - 1; mode=block - Referrer-Policy: - - origin-when-cross-origin, strict-origin-when-cross-origin - Content-Security-Policy: - - default-src 'none' - X-Runtime-Rack: - - '0.039682' - X-Github-Request-Id: - - 552C:13CF:19F5797:3B31471:5B03F083 - body: - encoding: UTF-8 - string: '{"users":[]}' - http_version: - recorded_at: Tue, 22 May 2018 10:27:15 GMT -recorded_with: VCR 4.0.0 diff --git a/fixtures/vcr_cassettes/osm_geolocate.yml b/fixtures/vcr_cassettes/osm_geolocate.yml deleted file mode 100644 index f2b2a88..0000000 --- a/fixtures/vcr_cassettes/osm_geolocate.yml +++ /dev/null @@ -1,183 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: http://nominatim.openstreetmap.org/search/san%20francisco?accept_language=en&addressdetails=1&format=json - body: - encoding: US-ASCII - string: '' - headers: - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" - User-Agent: - - Ruby - response: - status: - code: 200 - message: OK - headers: - Date: - - Tue, 24 Apr 2018 13:09:19 GMT - Server: - - Apache/2.4.18 (Ubuntu) - Access-Control-Allow-Origin: - - "*" - Access-Control-Allow-Methods: - - OPTIONS,GET - Connection: - - close - Transfer-Encoding: - - chunked - Content-Type: - - application/json; charset=UTF-8 - body: - encoding: ASCII-8BIT - string: !binary |- - W3sicGxhY2VfaWQiOiIxNzkwODQ2NDkiLCJsaWNlbmNlIjoiRGF0YSDCqSBP - cGVuU3RyZWV0TWFwIGNvbnRyaWJ1dG9ycywgT0RiTCAxLjAuIGh0dHBzOlwv - XC9vc20ub3JnXC9jb3B5cmlnaHQiLCJvc21fdHlwZSI6InJlbGF0aW9uIiwi - b3NtX2lkIjoiMzg3MDQ2NiIsImJvdW5kaW5nYm94IjpbIjguMzI0MDA0OSIs - IjguNTY2NzcyIiwiMTI1Ljg2MjQyNCIsIjEyNi4wNDI1OCJdLCJsYXQiOiI4 - LjQ0NDU4NSIsImxvbiI6IjEyNS45NTEyNDkxODU0NzUiLCJkaXNwbGF5X25h - bWUiOiJTYW4gRnJhbmNpc2NvLCBBZ3VzYW4gZGVsIFN1ciwgQ2FyYWdhLCBQ - aGlsaXBwaW5lcyIsImNsYXNzIjoiYm91bmRhcnkiLCJ0eXBlIjoiYWRtaW5p - c3RyYXRpdmUiLCJpbXBvcnRhbmNlIjowLjMxMjUsImljb24iOiJodHRwczpc - L1wvbm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnXC9pbWFnZXNcL21hcGlj - b25zXC9wb2lfYm91bmRhcnlfYWRtaW5pc3RyYXRpdmUucC4yMC5wbmciLCJh - ZGRyZXNzIjp7ImNvdW50eSI6IlNhbiBGcmFuY2lzY28iLCJzdGF0ZSI6IkFn - dXNhbiBkZWwgU3VyIiwiY291bnRyeSI6IlBoaWxpcHBpbmVzIiwiY291bnRy - eV9jb2RlIjoicGgifX0seyJwbGFjZV9pZCI6IjE3OTIyNjA4NiIsImxpY2Vu - Y2UiOiJEYXRhIMKpIE9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzLCBPRGJM - IDEuMC4gaHR0cHM6XC9cL29zbS5vcmdcL2NvcHlyaWdodCIsIm9zbV90eXBl - IjoicmVsYXRpb24iLCJvc21faWQiOiI0NTU4ODYwIiwiYm91bmRpbmdib3gi - OlsiMTYuNjQxMDEyMyIsIjE2LjkzNDU1NTUiLCItOTAuMTU5NjUzNCIsIi04 - OS42NTQ0MTk3Il0sImxhdCI6IjE2Ljc2MTQyODM1IiwibG9uIjoiLTg5Ljk1 - NzQ4MjE0MDA4NzkiLCJkaXNwbGF5X25hbWUiOiJTYW4gRnJhbmNpc2NvLCBQ - ZXTDqW4sIDE3MDA2LCBHdWF0ZW1hbGEiLCJjbGFzcyI6ImJvdW5kYXJ5Iiwi - dHlwZSI6ImFkbWluaXN0cmF0aXZlIiwiaW1wb3J0YW5jZSI6MC4zMTI1LCJp - Y29uIjoiaHR0cHM6XC9cL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZ1wv - aW1hZ2VzXC9tYXBpY29uc1wvcG9pX2JvdW5kYXJ5X2FkbWluaXN0cmF0aXZl - LnAuMjAucG5nIiwiYWRkcmVzcyI6eyJjb3VudHkiOiJTYW4gRnJhbmNpc2Nv - Iiwic3RhdGUiOiJQZXTDqW4iLCJwb3N0Y29kZSI6IjE3MDA2IiwiY291bnRy - eSI6Ikd1YXRlbWFsYSIsImNvdW50cnlfY29kZSI6Imd0In19LHsicGxhY2Vf - aWQiOiIxNzk0NzMyMDciLCJsaWNlbmNlIjoiRGF0YSDCqSBPcGVuU3RyZWV0 - TWFwIGNvbnRyaWJ1dG9ycywgT0RiTCAxLjAuIGh0dHBzOlwvXC9vc20ub3Jn - XC9jb3B5cmlnaHQiLCJvc21fdHlwZSI6InJlbGF0aW9uIiwib3NtX2lkIjoi - NjA1MTgyNCIsImJvdW5kaW5nYm94IjpbIjE1LjUxMjA1NDQiLCIxNS43ODc1 - NDQ3IiwiLTg3LjEwODU3NjEiLCItODYuOTUzMjAzMSJdLCJsYXQiOiIxNS42 - NDk3MjIxNSIsImxvbiI6Ii04Ny4wMTczOTMyNjkyMjEzIiwiZGlzcGxheV9u - YW1lIjoiU2FuIEZyYW5jaXNjbywgQXRsw6FudGlkYSwgSG9uZHVyYXMiLCJj - bGFzcyI6ImJvdW5kYXJ5IiwidHlwZSI6ImFkbWluaXN0cmF0aXZlIiwiaW1w - b3J0YW5jZSI6MC4zMTI1LCJpY29uIjoiaHR0cHM6XC9cL25vbWluYXRpbS5v - cGVuc3RyZWV0bWFwLm9yZ1wvaW1hZ2VzXC9tYXBpY29uc1wvcG9pX2JvdW5k - YXJ5X2FkbWluaXN0cmF0aXZlLnAuMjAucG5nIiwiYWRkcmVzcyI6eyJjb3Vu - dHkiOiJTYW4gRnJhbmNpc2NvIiwic3RhdGUiOiJBdGzDoW50aWRhIiwiY291 - bnRyeSI6IkhvbmR1cmFzIiwiY291bnRyeV9jb2RlIjoiaG4ifX0seyJwbGFj - ZV9pZCI6IjE4MDA0ODIxNSIsImxpY2VuY2UiOiJEYXRhIMKpIE9wZW5TdHJl - ZXRNYXAgY29udHJpYnV0b3JzLCBPRGJMIDEuMC4gaHR0cHM6XC9cL29zbS5v - cmdcL2NvcHlyaWdodCIsIm9zbV90eXBlIjoicmVsYXRpb24iLCJvc21faWQi - OiI0NzIwMTIxIiwiYm91bmRpbmdib3giOlsiMjAuMjkyODIzNiIsIjIwLjI5 - Njg3NTMiLCItOTcuNTQxMTk1MiIsIi05Ny41Mzc5OTAzIl0sImxhdCI6IjIw - LjI5NDciLCJsb24iOiItOTcuNTM5NyIsImRpc3BsYXlfbmFtZSI6IlNhbiBG - cmFuY2lzY28sIFRlcnJlbm9zIGRlIGxhIEV4LWhhY2llbmRhIGRlIEphbWF5 - YSwgRXNwaW5hbCwgVmVyYWNydXogZGUgSWduYWNpbyBkZSBsYSBMbGF2ZSwg - TcOpeGljbyIsImNsYXNzIjoiYm91bmRhcnkiLCJ0eXBlIjoiYWRtaW5pc3Ry - YXRpdmUiLCJpbXBvcnRhbmNlIjowLjI4NzUsImljb24iOiJodHRwczpcL1wv - bm9taW5hdGltLm9wZW5zdHJlZXRtYXAub3JnXC9pbWFnZXNcL21hcGljb25z - XC9wb2lfYm91bmRhcnlfYWRtaW5pc3RyYXRpdmUucC4yMC5wbmciLCJhZGRy - ZXNzIjp7ImNpdHkiOiJTYW4gRnJhbmNpc2NvIiwiY291bnR5IjoiVGVycmVu - b3MgZGUgbGEgRXgtaGFjaWVuZGEgZGUgSmFtYXlhIiwic3RhdGUiOiJWZXJh - Y3J1eiBkZSBJZ25hY2lvIGRlIGxhIExsYXZlIiwiY291bnRyeSI6Ik3DqXhp - Y28iLCJjb3VudHJ5X2NvZGUiOiJteCJ9fSx7InBsYWNlX2lkIjoiMjIzMTYy - MTQzIiwibGljZW5jZSI6IkRhdGEgwqkgT3BlblN0cmVldE1hcCBjb250cmli - dXRvcnMsIE9EYkwgMS4wLiBodHRwczpcL1wvb3NtLm9yZ1wvY29weXJpZ2h0 - Iiwib3NtX3R5cGUiOiJub2RlIiwib3NtX2lkIjoiNzkyMjEzNDk2IiwiYm91 - bmRpbmdib3giOlsiMTAuMzk1OTg5OSIsIjEwLjcxNTk4OTkiLCItNzEuODEy - NDI5NCIsIi03MS40OTI0Mjk0Il0sImxhdCI6IjEwLjU1NTk4OTkiLCJsb24i - OiItNzEuNjUyNDI5NCIsImRpc3BsYXlfbmFtZSI6IlNhbiBGcmFuY2lzY28s - IE11bmljaXBpbyBTYW4gRnJhbmNpc2NvLCBadWxpYSwgNDAwNCwgVmVuZXp1 - ZWxhIiwiY2xhc3MiOiJwbGFjZSIsInR5cGUiOiJjaXR5IiwiaW1wb3J0YW5j - ZSI6MC4yODc1LCJpY29uIjoiaHR0cHM6XC9cL25vbWluYXRpbS5vcGVuc3Ry - ZWV0bWFwLm9yZ1wvaW1hZ2VzXC9tYXBpY29uc1wvcG9pX3BsYWNlX2NpdHku - cC4yMC5wbmciLCJhZGRyZXNzIjp7ImNpdHkiOiJTYW4gRnJhbmNpc2NvIiwi - Y291bnR5IjoiTXVuaWNpcGlvIFNhbiBGcmFuY2lzY28iLCJzdGF0ZSI6Ilp1 - bGlhIiwicG9zdGNvZGUiOiI0MDA0IiwiY291bnRyeSI6IlZlbmV6dWVsYSIs - ImNvdW50cnlfY29kZSI6InZlIn19LHsicGxhY2VfaWQiOiIxNzkwMzE4MTYi - LCJsaWNlbmNlIjoiRGF0YSDCqSBPcGVuU3RyZWV0TWFwIGNvbnRyaWJ1dG9y - cywgT0RiTCAxLjAuIGh0dHBzOlwvXC9vc20ub3JnXC9jb3B5cmlnaHQiLCJv - c21fdHlwZSI6InJlbGF0aW9uIiwib3NtX2lkIjoiMzY1OTEwNSIsImJvdW5k - aW5nYm94IjpbIjAuNjI4NDQwNCIsIjAuNzkzMTMwOSIsIi04MC4wOTg1NDk0 - IiwiLTc5Ljg5NjY2NzMiXSwibGF0IjoiMC42NTM5Nzc0IiwibG9uIjoiLTgw - LjA2NjExMzMiLCJkaXNwbGF5X25hbWUiOiJTYW4gRnJhbmNpc2NvLCBNdWlz - bmUsIEVzbWVyYWxkYXMsIEVjdWFkb3IiLCJjbGFzcyI6ImJvdW5kYXJ5Iiwi - dHlwZSI6ImFkbWluaXN0cmF0aXZlIiwiaW1wb3J0YW5jZSI6MC4yODc1LCJp - Y29uIjoiaHR0cHM6XC9cL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZ1wv - aW1hZ2VzXC9tYXBpY29uc1wvcG9pX2JvdW5kYXJ5X2FkbWluaXN0cmF0aXZl - LnAuMjAucG5nIiwiYWRkcmVzcyI6eyJjaXR5IjoiU2FuIEZyYW5jaXNjbyIs - ImNvdW50eSI6Ik11aXNuZSIsInN0YXRlIjoiRXNtZXJhbGRhcyIsImNvdW50 - cnkiOiJFY3VhZG9yIiwiY291bnRyeV9jb2RlIjoiZWMifX0seyJwbGFjZV9p - ZCI6IjE3OTM4Mjg1NSIsImxpY2VuY2UiOiJEYXRhIMKpIE9wZW5TdHJlZXRN - YXAgY29udHJpYnV0b3JzLCBPRGJMIDEuMC4gaHR0cHM6XC9cL29zbS5vcmdc - L2NvcHlyaWdodCIsIm9zbV90eXBlIjoicmVsYXRpb24iLCJvc21faWQiOiI1 - NzMxMDA3IiwiYm91bmRpbmdib3giOlsiOS45OTYzMTIxIiwiMTAuMDIzNTk0 - OSIsIi04NC4wNzU5MTk1IiwiLTg0LjA1NTM3MzkiXSwibGF0IjoiMTAuMDA0 - NzU3NyIsImxvbiI6Ii04NC4wNzA4MTg4IiwiZGlzcGxheV9uYW1lIjoiU2Fu - IEZyYW5jaXNjbywgQ2FudMOzbiBTYW4gSXNpZHJvLCBQcm92aW5jaWEgSGVy - ZWRpYSwgNDA2MDQsIENvc3RhIFJpY2EiLCJjbGFzcyI6ImJvdW5kYXJ5Iiwi - dHlwZSI6ImFkbWluaXN0cmF0aXZlIiwiaW1wb3J0YW5jZSI6MC4yODc1LCJp - Y29uIjoiaHR0cHM6XC9cL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZ1wv - aW1hZ2VzXC9tYXBpY29uc1wvcG9pX2JvdW5kYXJ5X2FkbWluaXN0cmF0aXZl - LnAuMjAucG5nIiwiYWRkcmVzcyI6eyJjaXR5IjoiU2FuIEZyYW5jaXNjbyIs - ImNvdW50eSI6IkNhbnTDs24gU2FuIElzaWRybyIsInN0YXRlIjoiUHJvdmlu - Y2lhIEhlcmVkaWEiLCJwb3N0Y29kZSI6IjQwNjA0IiwiY291bnRyeSI6IkNv - c3RhIFJpY2EiLCJjb3VudHJ5X2NvZGUiOiJjciJ9fSx7InBsYWNlX2lkIjoi - MTgwMDQyMDk2IiwibGljZW5jZSI6IkRhdGEgwqkgT3BlblN0cmVldE1hcCBj - b250cmlidXRvcnMsIE9EYkwgMS4wLiBodHRwczpcL1wvb3NtLm9yZ1wvY29w - eXJpZ2h0Iiwib3NtX3R5cGUiOiJyZWxhdGlvbiIsIm9zbV9pZCI6IjU2NDAw - NzkiLCJib3VuZGluZ2JveCI6WyI5Ljk3MDk2OTMiLCIxMC4wMDAxODUxIiwi - LTg0LjE2NDYxNjQiLCItODQuMTA4ODM5NCJdLCJsYXQiOiI5Ljk5NTAyMzQi - LCJsb24iOiItODQuMTI3OTcxOCIsImRpc3BsYXlfbmFtZSI6IlNhbiBGcmFu - Y2lzY28sIENhbnTDs24gSGVyZWRpYSwgUHJvdmluY2lhIEhlcmVkaWEsIDQw - MTAzLCBDb3N0YSBSaWNhIiwiY2xhc3MiOiJib3VuZGFyeSIsInR5cGUiOiJh - ZG1pbmlzdHJhdGl2ZSIsImltcG9ydGFuY2UiOjAuMjg3NSwiaWNvbiI6Imh0 - dHBzOlwvXC9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmdcL2ltYWdlc1wv - bWFwaWNvbnNcL3BvaV9ib3VuZGFyeV9hZG1pbmlzdHJhdGl2ZS5wLjIwLnBu - ZyIsImFkZHJlc3MiOnsiY2l0eSI6IlNhbiBGcmFuY2lzY28iLCJjb3VudHki - OiJDYW50w7NuIEhlcmVkaWEiLCJzdGF0ZSI6IlByb3ZpbmNpYSBIZXJlZGlh - IiwicG9zdGNvZGUiOiI0MDEwMyIsImNvdW50cnkiOiJDb3N0YSBSaWNhIiwi - Y291bnRyeV9jb2RlIjoiY3IifX0seyJwbGFjZV9pZCI6IjE3OTMyNzg5NSIs - ImxpY2VuY2UiOiJEYXRhIMKpIE9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3Jz - LCBPRGJMIDEuMC4gaHR0cHM6XC9cL29zbS5vcmdcL2NvcHlyaWdodCIsIm9z - bV90eXBlIjoicmVsYXRpb24iLCJvc21faWQiOiI1NDEzNzMxIiwiYm91bmRp - bmdib3giOlsiOS45MzkwMDI2IiwiOS45NDQ5MjYzIiwiLTg0LjA3ODUxNjYi - LCItODQuMDY0NDk1OCJdLCJsYXQiOiI5Ljk0MTk3OTMiLCJsb24iOiItODQu - MDcxODk3OCIsImRpc3BsYXlfbmFtZSI6IlNhbiBGcmFuY2lzY28sIENhbnTD - s24gR29pY29lY2hlYSwgUHJvdmluY2lhIFNhbiBKb3PDqSwgMTA4MDIsIENv - c3RhIFJpY2EiLCJjbGFzcyI6ImJvdW5kYXJ5IiwidHlwZSI6ImFkbWluaXN0 - cmF0aXZlIiwiaW1wb3J0YW5jZSI6MC4yODc1LCJpY29uIjoiaHR0cHM6XC9c - L25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZ1wvaW1hZ2VzXC9tYXBpY29u - c1wvcG9pX2JvdW5kYXJ5X2FkbWluaXN0cmF0aXZlLnAuMjAucG5nIiwiYWRk - cmVzcyI6eyJjaXR5IjoiU2FuIEZyYW5jaXNjbyIsImNvdW50eSI6IkNhbnTD - s24gR29pY29lY2hlYSIsInN0YXRlIjoiUHJvdmluY2lhIFNhbiBKb3PDqSIs - InBvc3Rjb2RlIjoiMTA4MDIiLCJjb3VudHJ5IjoiQ29zdGEgUmljYSIsImNv - dW50cnlfY29kZSI6ImNyIn19LHsicGxhY2VfaWQiOiIxNzk4ODk2MjIiLCJs - aWNlbmNlIjoiRGF0YSDCqSBPcGVuU3RyZWV0TWFwIGNvbnRyaWJ1dG9ycywg - T0RiTCAxLjAuIGh0dHBzOlwvXC9vc20ub3JnXC9jb3B5cmlnaHQiLCJvc21f - dHlwZSI6InJlbGF0aW9uIiwib3NtX2lkIjoiMzkxODk2MiIsImJvdW5kaW5n - Ym94IjpbIi0zMS40NTI0OTc2IiwiLTMxLjM5NjUzNDMiLCItNjIuMTMwMTM2 - IiwiLTYyLjA1Nzk4NzIiXSwibGF0IjoiLTMxLjQyNDk4MTUiLCJsb24iOiIt - NjIuMDg0MDI5OSIsImRpc3BsYXlfbmFtZSI6IlNhbiBGcmFuY2lzY28sIERl - cGFydGFtZW50byBTYW4gSnVzdG8sIENiYS4sIFgyNDAwLCBBcmdlbnRpbmEi - LCJjbGFzcyI6ImJvdW5kYXJ5IiwidHlwZSI6ImFkbWluaXN0cmF0aXZlIiwi - aW1wb3J0YW5jZSI6MC4yODM1MTYwODg5MzUxNSwiaWNvbiI6Imh0dHBzOlwv - XC9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmdcL2ltYWdlc1wvbWFwaWNv - bnNcL3BvaV9ib3VuZGFyeV9hZG1pbmlzdHJhdGl2ZS5wLjIwLnBuZyIsImFk - ZHJlc3MiOnsiY2l0eSI6IlNhbiBGcmFuY2lzY28iLCJzdGF0ZV9kaXN0cmlj - dCI6IkRlcGFydGFtZW50byBTYW4gSnVzdG8iLCJzdGF0ZSI6IkNiYS4iLCJw - b3N0Y29kZSI6IlgyNDAwIiwiY291bnRyeSI6IkFyZ2VudGluYSIsImNvdW50 - cnlfY29kZSI6ImFyIn19XQ== - http_version: - recorded_at: Tue, 24 Apr 2018 13:09:20 GMT -recorded_with: VCR 4.0.0 diff --git a/sql/ght-dump-mysql b/sql/ght-dump-mysql index 66bc254..22708e3 100755 --- a/sql/ght-dump-mysql +++ b/sql/ght-dump-mysql @@ -76,7 +76,8 @@ for table in $tables; do echo "select login,name,email into outfile '$out/users-private.csv' CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' from users" |$mysql || exit 1 else echo "`date`: Dumping table $table" - echo "select * into outfile '$out/$table.csv' CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' from $table" |$mysql || exit 1 + echo "select * into outfile '$out/$table.csv' CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' from $table" + #echo "select * into outfile '$out/$table.csv' CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' from $table" |$mysql || exit 1 fi done diff --git a/test/factories/commit.rb b/test/factories/commit.rb deleted file mode 100644 index 4cf7932..0000000 --- a/test/factories/commit.rb +++ /dev/null @@ -1,42 +0,0 @@ - -FactoryGirl.define do - - factory :commit, :class => OpenStruct, aliases: [:sha] do - skip_create - id nil - sha { SecureRandom.hex } - author_id nil - committer_id nil - project_id { Faker::Number.number(2) } - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_commit do - transient do - author nil - committer nil - commit {} - parents [] - end - end - - after(:create) do | commit, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:id] ||= override_hash[:comment_id] - override_hash[:user] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - end - - - attributes = apply_overrides_and_transients(:commit, evaluator) - if commit.db_obj - attributes = attributes.except(:id) - commit.id = commit.db_obj[:commits].insert(attributes) - end - end - end - end diff --git a/test/factories/commit_comments.rb b/test/factories/commit_comments.rb deleted file mode 100644 index a09c998..0000000 --- a/test/factories/commit_comments.rb +++ /dev/null @@ -1,32 +0,0 @@ -FactoryGirl.define do - factory :commit_comment, :class => OpenStruct do - skip_create - id nil - commit_id { Faker::Number.number(2) } - user_id { Faker::Number.number(2) } - body {Faker::Lorem.paragraph} - line { Faker::Number.number(2) } - position { Faker::Number.number(2) } - comment_id { Faker::Number.number(2) } - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_comment do - transient do - user {} - end - end - - - after(:create) do | commit_comment, evaluator | - attributes = apply_overrides_and_transients(:commit_comment, evaluator) - if commit_comment.db_obj - attributes = attributes.except(:id) - commit_comment.id = commit_comment.db_obj[:commit_comments].insert(attributes) - end - end - end -end diff --git a/test/factories/factory_overrides.rb b/test/factories/factory_overrides.rb deleted file mode 100644 index b5a273a..0000000 --- a/test/factories/factory_overrides.rb +++ /dev/null @@ -1,25 +0,0 @@ -class FactoryGirl::SyntaxRunner -# method to apply overrides to newly created object - # so we can get a correct hash to insert into the table - def apply_overrides_and_transients(mygirl, evaluator) - attributes = evaluator.instance_variable_get('@overrides') - instance = evaluator.instance_variable_get('@instance') - fields = instance.instance_variable_get("@table") - - transient_keys = attributes.keys - fields.keys - overrides = evaluator.methods(false) - transient_keys - [:db_obj] - hashed = instance.to_h - - apply_transients(instance, attributes, transient_keys) if transient_keys.any? - - return hashed if overrides.empty? - slices = attributes.slice(*overrides) - hashed.merge slices - end - - def apply_transients(instance, evaluator, transient_keys) - transient_keys.each do |key| - instance[key] = eval 'evaluator[:' + key.to_s + ']' - end - end -end diff --git a/test/factories/follower.rb b/test/factories/follower.rb deleted file mode 100644 index 1f649c0..0000000 --- a/test/factories/follower.rb +++ /dev/null @@ -1,22 +0,0 @@ -FactoryGirl.define do - - factory :follower, :class => OpenStruct do - skip_create - follower_id {Faker::Number.number(2) } - user_id nil - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - after(:create) do | follower, evaluator | - attributes = apply_overrides_and_transients(:follower, evaluator) - - if follower.db_obj - attributes = attributes.except(:id) - follower.id = follower.db_obj[:followers].insert(attributes) - end - end - end - end diff --git a/test/factories/issue.rb b/test/factories/issue.rb deleted file mode 100644 index e5fa611..0000000 --- a/test/factories/issue.rb +++ /dev/null @@ -1,56 +0,0 @@ - -FactoryGirl.define do - - factory :issue, :class => OpenStruct do - - skip_create - id nil - repo_id nil - reporter_id nil - assignee_id nil - pull_request false - pull_request_id nil - created_at { Time.now.utc.strftime('%F %T') } - issue_id {Faker::Number.number(2) } - - transient do - db_obj nil - end - - trait :github_issue do - transient do - number nil - user {} - assignee {} - owner {Faker::Name.name } - end - before(:create) do |issue, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | issue, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:number] ||= override_hash[:issue_id] - override_hash[:user] ||= {'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - override_hash[:assignee] ||= {'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - override_hash[:owner] ||= Faker::Name.name - - url = Faker::Internet.url('github.com/repos/', - "#{override_hash[:owner]}/#{Faker::Internet.user_name}") - override_hash[:url] ||= url - override_hash[:user] ||= {'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - end - - attributes = apply_overrides_and_transients(:issue, evaluator) - if issue.db_obj - attributes = attributes.except(:id) - issue.id = issue.db_obj[:issues].insert(attributes) - end - end - end - end diff --git a/test/factories/issue_comment.rb b/test/factories/issue_comment.rb deleted file mode 100644 index 8fd110b..0000000 --- a/test/factories/issue_comment.rb +++ /dev/null @@ -1,41 +0,0 @@ -FactoryGirl.define do - factory :issue_comment, :class => OpenStruct do - skip_create - issue_id { Faker::Number.number(4) } - user_id { Faker::Number.number(4) } - comment_id { Faker::Number.number(4) } - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_comment do - transient do - id nil - user {} - end - before(:create) do |issue_coment, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - - after(:create) do | issue_comment, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:id] ||= override_hash[:comment_id] - override_hash[:user] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - end - - attributes = apply_overrides_and_transients(:issue_comment, evaluator) - - if issue_comment.db_obj - attributes = attributes.except(:id) - issue_comment.db_obj[:issue_comments].insert(attributes) - end - end - end - end diff --git a/test/factories/issue_event.rb b/test/factories/issue_event.rb deleted file mode 100644 index 238da80..0000000 --- a/test/factories/issue_event.rb +++ /dev/null @@ -1,50 +0,0 @@ - -FactoryGirl.define do - - factory :issue_event, :class => OpenStruct do - - skip_create - event_id {Faker::Number.number(4) } - issue_id {Faker::Number.number(4) } - actor_id nil - action {Faker::Lorem.paragraph} - action_specific {Faker::Lorem.word} - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_issue_event do - transient do - id nil - actor {} - event nil - commit_id nil - end - before(:create) do |issue_event, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | issue_event, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:id] ||= override_hash[:event_id] - - override_hash[:commit_id] ||= Faker::Number.number(4) - override_hash[:actor] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - override_hash[:event] ||= 'referenced' - end - - attributes = apply_overrides_and_transients(:issue_event, evaluator) - if issue_event.db_obj - attributes = attributes.except(:id) - issue_event.db_obj[:issue_events].insert(attributes) - end - end - end - end diff --git a/test/factories/issue_label.rb b/test/factories/issue_label.rb deleted file mode 100644 index b25324e..0000000 --- a/test/factories/issue_label.rb +++ /dev/null @@ -1,39 +0,0 @@ -FactoryGirl.define do - factory :issue_label, :class => OpenStruct do - skip_create - issue_id { Faker::Number.number(2) } - label_id { Faker::Number.number(2) } - - transient do - db_obj nil - end - - trait :github_label do - transient do - name nil - end - - before(:create) do |issue_label, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - - after(:create) do | issue_label, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:name] ||= Faker::Name.name - override_hash[:user] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - end - - attributes = apply_overrides_and_transients(:issue_label, evaluator) - - if issue_label.db_obj - attributes = attributes.except(:id) - issue_label.db_obj[:issue_labels].insert(attributes) - end - end - end - end diff --git a/test/factories/organization_member.rb b/test/factories/organization_member.rb deleted file mode 100644 index 7300e03..0000000 --- a/test/factories/organization_member.rb +++ /dev/null @@ -1,9 +0,0 @@ -FactoryGirl.define do - - factory :organization_member, :class => OpenStruct do - skip_create - org_id {Faker::Number.number(2) } - user_id {Faker::Number.number(2) } - created_at { Time.now.utc.strftime('%F %T') } - end -end diff --git a/test/factories/project.rb b/test/factories/project.rb deleted file mode 100644 index 5b5cced..0000000 --- a/test/factories/project.rb +++ /dev/null @@ -1,55 +0,0 @@ -FactoryGirl.define do - - factory :project, :class => OpenStruct, aliases: [:repo] do - skip_create - id nil - url {Faker::Internet.url('github.com/repos/', - "#{Faker::Internet.user_name}<#{Faker::Internet.email}>/#{Faker::Internet.user_name}")} - owner_id {Faker::Number.number(4) } - name { Faker::Name.name } - description {Faker::Lorem.paragraph[0..254]} - language {Faker::ProgrammingLanguage.name } - created_at { Time.now.utc.strftime('%F %T') } - forked_from nil - deleted false - updated_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_project do - transient do - owner {} - parent {} - full_name nil - end - - before(:create) do |project, evaluator | - # derive project name from url - project.name = project.url.split(/\//)[5] - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | project, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - - if override_hash[:owner] - url_split = override_hash[:url].split(/\//) - override_hash[:url] = "#{url_split[0..3].join('/')}/#{override_hash[:owner]['login']}/#{url_split[5]}" - project.url = override_hash[:url] - end - if override_hash.key?(:github) - override_hash.delete(:github) - end - - attributes = apply_overrides_and_transients(:project, evaluator) - if project.db_obj - attributes = attributes.except(:id) - project.id = project.db_obj[:projects].insert(attributes) - end - end - end - end diff --git a/test/factories/project_topic.rb b/test/factories/project_topic.rb deleted file mode 100644 index 44dddc2..0000000 --- a/test/factories/project_topic.rb +++ /dev/null @@ -1,9 +0,0 @@ -FactoryGirl.define do - factory :project_topic, :class => OpenStruct do - skip_create - project_id { Faker::Number.number(2) } - topic_name { Faker::Name.name } - deleted false - created_at { Time.now.utc.strftime('%F %T') } - end -end diff --git a/test/factories/pull_request.rb b/test/factories/pull_request.rb deleted file mode 100644 index 3d37a4a..0000000 --- a/test/factories/pull_request.rb +++ /dev/null @@ -1,62 +0,0 @@ - -FactoryGirl.define do - - factory :pull_request, :class => OpenStruct do - - skip_create - id nil - head_repo_id nil - base_repo_id {Faker::Number.number(4) } - head_commit_id nil - base_commit_id {Faker::Number.number(4) } - pullreq_id {Faker::Number.number(4) } - intra_branch false - - transient do - db_obj nil - end - - trait :github_pr do - transient do - base {} - head {} - user {} - merged_at nil - closed_at nil - number {Faker::Number.number(4) } - created_at nil - end - - before(:create) do |pull_request, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | pull_request, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - - override_hash[:base] ||= { 'repo' => { 'owner' => { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" }, - 'name' => Faker::Name.name }, 'sha' => SecureRandom.hex } - - override_hash[:head] ||= override_hash[:base] - override_hash[:user] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - - override_hash[:merged_at] ||= nil - override_hash[:closed_at] ||= nil - - override_hash[:number] ||= override_hash[:pullreq_id] - override_hash[:created_at] ||= Time.now.utc.strftime('%F %T') - end - - attributes = apply_overrides_and_transients(:pull_request, evaluator) - - if pull_request.db_obj - attributes = attributes.except(:id) - pull_request.id = pull_request.db_obj[:pull_requests].insert(attributes) - end - end - end - end diff --git a/test/factories/pull_request_comment.rb b/test/factories/pull_request_comment.rb deleted file mode 100644 index 569a0b0..0000000 --- a/test/factories/pull_request_comment.rb +++ /dev/null @@ -1,54 +0,0 @@ - -FactoryGirl.define do - - factory :pull_request_comment, :class => OpenStruct do - - skip_create - pull_request_id nil - user_id {Faker::Number.number(2) } - comment_id {Faker::Number.number(2) } - position {Faker::Number.number(2)} - body {Faker::Lorem.sentence} - commit_id {Faker::Number.number(2) } - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - trait :github_pr_comment do - transient do - id nil - user {} - original_position {Faker::Number.number(2)} - original_commit_id {Faker::Number.number(2)} - - end - before(:create) do |pull_request_comment, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | pull_request_comment, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - - if override_hash.key?(:github) - override_hash.delete(:github) - - override_hash[:id] ||= override_hash[:comment_id] - override_hash[:user] ||= {'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - - override_hash[:original_position] ||= override_hash[:position] - override_hash[:original_commit_id] ||= override_hash[:commit_id] - end - - attributes = apply_overrides_and_transients(:pull_request_comment, evaluator) - - if pull_request_comment.db_obj - attributes = attributes.except(:id) - pull_request_comment.db_obj[:pull_request_comments].insert(attributes) - end - end - end - end diff --git a/test/factories/pull_request_commit.rb b/test/factories/pull_request_commit.rb deleted file mode 100644 index 8686887..0000000 --- a/test/factories/pull_request_commit.rb +++ /dev/null @@ -1,48 +0,0 @@ - -FactoryGirl.define do - - factory :pull_request_commit, :class => OpenStruct do - - skip_create - pull_request_id nil - commit_id {Faker::Number.number(2) } - - transient do - db_obj nil - end - - trait :github_pr_commit do - transient do - id nil - repo_name {Faker::Name.name } - owner {Faker::Name.name } - url {Faker::Internet.url} - sha { SecureRandom.hex } - end - before(:create) do |pull_request_commit, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | pull_request_commit, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:repo_name] ||= Faker::Name.name - override_hash[:owner] ||= Faker::Name.name - - url = Faker::Internet.url('github.com/repos') + "#{override_hash[:owner]}/#{override_hash[:repo_name]}" - override_hash[:url] ||= url - end - - attributes = apply_overrides_and_transients(:pull_request_commit, evaluator) - - if pull_request_commit.db_obj - attributes = attributes.except(:id) - pull_request_commit.db_obj[:pull_request_commits].insert(attributes) - end - end - end - end diff --git a/test/factories/repo_label.rb b/test/factories/repo_label.rb deleted file mode 100644 index 824d4bf..0000000 --- a/test/factories/repo_label.rb +++ /dev/null @@ -1,40 +0,0 @@ -FactoryGirl.define do - factory :repo_label, :class => OpenStruct do - skip_create - id nil - repo_id { Faker::Number.number(2) } - name {Faker::Name.name} - - transient do - db_obj nil - end - - trait :github_repo_label do - transient do - - end - - before(:create) do |repo_label, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - - after(:create) do | repo_label, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:name] ||= Faker::Name.name - override_hash[:user] ||= { 'login' => "#{Faker::Internet.user_name}<#{Faker::Internet.email}>" } - end - - attributes = apply_overrides_and_transients(:repo_label, evaluator) - - if repo_label.db_obj - attributes = attributes.except(:id) - repo_label.id = repo_label.db_obj[:repo_labels].insert(attributes) - end - end - end - end diff --git a/test/factories/user.rb b/test/factories/user.rb deleted file mode 100644 index e933c89..0000000 --- a/test/factories/user.rb +++ /dev/null @@ -1,46 +0,0 @@ -FactoryGirl.define do - - factory :user, :class => OpenStruct do - skip_create - id nil - name {Faker::Name.name} - email {Faker::Internet.email} - sequence(:login) { |n| "#{name}_#{n}<#{email}>" } - company nil - type 'USR' - fake false - deleted false - long nil - lat nil - country_code nil - state nil - city nil - location nil - created_at { Time.now.utc.strftime('%F %T') } - - transient do - name_email {nil } - db_obj {nil} - - before(:create) do |issue_coment, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - override_hash[:github] = {} - end - end - - after(:create) do | user, evaluator | - override_hash = evaluator.instance_variable_get('@overrides') - if override_hash.key?(:github) - override_hash.delete(:github) - override_hash[:name_email] ||= "#{override_hash[:name]}<#{override_hash[:email]}>" - end - - attributes = apply_overrides_and_transients(:user, evaluator) - - if user.db_obj - attributes = attributes.except(:id) - user.id = user.db_obj[:users].insert(attributes) - end - end - end - end diff --git a/test/factories/watcher.rb b/test/factories/watcher.rb deleted file mode 100644 index 0cc8a07..0000000 --- a/test/factories/watcher.rb +++ /dev/null @@ -1,22 +0,0 @@ -FactoryGirl.define do - - factory :watcher, :class => OpenStruct do - skip_create - repo_id {Faker::Number.number(2) } - user_id {Faker::Number.number(2) } - created_at { Time.now.utc.strftime('%F %T') } - - transient do - db_obj nil - end - - after(:create) do | watcher, evaluator | - attributes = apply_overrides_and_transients(:watcher, evaluator) - - if watcher.db_obj - attributes = attributes.except(:id) - watcher.id = watcher.db_obj[:watchers].insert(attributes) - end - end - end - end diff --git a/test/helpers/minitest_trx.rb b/test/helpers/minitest_trx.rb deleted file mode 100644 index 8be23b2..0000000 --- a/test/helpers/minitest_trx.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Db_Provider - class << self - def ght - @ght ||= GHTorrent::Mirror.new(1) - end - - def db - @db ||= ght.db - end - end -end - -def db - Db_Provider.db -end - -def ght - Db_Provider.ght -end - -def ght_trx(&block) - db.transaction(:rollback=>:always) do - block.call - end -end - -def run_tests_in_transaction - around { |test| ght_trx { test.call } } -end diff --git a/test/helpers/shared.rb b/test/helpers/shared.rb deleted file mode 100644 index f309d28..0000000 --- a/test/helpers/shared.rb +++ /dev/null @@ -1,3 +0,0 @@ -def config - @config ||= GHTorrent::Settings::DEFAULTS -end diff --git a/test/test_helper.rb b/test/test_helper.rb deleted file mode 100644 index bbe28d8..0000000 --- a/test/test_helper.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'simplecov' -require 'simplecov-rcov' -SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter -SimpleCov.start -SimpleCov.minimum_coverage 85 - -require 'vcr' -VCR.configure do |config| - config.cassette_library_dir = 'fixtures/vcr_cassettes' - config.hook_into :webmock -end - -require 'minitest/autorun' -require 'ghtorrent' -require 'mocha/minitest' -require 'webmock/minitest' -require 'factory_girl' -require 'faker' -require 'byebug' -require 'helpers/shared' -require 'helpers/minitest_trx' -require 'minitest/around/spec' - -FactoryGirl.find_definitions -include FactoryGirl::Syntax::Methods diff --git a/test/unit/api_client_test.rb b/test/unit/api_client_test.rb deleted file mode 100644 index 8a2b2e9..0000000 --- a/test/unit/api_client_test.rb +++ /dev/null @@ -1,121 +0,0 @@ -require 'test_helper' - -class TestApiUser - include GHTorrent::APIClient -end - -describe 'ApiClient' do - let(:api_client) { TestApiUser.new } - let(:repo_name) { 'blackducksoftware/ohcount' } - - describe 'api_request' do - it 'must fetch a github repo successfully' do - VCR.use_cassette('github_get_repo') do - url = config[:mirror_urlbase] + 'repos/' + repo_name - data = api_client.api_request(url) - data['git_url'].must_match repo_name - end - end - - it 'must handle a bad request' do - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(body: { message: 'Not Found' }.to_json, status: 404) - api_client.api_request(url).must_be_empty - end - - it 'must handle a taken down repo' do - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(body: { message: 'DCMA takedown' }.to_json, status: 451) - api_client.api_request(url).must_be_empty - end - - it 'must raise an exception when unauthorized request' do - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(status: 401) - -> { api_client.api_request(url) }.must_raise(OpenURI::HTTPError) - end - - it 'must raise an exception for any other http errors' do - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(status: 429) - api_client.instance_variable_set('@token', '') - -> { api_client.api_request(url) }.must_raise(OpenURI::HTTPError) - end - - it 'must catch and raise any ruby errors' do - Time.any_instance.stubs(:to_ms) - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(body: { id: 1 }.to_json) - -> { api_client.api_request(url) }.must_raise(NoMethodError) - end - - it 'must open url from the attached server' do - api_client.instance_variable_set('@attach_ip', '127.0.0.1') - url = config[:mirror_urlbase] + 'foo' - stub_request(:get, url).to_return(body: { id: 1 }.to_json) - api_client.api_request(url) - end - end - - describe 'paged_api_request' do - it 'must fetch a github repo successfully' do - VCR.use_cassette('github_get_repo') do - url = config[:mirror_urlbase] + 'repos/' + repo_name - data = api_client.paged_api_request(url) - data['git_url'].must_match repo_name - end - end - - it 'must combine and return paginated results' do - VCR.use_cassette('github_get_followers') do - url = config[:mirror_urlbase] + 'users/notalex/followers?page=1&per_page=3' - data = api_client.paged_api_request(url) - data.length.must_equal 9 - data.first['login'].wont_be :empty? - end - end - - it 'must paginate as per the pages parameter' do - VCR.use_cassette('github_get_followers') do - url = config[:mirror_urlbase] + 'users/notalex/followers?page=1&per_page=3' - data = api_client.paged_api_request(url, 2) - data.length.must_equal 6 - data.first['login'].wont_be :empty? - end - end - - describe 'must ensure_max_per_page' do - it 'must set per_page to 100 when page param is present' do - url = config[:mirror_urlbase] + 'search/repositories?page=1' - api_client.expects(:api_request_raw).with(url + '&per_page=100') - api_client.paged_api_request(url) - end - end - end - - describe 'num_pages' do - let(:url) { config[:mirror_urlbase] + 'users/notalex/followers?page=1&per_page=3' } - - it 'must return the number of pages for the response' do - VCR.use_cassette('github_get_followers') do - api_client.num_pages(url).must_equal 3 - end - end - - it 'must return 1 when no response data' do - stub_request(:get, url) - api_client.num_pages(url).must_equal 1 - end - - it 'must return 1 when no link header' do - stub_request(:get, url).to_return(body: 'foo', headers: { foo: 3 }) - api_client.num_pages(url).must_equal 1 - end - - it 'must return 1 when link values are not parsed' do - stub_request(:get, url).to_return(body: 'foo', headers: { link: :foo }) - api_client.stubs(:parse_links) - api_client.num_pages(url).must_equal 1 - end - end -end diff --git a/test/unit/commits_test.rb b/test/unit/commits_test.rb deleted file mode 100644 index df1bffb..0000000 --- a/test/unit/commits_test.rb +++ /dev/null @@ -1,357 +0,0 @@ -require 'test_helper' - -describe 'GhtCommit' do - describe 'ghtorrent transaction test' do - run_tests_in_transaction - - it 'should call ensure_commit_comment' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - - ght.stubs(:retrieve_commit_comment).returns nil - - ght.ensure_commit_comment(user.name_email, repo.name, repo.sha, 1) - end - - it 'should call ensure_commit_comment' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - - comment = create(:commit_comment, :github_comment, {id: Faker::Number.number(4), commit_id: commit.id, - user_id: user.id, user: {'login' => user.name_email}}) - ght.stubs(:retrieve_commit_comment).returns comment - ght.stubs(:retrieve_commit_comments).returns commit - ght.stubs(:retrieve_commit).returns(commit) - - retval = ght.ensure_commit_comment(user.name_email, repo.name, commit.sha, comment.id) - - assert retval && retval[:comment_id] == comment.id.to_i - end - - it 'should call ensure_commit_comment with unsaved commit and comment' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [] } ) - - comment = create(:commit_comment, :github_comment, {id: Faker::Number.number(4), commit_id: commit.id, - user_id: user.id, user: {'login' => user.name_email}}) - - ght.stubs(:retrieve_commit_comment).returns comment - ght.stubs(:retrieve_commit_comments).returns commit - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:ensure_commit).returns nil - - retval = ght.ensure_commit_comment(user.name_email, repo.name, commit.sha, comment.id) - refute retval - end - - it 'should call ensure_commit_comment with invalid retrieved user login' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - comment = create(:commit_comment, :github_comment, {id: Faker::Number.number(4), commit_id: commit.id, - user_id: user.id, - user: {'login' => user.login} }) - - ght.stubs(:retrieve_commit_comment).returns comment - ght.stubs(:retrieve_commit_comments).returns commit - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:ensure_commit).returns commit - ght.stubs(:ensure_user).returns nil - - ght.expects(:warn).returns("Could not ensure user: #{comment['user']['login']}") - - retval = ght.ensure_commit_comment(user.name_email, repo.name, commit.sha, comment.id) - refute retval - end - - it 'should call ensure_commit_comment with saved commit and comment' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - - commit = create(:sha, {project_id: repo.id, committer_id: user.id, - db_obj: db} ) - - comment = create(:commit_comment, :github_comment, {commit_id: commit.id, - user_id: user.id, user: {'login' => user.name_email}, db_obj: db}) - - ght.stubs(:retrieve_commit_comment).returns comment - ght.stubs(:retrieve_commit_comments).returns [comment] - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:ensure_commit).returns commit - ght.expects(:info).returns("Added commit_comment #{user.name_email}/#{repo.name} -> #{commit.sha}/#{comment.id} by user #{user.login}") - - retval = ght.ensure_commit_comment(user.name_email, repo.name, commit.sha, comment.id) - assert retval - assert retval[:comment_id].must_equal comment.id - end - - it 'should call commit_user with unsaved githubuser' do - githubuser = create(:user) - commituser = create(:user) - ght.stubs(:retrieve_user_byemail).returns nil - - retval = ght.commit_user(githubuser, commituser) - end - - it 'should call commit_user with non-existing login' do - githubuser = create(:user ) - commituser = create(:user, db_obj: db) - commituser.login = Faker::Internet.user_name - ght.stubs(:retrieve_user_byemail).returns nil - ght.stubs(:ensure_user_byuname).returns(nil) - - retval = ght.commit_user(githubuser, commituser) - end - - - it 'calls ensure_commit method' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:retrieve_commit_comments).returns [] - sha = commit.sha - - db_commit = ght.ensure_commit(repo.name, sha, user.name_email) - - assert db_commit[:sha] == sha - assert db_commit[:project_id] == repo.id - end - - it 'calls retrieve commit for a repo that doesn''t exist' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count => 0}, - parents: []}) - - ght.stubs(:retrieve_commit).returns(nil) - sha = commit.sha - returned_commit = ght.ensure_commit(repo.name, sha, user.name_email) - assert returned_commit.nil? - end - - it 'calls ensure_commits method with saved commit' do - user = create(:user, db_obj: db) - - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count => 0}, - parents: [], - db_obj: db}) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:retrieve_commits).returns ([commit]) - sha = commit.sha - - retval = ght.ensure_commits(user.name_email, repo.name, sha: sha, - return_retrieved: true, fork_all: false) - assert retval.empty? - end - - it 'calls ensure_commits method with unsaved saved commit' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - user.date = Time.now.utc.strftime('%F %T') - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { 'comment_count' => 0, - 'author' => user, - 'committer' => user}, - parents: [] }) - - commit2 = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { 'comment_count' => 0, - 'author' => user, - 'committer' => user}, - parents: [] }) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_commits).returns ([commit,commit2]) - - ght.stubs(:retrieve_commit).returns(commit) - sha = commit.sha - - retval = ght.ensure_commits(user.name_email, repo.name, sha: sha, - return_retrieved: true, num_commits: 3, fork_all: false) - assert retval.size.must_equal 2 - assert retval[0][:sha].must_equal commit.sha - end - - it 'should call ensure_commits with unsaved repo' do - user = create(:user, db_obj: db) - - fork_repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - - repo = create(:repo, { owner_id: user.id, forked_from: fork_repo.id, db_obj: db}) - - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { 'comment_count' => 0, - 'author' => user, - 'committer' => user}, - parents: [] }) - - ght.stubs(:retrieve_repo).returns(nil) - - ght.stubs(:retrieve_commit).returns(commit) - sha = commit.sha - - retval = ght.ensure_commits(user.name_email, repo.name, sha: sha, - return_retrieved: true, num_commits: 3, fork_all: false) - refute retval - end - - it 'should try to store a new commit' do - user = create(:user, db_obj: db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [] } ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - retval = ght.store_commit(commit, repo.name, user.name_email) - - assert retval[:sha].must_equal commit.sha - end - - it 'should try to store a new repo and commit' do - user = create(:user, db_obj: db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, { owner_id: user.id }) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [] } ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - ght.stubs(:retrieve_repo).returns(nil) - retval = ght.store_commit(commit, repo.name, user.name_email) - - assert retval[:sha].must_equal commit.sha - end - - it 'should call ensure_commit_comments method' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - - comment = create(:commit_comment, :github_comment, {commit_id: commit.id, - user_id: user.id, user: {'login' => user.name_email}, db_obj: db}) - - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:retrieve_commit_comments).returns([comment]) - ght.stubs(:retrieve_commit_comment).returns(comment) - - ght.ensure_commit_comments(user.name_email, repo.name, commit.sha) - end - - it 'should call ensure_parents method' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_commit = create(:commit, :github_commit, {project_id: parent_repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [parent_repo] , - db_obj: db}) - - ght.stubs(:retrieve_commit).returns parent_commit - retval = ght.ensure_parents(commit) - - assert retval - assert retval[0][:commit_id].must_equal commit.id - assert retval[0][:parent_id].must_equal parent_commit.id - end - - it 'should call ensure_parents method with unsaved parents' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_commit = create(:commit, :github_commit, {project_id: parent_repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: []}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [parent_repo] , - db_obj: db}) - - ght.stubs(:retrieve_commit).returns nil - - retval = ght.ensure_parents(commit) - assert retval.empty? - end - - it 'should call ensure_parents method and unable to save parents' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_repo = create(:repo, { owner_id: user.id, db_obj: db}) - parent_commit = create(:commit, :github_commit, {project_id: parent_repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: []}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [parent_repo] , - db_obj: db}) - - ght.stubs(:retrieve_commit).returns parent_commit - ght.stubs(:store_commit).returns nil - - retval = ght.ensure_parents(commit) - assert retval.empty? - end - end -end diff --git a/test/unit/db_transaction_test.rb b/test/unit/db_transaction_test.rb deleted file mode 100644 index 187cb9a..0000000 --- a/test/unit/db_transaction_test.rb +++ /dev/null @@ -1,27 +0,0 @@ -require 'test_helper' - -describe 'DB transaction' do - describe 'testing transaction around method' do - run_tests_in_transaction - - it 'should create a user record mini_it method' do - @user = create(:user, {id: 999999, db_obj: db}) - @user_id = @user.id - - puts "Check user.id --> #{@user.id}" - - assert @user.id - - # find record in db. It should not exist - user = db[:users].where(:id => @user.id).first - refute user.nil? - end - end - - describe 'rollback should have taken place' do - it 'should have rolled back user record' do - user = db[:users].where(:id => 999999).first - assert user.nil? - end - end -end diff --git a/test/unit/event_processing_test.rb b/test/unit/event_processing_test.rb deleted file mode 100644 index 55183e7..0000000 --- a/test/unit/event_processing_test.rb +++ /dev/null @@ -1,265 +0,0 @@ -require 'test_helper' - -class TestRetriever - attr_writer :extra_commits - - include GHTorrent::EventProcessing - - def ght - @ght ||= TestGht.new - end - - def persister - @persister ||= OpenStruct.new - end - - def retrieve_commits(_repo, _last_sha, _owner, _pages) - if @attempted_once - @attempted_once = false - [@extra_commits.last] - else - @attempted_once = true - @extra_commits - end - end -end - -class TestGht < OpenStruct - def db - @db ||= GHTorrent::Mirror.new(config).db - end - - def transaction - yield - end -end - -describe 'EventProcessing' do - let(:retriever) { TestRetriever.new } - - # FIXME: EventProcessing is expecting url in the following format: - # https://api.github.com/repos/user/repo/commits/ - # However, the events api returns commits.url in the following format: - # https://github.com/user/repo/commit/ - # https://developer.github.com/v3/activity/events/types/#pushevent - describe 'PushEvent' do - it 'must call ensure_commit on each commit' do - shas = Array.new(3) { Faker::Number.hexadecimal(40) } - commits = shas.map { |sha| { 'url' => "https://api.github.com/repos/hamster/hello/commits/#{sha}" } } - data = { 'payload' => { 'commits' => commits } } - shas.each do |sha| - retriever.ght.expects(:ensure_commit).with('hello', sha, 'hamster') - end - retriever.PushEvent(data) - end - - # FIXME: Fix undefined variable sha in source. - it 'must raise exception if url pattern does not match' do - shas = Array.new(1) { Faker::Number.hexadecimal(40) } - commits = shas.map { |sha| { 'url' => "https://api.github.com/repos/hamster/hello/commits/blah/#{sha}" } } - data = { 'payload' => { 'commits' => commits } } - retriever.ght.expects(:ensure_commit).never - -> { retriever.PushEvent(data) }.must_raise(NameError) - end - - it 'must call ensure_commit on all commits' do - shas = Array.new(20) { Faker::Number.hexadecimal(40) } - commits = shas.map { |sha| { 'sha' => sha, - 'url' => "https://api.github.com/repos/hamster/hello/commits/#{sha}" } } - extra_shas = Array.new(2) { Faker::Number.hexadecimal(40) } - extra_commits = extra_shas.map { |sha| { 'sha' => sha, - 'url' => "https://api.github.com/repos/hamster/hello/commits/#{sha}" } } - data = { 'payload' => { 'commits' => commits }, - 'repo' => { 'name' => 'hamster/hello' } } - - retriever.extra_commits = extra_commits - (shas + extra_shas).each do |sha| - retriever.ght.expects(:ensure_commit).with('hello', sha, 'hamster') - end - retriever.PushEvent(data) - end - - it 'wont call ensure_commit on extra commits if they exist in db' do - shas = Array.new(20) { Faker::Number.hexadecimal(40) } - commits = shas.map { |sha| { 'sha' => sha, - 'url' => "https://api.github.com/repos/hamster/hello/commits/#{sha}" } } - extra_shas = Array.new(2) { Faker::Number.hexadecimal(40) } - extra_commits = extra_shas.map { |sha| { 'sha' => sha, - 'url' => "https://api.github.com/repos/hamster/hello/commits/#{sha}" } } - data = { 'payload' => { 'commits' => commits }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.extra_commits = extra_commits - retriever.ght.db.dataset.class.any_instance.expects(:all).returns([1]) - shas.each do |sha| - retriever.ght.expects(:ensure_commit).with('hello', sha, 'hamster') - end - retriever.PushEvent(data) - end - end - - describe 'WatchEvent' do - it 'must call ensure_watcher for passed data' do - created_at = Faker::Time.backward - data = { 'repo' => { 'name' => 'hamster/hello' }, - 'actor' => { 'id' => 1, 'login' => 'hamster', 'gravatar_id' => '', - 'avatar_url' => Faker::Internet.url, - 'url' => 'https://api.github.com/users/hamster' }, - 'created_at' => created_at } - retriever.persister.expects(:upsert) - retriever.ght.expects(:ensure_user).with('hamster', false, false).returns(type: 'Event') - retriever.ght.expects(:ensure_watcher).with('hamster', 'hello', 'hamster', created_at) - retriever.WatchEvent(data) - end - end - - # FIXME: event is discontinued: https://developer.github.com/v3/activity/events/types/#followevent - describe 'FollowEvent' do - it 'must call ensure_user_follower with appropriate data' do - created_at = Faker::Time.backward - data = { 'payload' => { 'target' => { 'login' => 'followed_user' } }, - 'actor' => { 'login' => 'follower' }, - 'created_at' => created_at } - retriever.ght.expects(:ensure_user_follower).with('followed_user', 'follower', created_at) - retriever.FollowEvent(data) - end - end - - describe 'MemberEvent' do - let(:created_at) { Faker::Time.backward } - let(:data) do - { 'payload' => { 'member' => { 'login' => 'member_name' } }, - 'repo' => { 'name' => 'hamster/hello' }, - 'actor' => { 'login' => 'hamster' }, - 'created_at' => created_at } - end - - it 'must fetch user and repo with appropriate data' do - retriever.ght.expects(:ensure_repo).with('hamster', 'hello') - retriever.ght.expects(:ensure_user).with('member_name', false, false) - retriever.MemberEvent(data) - end - - it 'must skip db insertion if project_member exists' do - retriever.ght.expects(:ensure_repo).returns(id: 1) - retriever.ght.expects(:ensure_user).returns(id: 1) - retriever.ght.db.dataset.class.any_instance.stubs(:first).returns(1) - retriever.ght.db.dataset.class.any_instance.expects(:insert).never - retriever.MemberEvent(data) - end - - it 'must insert data when created_at is passed' do - retriever.ght.expects(:ensure_repo).returns(id: :project_id) - retriever.ght.expects(:ensure_user).returns(id: :user_id) - retriever.ght.db.dataset.class.any_instance.stubs(:first) - retriever.ght.expects(:date).returns(created_at) - db_data = { user_id: :user_id, repo_id: :project_id, created_at: created_at } - retriever.ght.db.dataset.class.any_instance.expects(:insert).with(db_data) - retriever.MemberEvent(data) - end - - it 'must insert data when created_at is not passed' do - user_created_at = Faker::Time.backward - retriever.ght.expects(:ensure_user).returns(id: :user_id, created_at: user_created_at) - retriever.ght.expects(:ensure_repo).returns(id: :project_id, created_at: user_created_at) - retriever.ght.db.dataset.class.any_instance.stubs(:first) - retriever.ght.expects(:date).returns(user_created_at) - retriever.stubs(:max).returns(user_created_at) - db_data = { user_id: :user_id, repo_id: :project_id, created_at: user_created_at } - retriever.ght.db.dataset.class.any_instance.expects(:insert).with(db_data) - retriever.MemberEvent(data.merge('created_at' => nil)) - end - end - - describe 'CommitCommentEvent' do - it 'must call ensure_commit_comment' do - commit_sha = Faker::Internet.password - comment_id = Faker::Number.number(3) - data = { 'payload' => { 'comment' => { 'id' => comment_id, 'commit_id' => commit_sha } }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.ght.expects(:ensure_commit_comment).with('hamster', 'hello', commit_sha, comment_id) - retriever.CommitCommentEvent(data) - end - end - - describe 'PullRequestEvent' do - it 'must call ensure_pull_request' do - repo_name = Faker::Name.first_name - owner_login = Faker::Name.first_name - pr_id = Faker::Number.number(2) - created_at = Faker::Time.backward - action = 'opened' - data = { 'payload' => { 'pull_request' => - { 'base' => { 'repo' => - { 'name' => repo_name, - 'owner' => { 'login' => owner_login } } } }, - 'action' => action, - 'number' => pr_id }, - 'actor' => { 'login' => 'hamster' }, - 'created_at' => created_at, - 'repo' => { 'name' => 'hamster/hello' } } - - db_data = { 'owner' => owner_login, 'repo' => repo_name, 'number' => pr_id } - retriever.persister.expects(:upsert).with(:pull_requests, db_data, data['payload']['pull_request']) - retriever.ght.expects(:ensure_pull_request).with(owner_login, repo_name, pr_id, true, - true, true, action, 'hamster', created_at) - retriever.PullRequestEvent(data) - end - end - - describe 'ForkEvent' do - it 'must call ensure_fork' do - fork_id = Faker::Number.number(3) - data = { 'payload' => { 'forkee' => { 'id' => fork_id } }, - 'repo' => { 'name' => 'hamster/hello' } } - db_data = { 'owner' => 'hamster', 'repo' => 'hello', 'id' => fork_id } - retriever.persister.expects(:upsert).with(:forks, db_data, data['payload']['forkee']) - retriever.ght.expects(:ensure_fork).with('hamster', 'hello', fork_id) - retriever.ForkEvent(data) - end - end - - describe 'PullRequestReviewCommentEvent' do - it 'must call ensure_pullreq_comment' do - comment_id = Faker::Number.number(3) - pr_id = Faker::Number.number(2) - data = { 'payload' => { 'comment' => - { 'id' => comment_id, - '_links' => { 'pull_request' => { 'href' => "pulls/#{pr_id}" } } } }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.ght.expects(:ensure_pullreq_comment).with('hamster', 'hello', pr_id, comment_id) - retriever.PullRequestReviewCommentEvent(data) - end - end - - describe 'IssuesEvent' do - it 'must call ensure_issue' do - issue_id = Faker::Number.number(3) - data = { 'payload' => { 'issue' => { 'number' => issue_id } }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.ght.expects(:ensure_issue).with('hamster', 'hello', issue_id) - retriever.IssuesEvent(data) - end - end - - describe 'IssueCommentEvent' do - it 'must call ensure_issue_comment' do - issue_id = Faker::Number.number(3) - comment_id = Faker::Number.number(3) - data = { 'payload' => { 'comment' => { 'id' => comment_id }, - 'issue' => { 'number' => issue_id } }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.ght.expects(:ensure_issue_comment).with('hamster', 'hello', issue_id, comment_id) - retriever.IssueCommentEvent(data) - end - end - - describe 'CreateEvent' do - it 'must call ensure_repo_recursive' do - data = { 'payload' => { 'ref_type' => 'repository' }, - 'repo' => { 'name' => 'hamster/hello' } } - retriever.ght.expects(:ensure_repo).with('hamster', 'hello') - retriever.ght.expects(:ensure_repo_recursive).with('hamster', 'hello') - retriever.CreateEvent(data) - end - end -end diff --git a/test/unit/follower_test.rb b/test/unit/follower_test.rb deleted file mode 100644 index 6d25205..0000000 --- a/test/unit/follower_test.rb +++ /dev/null @@ -1,81 +0,0 @@ -require 'test_helper' - -describe 'GhtFollower' do - describe 'test the user repo methods' do - run_tests_in_transaction - - it 'calls ensure_user_follower method' do - user = create(:user) - retval = ght.ensure_user_follower(user.name, user.name) - end - - it 'calls ensure_user_follower method with real users' do - followed = create(:user, db_obj: db ) - follower_user = create(:user, db_obj: db ) - follower = create(:follower, {follower_id: follower_user.id, user_id: followed.id, db_obj: db}) - - retval = ght.ensure_user_follower(followed.name_email, follower_user.name_email) - assert retval - assert retval[:follower_id].must_equal follower.follower_id - end - - it 'calls ensure_user_follower method without saved follower' do - followed = create(:user, db_obj: db ) - follower_user = create(:user) - follower = create(:follower, {follower_id: follower_user.id, user_id: followed.id}) - - ght.stubs(:retrieve_user_follower).returns follower - ght.stubs(:retrieve_user_byemail).returns nil - - retval = ght.ensure_user_follower(followed.name_email, follower_user.name_email) - assert retval - assert retval[:user_id].must_equal followed.id - end - - it 'calls ensure_user_follower method updates date_created' do - followed = create(:user, db_obj: db ) - follower_user = create(:user) - follower = create(:follower, {follower_id: follower_user.id, user_id: followed.id}) - - ght.stubs(:retrieve_user_follower).returns follower - ght.stubs(:retrieve_user_byemail).returns nil - time_stamp = (Time.now.utc + 1).strftime('%F %T') - - refute follower.created_at == time_stamp - retval = ght.ensure_user_follower(followed.name_email, follower_user.name_email, time_stamp) - assert retval[:created_at].strftime('%F %T').must_equal time_stamp - end - - it 'calls ensure_user_follower method without any follower' do - followed = create(:user, db_obj: db ) - follower_user = create(:user) - - ght.stubs(:retrieve_user_follower).returns nil - ght.stubs(:retrieve_user_byemail).returns follower_user - ght.expects(:warn).returns("Could not retrieve follower #{follower_user.name_email} for #{followed.name_email}") - - retval = ght.ensure_user_follower(followed.name_email, follower_user.name_email, Time.now.utc.strftime('%F %T')) - refute retval - end - - it 'calls ensure_user_followers(followed) method' do - followed = create(:user, db_obj: db ) - follower_user = create(:user, db_obj: db ) - follower = create(:follower, {follower_id: follower_user.id, user_id: followed.id, db_obj: db}) - ght.stubs(:retrieve_user_followers).returns [ 'follows' => followed ] - - retval = ght.ensure_user_followers(followed.name_email) - assert retval.empty? - end - - it 'should call ensure_user_following method' do - following = create(:user, db_obj: db ) - follower_user = create(:user, db_obj: db ) - follower = create(:follower, {follower_id: following.id, user_id: following.id, db_obj: db}) - ght.stubs(:retrieve_user_following).returns [ 'follows' => following ] - - retval = ght.ensure_user_following(following.name_email) - assert retval.empty? - end - end -end diff --git a/test/unit/fork_commit_test.rb b/test/unit/fork_commit_test.rb deleted file mode 100644 index b3976b7..0000000 --- a/test/unit/fork_commit_test.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'test_helper' - -describe 'GhtForkCommit' do - describe 'ghtorrent transaction test' do - run_tests_in_transaction - - let(:user) { create(:user, db_obj: db) } - - it 'should ensure fork commits using parent info' do - user = create(:user, db_obj: db) - fork_repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: {'login' => user.name_email}, - forked_from: fork_repo.id, - parent: {'name' => fork_repo.name, 'owner' => {'login' =>user.name_email}, - db_obj: db} } ) - - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { 'comment_count' => 0, - 'author' => user, - 'committer' => user}, - parents: [] }) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_commits).returns ([commit]) - - ght.stubs(:retrieve_commit).returns(commit) - - ght.expects(:warn) - .returns("No common ancestor between #{repo.parent['owner']['login']}/#{repo.parent['name']} and #{user.name_email}/#{repo.name}") - .at_least_once - ght.expects(:warn) - .with("Could not find fork commit for repo #{user.name_email}/#{repo.name}. Retrieving all commits.") - .at_least_once - sha = commit.sha - - retval = ght.ensure_commits(user.name_email, repo.name, sha: sha, - return_retrieved: true, num_commits: 3, fork_all: false) - refute retval - end - end -end diff --git a/test/unit/fork_test.rb b/test/unit/fork_test.rb deleted file mode 100644 index f408e81..0000000 --- a/test/unit/fork_test.rb +++ /dev/null @@ -1,90 +0,0 @@ -require 'test_helper' - -describe 'GhtFork' do - describe 'ghtorrent fork tests' do - run_tests_in_transaction - - it 'should call ensure_fork method with missing repo' do - user = create(:user, db_obj: db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, forked_from: Faker::Number.number(2) } ) - - ght.stubs(:retrieve_fork).returns nil - ght.expects(:warn).returns("Could not retrieve fork #{user.name_email}/#{repo.name} -> #{repo.forked_from}") - - retval = ght.ensure_fork(user.name_email, repo.name, repo.forked_from) - refute retval - end - - it 'should call ensure_fork method with existing repo missing fork name' do - user = create(:user, db_obj: db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - ght.stubs(:retrieve_fork).returns repo - - fork_owner = repo.url.split(/\//)[4] - - ght.expects(:info).returns("Added fork #{fork_owner}/#{repo.name} of #{user.name_email }/#{repo.name}") - retval = ght.ensure_fork(user.name_email, repo.name, repo.forked_from) - assert retval - end - - it 'should call ensure_fork without existing fork' do - user = create(:user, db_obj: db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - ght.stubs(:retrieve_fork).returns repo - ght.stubs(:ensure_repo).returns nil - - fork_owner = repo.url.split(/\//)[4] - ght.expects(:warn).returns("Could not add #{fork_owner}/#{repo.name} as fork of #{user.name_email}/#{repo.name}") - - retval = ght.ensure_fork(user.name_email, repo.name, repo.forked_from) - refute retval - end - - it 'should call ensure-forks method with missing repo' do - user = create(:user) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, forked_from: Faker::Number.number(2)}) - ght.stubs(:ensure_repo).returns nil - ght.expects(:warn).returns("Could not find repo #{user.name_email}/#{repo.name} for retrieving forks") - retval = ght.ensure_forks(user.name_email, repo.name) - refute retval - end - - it 'should call ensure_forks method with existing repo missing fork name' do - user = create(:user, db_obj: db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - ght.stubs(:retrieve_fork).returns repo - ght.stubs(:retrieve_forks).returns([repo]) - - fork_owner = repo.url.split(/\//)[4] - - ght.expects(:info).returns("Added fork #{fork_owner}/#{repo.name} of #{user.name_email }/#{repo.name}") - retval = ght.ensure_forks(user.name_email, repo.name) - assert retval - end - - it 'should call ensure_forks method with existing repo fork name' do - user = create(:user, db_obj: db) - fork_repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: db }) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, forked_from: fork_repo.id, - db_obj: db }) - - ght.stubs(:retrieve_fork).returns repo - ght.stubs(:retrieve_forks).returns([repo]) - - retval = ght.ensure_forks(user.name_email, fork_repo.name) - assert retval - end - end -end diff --git a/test/unit/geolocator_test.rb b/test/unit/geolocator_test.rb deleted file mode 100644 index e5d39f7..0000000 --- a/test/unit/geolocator_test.rb +++ /dev/null @@ -1,81 +0,0 @@ -require 'test_helper' - -class TestRetriever - include GHTorrent::Geolocator - - def debug(_string) - end - alias :info :debug - - def persister - @persister ||= OpenStruct.new - end -end - -describe 'Geolocator' do - let(:retriever) { TestRetriever.new } - let(:location) { 'San Francisco' } - - describe 'OSM_parse_geolocation_result' do - it 'must store geo location to db' do - VCR.use_cassette('osm_geolocate') do - retriever.persister.expects(:find).returns([]) - retriever.persister.expects(:store).once - data = retriever.geolocate(location: location, from_cache: false) - data[:key].must_equal 'san francisco' - end - end - - it 'must handle empty geo result' do - VCR.use_cassette('osm_geolocate') do - retriever.persister.expects(:find).returns([]) - retriever.persister.expects(:store).once - JSON.stubs(:parse).returns({}) - data = retriever.geolocate(location: location, from_cache: false) - data.must_equal GHTorrent::Geolocator::EMPTY_LOCATION - end - end - - it 'must rescue any errors and set empty location' do - VCR.use_cassette('osm_geolocate') do - retriever.persister.expects(:find).returns([]) - retriever.persister.expects(:store).once - StringIO.any_instance.expects(:read).returns('') - data = retriever.geolocate(location: location, from_cache: false) - data.must_equal GHTorrent::Geolocator::EMPTY_LOCATION - end - end - - it 'must do nothing when geo exists in db' do - geo = OpenStruct.new - retriever.persister.expects(:find).returns([geo]) - retriever.persister.expects(:store).never - data = retriever.geolocate(location: location, from_cache: true) - data.must_equal geo - end - end - - describe 'bing_parse_geolocation_result' do - let(:bing_key) { 'dummy_key' } - before { retriever.stubs(:config).returns(bing_key) } - - it 'must store geo location to db' do - VCR.use_cassette('bing_geolocate', erb: { bing_key: bing_key }) do - retriever.persister.expects(:find).returns([]) - retriever.persister.expects(:store).once - data = retriever.geolocate(location: location, from_cache: false) - data[:country].must_equal 'United States' - end - end - - it 'must handle empty geo result' do - VCR.use_cassette('bing_geolocate', erb: { bing_key: bing_key }) do - retriever.persister.expects(:find).returns([]) - retriever.persister.expects(:store).once - JSON.stubs(:parse).returns({}) - data = retriever.geolocate(location: location, from_cache: false) - data.must_equal GHTorrent::Geolocator::EMPTY_LOCATION - end - end - end -end diff --git a/test/unit/ghtime_test.rb b/test/unit/ghtime_test.rb deleted file mode 100644 index 44b02ba..0000000 --- a/test/unit/ghtime_test.rb +++ /dev/null @@ -1,10 +0,0 @@ -require 'test_helper' - -describe 'Time' do - describe 'to_ms' do - it 'must convert time to millisecond' do - time = Time.new(2017, 05, 01, 01, 03, 05).utc - time.to_ms.must_equal(time.to_i * 1000) - end - end -end diff --git a/test/unit/ghtorrent_test.rb b/test/unit/ghtorrent_test.rb deleted file mode 100644 index 0898ff5..0000000 --- a/test/unit/ghtorrent_test.rb +++ /dev/null @@ -1,72 +0,0 @@ -require 'test_helper' - -describe 'GHTorrent' do - describe 'test configuration and helper methods' do - run_tests_in_transaction - - it 'should be able to access configurations' do - assert GHTorrent::ROUTEKEY_CREATE == "evt.CreateEvent" - assert GHTorrent::ROUTEKEY_DELETE == "evt.DeleteEvent" - assert GHTorrent::ROUTEKEY_DOWNLOAD == "evt.DownloadEvent" - assert GHTorrent::ROUTEKEY_FOLLOW == "evt.FollowEvent" - assert GHTorrent::ROUTEKEY_FORK == "evt.ForkEvent" - assert GHTorrent::ROUTEKEY_FORK_APPLY == "evt.ForkApplyEvent" - assert GHTorrent::ROUTEKEY_GIST == "evt.GistEvent" - assert GHTorrent::ROUTEKEY_GOLLUM == "evt.GollumEvent" - assert GHTorrent::ROUTEKEY_ISSUE_COMMENT == "evt.IssueCommentEvent" - assert GHTorrent::ROUTEKEY_ISSUES == "evt.IssuesEvent" - assert GHTorrent::ROUTEKEY_MEMBER == "evt.MemberEvent" - assert GHTorrent::ROUTEKEY_PUBLIC == "evt.PublicEvent" - assert GHTorrent::ROUTEKEY_PULL_REQUEST == "evt.PullRequestEvent" - assert GHTorrent::ROUTEKEY_PULL_REQUEST_REVIEW_COMMENT == "evt.PullRequestReviewCommentEvent" - assert GHTorrent::ROUTEKEY_PUSH == "evt.PushEvent" - assert GHTorrent::ROUTEKEY_TEAM_ADD == "evt.TeamAddEvent" - assert GHTorrent::ROUTEKEY_WATCH == "evt.WatchEvent" - assert GHTorrent::ROUTEKEY_PROJECTS == "evt.projects" - assert GHTorrent::ROUTEKEY_USERS == "evt.users" - end - - it 'should test GHTorrent::Mirror.max method' do - ght = GHTorrent::Mirror.new(1) - assert ght.max(5,7) == 7 - assert ght.max(7,5) == 7 - end - - it 'should test is_valid_email(email) method' do - assert ght.is_valid_email('user@ghtorrent.com') - refute ght.is_valid_email('abc') - end - - it 'should test the date method' do - # 2018-04-10 01:18:00 +0000 - sdate = DateTime.now.strftime("%Y-%m-%d %H:%M:%S %z") - time_date = Time.parse(sdate)#.to_idt - assert ght.date(sdate) == time_date - assert ght.date(time_date) == time_date - end - - it 'should test the boolean method' do - assert ght.boolean('true') == 1 - assert ght.boolean('false') == 0 - assert ght.boolean(nil) == 0 - end - - it 'should test the db method' do - assert db.tables.any? - end - - it 'should test the persister method' do - persister = ght.persister - assert persister - - # reset persister to nil - ght.stubs(:persister).returns nil - assert ght.persister.nil? - end - - it 'should test the stages method' do - stages = ght.stages - assert stages.length > 0 - end - end -end diff --git a/test/unit/hash_test.rb b/test/unit/hash_test.rb deleted file mode 100644 index c939a83..0000000 --- a/test/unit/hash_test.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'test_helper' - -describe Hash do - let(:hash1) { { key1: 1 } } - let(:hash2) { { key1: 2 } } - let(:hash3) { { key1: { test: 1 } } } - let(:hash4) { { key1: { test: 2 } } } - - it 'should overwrite the hash value' do - assert_equal ({ key1: 2 }), hash1.merge_recursive(hash2) - end - - it 'should not overwrite the hash value' do - refute_equal ({ key1: 2 }), hash1.merge_recursive(hash2, false) - assert_equal ({ key1: [1, 2] }), hash1.merge_recursive(hash2, false) - end - - it 'should overwrite the value of hash of hash' do - assert_equal ({ key1: { test: 2 } }), hash3.merge_recursive(hash4) - assert_equal ({ key1: { test: 2 } }), hash3.merge_recursive(hash4, false) - end -end diff --git a/test/unit/issue_comment_test.rb b/test/unit/issue_comment_test.rb deleted file mode 100644 index 2ee18b1..0000000 --- a/test/unit/issue_comment_test.rb +++ /dev/null @@ -1,142 +0,0 @@ -require 'test_helper' - -describe 'GhtIssueComment' do - describe 'ghtorrent issue comments tests' do - run_tests_in_transaction - - it 'should call ensure_issue_comments method' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, assignee_id: user.id, db_obj: ght.db}) - - issue_comments = create(:issue_comment, :github_comment, - {user_id: user.id, user: {'login' => user.name_email} } ) - issue.pull_request = nil - - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_comments).returns ([issue_comments]) - ght.stubs(:retrieve_issue_comment).returns issue_comments - - retval = ght.ensure_issue_comments(user.name_email, repo.name,issue.issue_id) - assert retval - assert retval.first[:issue_id].must_equal issue.id.to_i - end - - it 'should call ensure_issue_comments with invalid repo' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - ght.stubs(:ensure_repo).returns nil - ght.expects(:warn).returns("Could not find repository #{user.name_email}/#{repo.name} for retrieving issue comments for issue #{issue.issue_id}") - - retval = ght.ensure_issue_comments(user.name_email, repo.name,issue.issue_id) - refute retval - end - - it 'should call ensure_issue_comments with invalid issue' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - ght.stubs(:ensure_repo).returns repo - ght.expects(:warn).returns("Could not find issue #{user.name_email}/#{repo.name} -> #{issue.issue_id} for retrieving issue comments") - - retval = ght.ensure_issue_comments(user.name_email, repo.name,issue.issue_id, Faker::Number.number(4)) - refute retval - end - - it 'should call ensure_issue_comment with invalid repo' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - ght.stubs(:ensure_repo).returns nil - ght.expects(:warn).returns("Could not find repository #{user.name_email}/#{repo.name} for retrieving issue comments for issue #{issue.issue_id}") - - retval = ght.ensure_issue_comments(user.name_email, repo.name,issue.issue_id) - refute retval - end - - it 'should call ensure_issue_comments with invalid issue' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - ght.stubs(:ensure_repo).returns repo - ght.expects(:warn).returns("Could not find issue #{user.name_email}/#{repo.name} -> #{issue.issue_id} for retrieving issue comments") - - retval = ght.ensure_issue_comments(user.name_email, repo.name,issue.issue_id, Faker::Number.number(4)) - refute retval - end - - it 'should call ensure_issue_comment with invalid issue' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - comment = create(:commit_comment, {id: Faker::Number.number(4)}) - ght.stubs(:ensure_repo).returns repo - ght.expects(:warn).returns("Could not find issue #{user.name_email}/#{repo.name} -> #{issue.issue_id} for retrieving comment #{comment.id}") - - retval = ght.ensure_issue_comment(user.name_email, repo.name,issue.issue_id, comment.id, comment.id) - refute retval - end - - it 'should call ensure_issue_comment with invalid issue comment' do - user = create(:user) - repo = create(:repo ) - issue = create(:issue) - comment = create(:commit_comment) - ght.stubs(:ensure_repo).returns repo - ght.stubs(:ensure_issue).returns issue - ght.stubs(:retrieve_issue_comment).returns nil - ght.expects(:warn).returns("Could not retrieve issue_comment #{user.name_email}/#{repo.name} -> #{issue.issue_id}/#{comment.id}") - - retval = ght.ensure_issue_comment(user.name_email, repo.name,issue.issue_id, comment.id) - refute retval - end - - it 'should call ensure_issue_comment with saved issue comment' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - issue = create(:issue,:github_issue, - {repo_id: repo.id, assignee_id: user.id, db_obj: ght.db}) - - issue_comments = create(:issue_comment, :github_comment, - { issue_id: issue.id, user_id: user.id, user: {'login' => user.name_email}, db_obj: ght.db } ) - - ght.stubs(:ensure_repo).returns repo - ght.stubs(:ensure_issue).returns issue - ght.stubs(:retrieve_issue_comment).returns nil - ght.expects(:debug) - .returns("Issue comment #{user.name_email}/#{repo.name} -> #{issue.issue_id}/#{issue_comments.id} exists") - retval = ght.ensure_issue_comment(user.name_email, repo.name,issue.issue_id, issue_comments.id) - assert retval - assert retval[:issue_id].must_equal issue.id - assert retval[:comment_id].to_i.must_equal issue_comments.id.to_i - end - end -end - - diff --git a/test/unit/issue_event_test.rb b/test/unit/issue_event_test.rb deleted file mode 100644 index 7f280a3..0000000 --- a/test/unit/issue_event_test.rb +++ /dev/null @@ -1,166 +0,0 @@ -require 'test_helper' - -describe 'GhtIssueEvent' do - describe 'ghtorrent issue events tests' do - run_tests_in_transaction - - it 'should call ensure_issue_event method with saved issue_event - doesnt update issue_event' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - issue_event = create(:issue_event,:github_issue_event, - {issue_id: issue.id, actor_id: user.id, db_obj: db}) - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - issue.pull_request = nil - - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_events).returns ([issue_event]) - ght.stubs(:retrieve_issue_event).returns issue_event - retval = ght.ensure_issue_event(user.name_email, repo.name, - issue.issue_id, issue_event.event_id) - assert retval - - refute retval[:issue_id] == issue.issue_id.to_i - end - - it 'should successfully call ensure_issue_events method' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - issue_event = create(:issue_event,:github_issue_event, {issue_id: issue.id, actor_id: user.id}) - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - issue.pull_request = nil - - ght.stubs(:ensure_repo).returns repo - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_events).returns ([issue_event]) - ght.stubs(:retrieve_issue_event).returns issue_event - ght.stubs(:retrieve_user_byemail).returns user - issue_number = Faker::Number.number(2) - - retval = ght.ensure_issue_events(user.name_email, user.name_email, issue_number) - assert retval - end - - it 'should call ensure_issue_event method(s) nil cases' do - user = create(:user) - repo = create(:repo, :github_project, { owner: { 'login' => user.name_email } } ) - issue = create(:issue,:github_issue) - issue_event = create(:issue_event, :github_issue_event ) - - ght.stubs(:ensure_repo).returns nil - - retval = ght.ensure_issue_events(user.name_email, repo.name, issue.issue_id) - refute retval - - retval = ght.ensure_issue_event(user.name_email, repo.name, issue_event.issue_id, issue_event.event_id) - refute retval - - ght.stubs(:ensure_repo).returns repo - ght.stubs(:ensure_issue).returns nil - ght.stubs(:retrieve_issue_event).returns nil - retval = ght.ensure_issue_events(user.name_email, repo.name, issue.issue_id) - refute retval - - retval = ght.ensure_issue_event(user.name_email, repo.name, issue_event.issue_id, issue_event.event_id) - refute retval - - ght.stubs(:ensure_issue).returns issue - retval = ght.ensure_issue_event(user.name_email, repo.name, issue_event.issue_id, issue_event.event_id) - refute retval - - ght.stubs(:retrieve_issue_event).returns issue_event - issue_event.actor = nil - - retval = ght.ensure_issue_event(user.name_email, repo.name, issue_event.issue_id, issue_event.event_id) - refute retval - end - - it 'should call ensure_issue_event method with nil assignee' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - issue_event = create(:issue_event,:github_issue_event, {issue_id: issue.id, - actor_id: user.id, event: 'assigned', actor: {'login' => user.name_email}}) - - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_events).returns ([issue_event]) - ght.stubs(:retrieve_issue_event).returns issue_event - - issue.pull_request = nil - - retval = ght.ensure_issue_event(user.name_email, repo.name,issue.issue_id, issue_event.event_id) - assert retval - assert retval[:issue_id].must_equal issue.id - end - - it 'should call ensure_issue_event method with actor login' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - issue = create(:issue,:github_issue, {repo_id: repo.id, assignee_id: user.id, db_obj: db}) - - issue_event = create(:issue_event,:github_issue_event, {issue_id: issue.id, - actor_id: user.id, event: 'assigned', action: 'assigned', actor: {'login' => user.name_email}}) - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_events).returns ([issue_event]) - ght.stubs(:retrieve_issue_event).returns issue_event - issue.pull_request = nil - retval = ght.ensure_issue_event(user.name_email, repo.name,issue.issue_id, issue_event.event_id) - assert retval - assert retval[:issue_id].must_equal issue.id - end - end -end diff --git a/test/unit/issue_label_test.rb b/test/unit/issue_label_test.rb deleted file mode 100644 index 8413296..0000000 --- a/test/unit/issue_label_test.rb +++ /dev/null @@ -1,154 +0,0 @@ -require 'test_helper' - -describe 'GhtIssueLabel' do - describe 'ghtorrent issue labels tests' do - run_tests_in_transaction - - it 'should call ensure_issue_labels method with unsaved label' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - repo_label = create(:repo_label, { repo_id: repo.id, name: repo.name, db_obj: ght.db}) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - issue = create(:issue,:github_issue, {repo_id: repo.id, assignee_id: user.id, db_obj: ght.db}) - issue_label = create(:issue_label, :github_label, - {label_id: repo_label.id, issue_id: issue.issue_id, name: repo.name}) - issue.pull_request = nil - - ght.stubs(:retrieve_issue).returns issue - ght.stubs(:retrieve_issue_labels).returns ([issue_label]) - ght.stubs(:retrieve_issue_label).returns issue_label - ght.stubs(:retrieve_repo_label).returns repo_label - ght.expects(:info) - .returns("Added issue_label #{issue_label.name} to issue #{user.name_email}/#{repo.name} -> #{issue.issue_id}") - retval = ght.ensure_issue_labels(user.name_email, repo.name, issue.issue_id) - assert retval - assert retval[0][:issue_id].must_equal issue.id - end - - it 'should call ensure_issue_labels method with saved label returns []' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - repo_label = create(:repo_label, - { repo_id: repo.id, name: repo.name, db_obj: ght.db}) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - issue = create(:issue,:github_issue, - {repo_id: repo.id, assignee_id: user.id, db_obj: ght.db}) - issue_label = create(:issue_label, :github_label, - {label_id: repo_label.id, issue_id: issue.id, name: repo.name, - db_obj: ght.db}) - - issue.pull_request = nil - - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_labels).returns ([issue_label]) - ght.stubs(:retrieve_issue_label).returns issue_label - ght.stubs(:retrieve_repo_label).returns repo_label - - retval = ght.ensure_issue_labels(user.name_email, repo.name, issue.issue_id) - assert retval.empty? - end - - it 'should call ensure_issue_label method with invalid issue' do - user = create(:user) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email } } ) - - issue = create(:issue,:github_issue) - - issue_label = create(:issue_label, :github_label) - - ght.stubs(:ensure_issue).returns nil - ght.expects(:warn).returns("Could not find issue #{user.name_email}/#{repo.name} -> #{issue.issue_id} to assign label #{issue_label.name}") - - retval = ght.ensure_issue_label(user.name_email, repo.name, issue.issue_id, issue_label.name) - refute retval - end - - it 'should call ensure_issue_label method with invalid issue_label' do - user = create(:user) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email } } ) - - issue = create(:issue,:github_issue) - - issue_label = create(:issue_label, :github_label) - - ght.stubs(:ensure_issue).returns issue - ght.stubs(:ensure_repo_label).returns nil - ght.expects(:warn).returns("Could not find repo label #{user.name_email}/#{repo.name} -> #{issue_label.name}") - - retval = ght.ensure_issue_label(user.name_email, repo.name, issue.issue_id, issue_label.name) - refute retval - end - - it 'should call ensure_issue_label method with saved label returns []' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - repo_label = create(:repo_label, - { repo_id: repo.id, name: repo.name, db_obj: ght.db}) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - issue = create(:issue,:github_issue, - {repo_id: repo.id, assignee_id: user.id, db_obj: ght.db}) - issue_label = create(:issue_label, :github_label, - {label_id: repo_label.id, issue_id: issue.id, name: repo.name, - db_obj: ght.db}) - - issue.pull_request = nil - - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_issue_labels).returns ([issue_label]) - ght.stubs(:retrieve_issue_label).returns issue_label - ght.stubs(:retrieve_repo_label).returns repo_label - ght.expects(:debug) - .returns("Issue label #{issue_label.name} to issue #{user.name_email}/#{repo.name} -> #{issue_label.issue_id} exists") - .at_least_once - - retval = ght.ensure_issue_label(user.name_email, repo.name, issue.issue_id, issue_label.name) - assert retval - assert retval[:label_id].must_equal(issue_label.label_id) - end - - it 'should call ensure_issue_labels method with invalid issue' do - user = create(:user) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email } } ) - - issue = create(:issue,:github_issue) - ght.stubs(:ensure_issue).returns nil - ght.expects(:warn).returns("Could not find issue #{user.name_email}/#{repo.name} -> #{issue.id} for retrieving labels") - - retval = ght.ensure_issue_labels(user.name_email, repo.name, issue.issue_id) - refute retval - end - end -end diff --git a/test/unit/issue_test.rb b/test/unit/issue_test.rb deleted file mode 100644 index 19400dd..0000000 --- a/test/unit/issue_test.rb +++ /dev/null @@ -1,215 +0,0 @@ -require 'test_helper' - -describe 'GhtIssue' do - describe 'ghtorrent issues tests' do - run_tests_in_transaction - - # it 'should call ensure_issues method' do - # user = create(:user, db_obj: db) - - # repo = create(:repo, :github_project, { owner_id: user.id, - # owner: { 'login' => user.name_email }, db_obj: db } ) - - # pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - # db_obj: db }) - # issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - # # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - # issue.pull_request = nil - # ght.stubs(:retrieve_issues).returns([issue]) - # ght.stubs(:retrieve_issue).returns(issue) - # ght.stubs(:ensure_issue_events).returns nil - # ght.stubs(:ensure_issue_comments).returns nil - # ght.stubs(:ensure_issue_labels).returns nil - # retval = ght.ensure_issues(user.name_email, repo.name) - # assert retval - # assert retval[0][:id].must_equal issue.id - # assert retval[0][:repo_id].must_equal repo.id - # end - - it 'should call ensure_issues method with an unsaved repo' do - user = create(:user) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }} ) - - ght.stubs(:ensure_repo).returns(nil) - - retval = ght.ensure_issues(user.name_email, repo.name) - refute retval - end - - it 'should call ensure_issues method with unsaved issue' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - issue = create(:issue,:github_issue, {repo_id: repo.id}) - - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(nil) - - retval = ght.ensure_issues(user.name_email, repo.name) - assert retval.empty? - end - - it 'should call ensure_issues method with pull_request/patch_url not nil ' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - # now we need to change pull request to a hash - issue.pull_request = {'id' => pull_request.id, 'patch_url' => 'not nil'} - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_pull_request).returns nil - ght.stubs(:ensure_issue_events).returns nil - ght.stubs(:ensure_issue_comments).returns nil - ght.stubs(:ensure_issue_labels).returns nil - retval = ght.ensure_issues(user.name_email, repo.name) - assert retval - assert retval[0][:id].must_equal issue.id - assert retval[0][:repo_id].must_equal repo.id - end - - it 'should call ensure_issues method with pull_request/patch_url not nil and pull_request not nil ' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - # now we need to change pull request to a hash - issue.pull_request = {'id' => pull_request.id, 'patch_url' => 'not nil'} - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:ensure_pull_request).returns pull_request - ght.stubs(:ensure_issue_events).returns nil - ght.stubs(:ensure_issue_comments).returns nil - ght.stubs(:ensure_issue_labels).returns nil - retval = ght.ensure_issues(user.name_email, repo.name) - refute retval.empty? - assert retval[0][:id].must_equal issue.id - assert retval[0][:repo_id].must_equal repo.id - end - - it 'should call ensure_issue with unsaved repo' do - user = create(:user) - repo = create(:repo, :github_project, {} ) - fake_issue_id = Faker::Number.number(3).to_i - - ght.stubs(:ensure_repo).returns nil - - retval = ght.ensure_issue(user.name_email, repo.name, fake_issue_id, false, false, false) - refute retval - end - - it 'should call ensure_issue method with unsaved issue' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: db }) - - issue = create(:issue,:github_issue, {repo_id: repo.id}) - - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - # now we need to change pull request to a hash - issue.pull_request = {'patch_url' => 'not nil'} - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_pull_request).returns nil - ght.stubs(:ensure_issue_events).returns nil - ght.stubs(:ensure_issue_comments).returns nil - ght.stubs(:ensure_issue_labels).returns nil - ght.stubs(:ensure_user).returns user - - fake_issue_id = Faker::Number.number(3).to_i - - retval = ght.ensure_issue(user.name_email, repo.name, fake_issue_id, false, false, false) - assert retval - assert retval[:issue_id].must_equal fake_issue_id - assert retval[:repo_id].must_equal repo.id - end - - it 'should call ensure_issue method with ensure_pull_request' do - user = create(:user, db_obj: db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: db} ) - - # Need to create pull request with a new user and project. This will - # be checked by ensure_pull_request method - pr_name = "#{user.name}<#{user.email}>" - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, - base: { 'repo' => { 'owner' => { 'login' => pr_name }, - 'name' => repo.name }, 'sha' => SecureRandom.hex }, - db_obj: db }) - name, email = pull_request.base['repo']['owner']['login'].split("<") - email = email.split(">")[0] - pr_user = create(:user, {name: name, email: email, db_obj: db}) - - pr_repo = create(:repo, :github_project, { name: repo.name, owner_id: pr_user.id, - owner: { 'login' => pr_user.name_email }, db_obj: db } ) - - issue = create(:issue,:github_issue, {repo_id: repo.id, db_obj: db}) - - # Need to nil out pull_request stores value as integer but tests for nil? -- this is a problem - # now we need to change pull request to a hash - issue.pull_request = {'patch_url' => 'not nil'} - ght.stubs(:retrieve_issues).returns([issue]) - ght.stubs(:retrieve_issue).returns(issue) - ght.stubs(:retrieve_pull_request).returns pull_request - ght.stubs(:ensure_issue_events).returns nil - ght.stubs(:ensure_issue_comments).returns nil - ght.stubs(:ensure_issue_labels).returns nil - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:retrieve_user_byemail).returns user - - retval = ght.ensure_issue(user.name_email, repo.name, issue.issue_id, false, false, false) - assert retval - - assert retval[:issue_id].must_equal issue.issue_id.to_i - assert retval[:repo_id].must_equal repo.id - end - end -end diff --git a/test/unit/logging_test.rb b/test/unit/logging_test.rb deleted file mode 100644 index c447946..0000000 --- a/test/unit/logging_test.rb +++ /dev/null @@ -1,60 +0,0 @@ -require 'test_helper' - -class TestLogging - include GHTorrent::Logging - DEFAULTS ||= GHTorrent::Settings::DEFAULTS.dup -end - -describe 'Logging' do - let(:log) { TestLogging.new } - let(:msg) { Faker::Lorem.sentence } - - it 'should log the error' do - TestLogging::DEFAULTS[:logging_level] = 'error' - Logger.any_instance.expects(:error).returns(msg) - log.error(msg) - end - - it 'should log the warning' do - TestLogging::DEFAULTS[:logging_level] = 'warn' - Logger.any_instance.expects(:warn).returns(msg) - log.warn(msg) - end - - it 'should log the information in the logger' do - Logger.any_instance.expects(:info).returns(msg) - log.info(msg) - end - - it 'should log the detail information in the logger' do - TestLogging::DEFAULTS[:logging_level] = 'debug' - Logger.any_instance.expects(:debug).returns(msg) - log.debug(msg) - end - - it 'should log the message at fatal level' do - TestLogging::DEFAULTS[:logging_level] = 'fatal' - Logger.any_instance.expects(:fatal).returns(msg) - log.send(:log, :fatal, msg) - end - - it 'should log the message at debug level' do - Logger.any_instance.expects(:debug).returns(msg) - log.send(:log, :exception, msg) - end - - it 'should log to STDERR' do - TestLogging::DEFAULTS[:logging_file] = 'stderr' - log.config(:logging_file).stubs(:casecmp).with('stdout').returns(false) - log.config(:logging_file).stubs(:casecmp).with('stderr').returns(true) - log.error(msg) - end - - it 'should log to a file' do - FileUtils::mkdir_p('test/log') - TestLogging::DEFAULTS[:logging_file] = 'test/log/test.log' - log.config(:logging_file).stubs(:casecmp).returns(false) - log.error(msg) - FileUtils.rm('test/log/test.log') - end -end diff --git a/test/unit/multiprocess_queue_client_test.rb b/test/unit/multiprocess_queue_client_test.rb deleted file mode 100644 index 2467bd1..0000000 --- a/test/unit/multiprocess_queue_client_test.rb +++ /dev/null @@ -1,72 +0,0 @@ -require 'test_helper' - -class TestClientRetriever - def initialize(conf, queue, options) - end -end - -class TestProcessClient < MultiprocessQueueClient - attr_reader :exit - - def clazz - TestClientRetriever - end -end - -describe 'MultiprocessQueueClient' do - let(:client) { TestProcessClient.new } - - describe 'go' do - it 'must call run on the retriever with correct config' do - token = Faker::Internet.password - process_count = 3 - mapping_file = <<-DOC.gsub(/^\s+/, '') - # TOKEN NUM_PROCS LIMIT - - #{Faker::Internet.password} #{process_count} 24 - - DOC - settings = { 'mirror' => { 'token' => token, 'req_limit' => 10 } } - client.stubs(:settings).returns(settings) - client.stubs(:options).returns({ inproc: true }) - File.stubs(:open).returns(stub(readlines: mapping_file.split(/\n/))) - TestClientRetriever.any_instance.stubs(:stop) - Process.stubs(:waitpid) - - TestClientRetriever.any_instance.expects(:run).at_least(process_count) - - client.go - end - - it 'must fork a subprocess when inproc is false' do - mapping_file = <<-DOC.gsub(/^\s+/, '') - # TOKEN NUM_PROCS LIMIT - - #{Faker::Internet.password} 2 24 - - DOC - settings = { 'mirror' => { 'token' => Faker::Internet.password, 'req_limit' => 10 } } - client.stubs(:settings).returns(settings) - client.stubs(:options).returns({ inproc: false }) - File.stubs(:open).returns(stub(readlines: mapping_file.split(/\n/))) - TestClientRetriever.any_instance.stubs(:stop) - TestClientRetriever.stubs(:run) - - pid = Faker::Number.number(2) - Process.expects(:fork).returns(pid).twice - Process.expects(:waitpid).with(pid, 0).twice - - client.go - end - end - - describe 'validate' do - it 'must call trolltop.die' do - GHTorrent::Command.any_instance.expects(:validate) - Trollop.expects(:die) - - client.stubs(:args).returns([]) - client.validate - end - end -end diff --git a/test/unit/org_test.rb b/test/unit/org_test.rb deleted file mode 100644 index 288c058..0000000 --- a/test/unit/org_test.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'test_helper' - -describe 'OrgTest' do - describe 'test the user repo methods' do - run_tests_in_transaction - - it 'should call the ensure orgs method with a regular user' do - user = create(:user, db_obj: db) - ght.stubs(:retrieve_orgs).returns([user]) - retval = ght.ensure_orgs(user.name) - assert retval.empty? - end - - it 'should call the ensure orgs method with an organization' do - fake_name_login = Faker::Name.first_name - user = create(:user, {name: fake_name_login, login: fake_name_login, type: 'ORG', db_obj: db}) - org_member = create(:user,db_obj: db) - ght.stubs(:retrieve_orgs).returns([user]) - ght.stubs(:retrieve_org_members).returns([user]) - ght.stubs(:ensure_user).returns(user) - retval = ght.ensure_orgs(user) - assert retval && retval[0][:user_id] == user.id - end - end -end diff --git a/test/unit/persister_test.rb b/test/unit/persister_test.rb deleted file mode 100644 index f2fcc77..0000000 --- a/test/unit/persister_test.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'test_helper' - -class TestPersister - include GHTorrent::Persister -end - -describe 'Persister' do - let(:persister) { TestPersister.new } - - it 'should return an instance of persister' do - persister.connect('noop', config) - persister.class.must_equal TestPersister - end - - it 'should raise error' do - -> { persister.disconnect }.must_raise(NameError) - end -end diff --git a/test/unit/pull_requests_test.rb b/test/unit/pull_requests_test.rb deleted file mode 100644 index 4b2bd80..0000000 --- a/test/unit/pull_requests_test.rb +++ /dev/null @@ -1,489 +0,0 @@ -require 'test_helper' - -describe 'GhtPullRequest' do - describe 'ghtorrent pull request tests' do - run_tests_in_transaction - - it 'should overwrite transient fields' do - repo = create(:repo, :github_project, { owner_id: 999, - owner: {'login' => 'owner_login'}, - parent: {'name' => 'parent_repo', 'owner' => {'login' =>'parent_login'}} } ) - end - - it 'should create a github pull request' do - github_pr = create(:pull_request, :github_pr) - pr = create(:pull_request) - end - - it 'should create a pull request comment' do - user = create(:user, db_obj: ght.db) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db } ) - - now = Time.now.utc.strftime('%F %T') - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - merged_at: now, - base_commit_id: commit.id, - db_obj: ght.db }) - assert pull_request.merged_at.must_equal now - refute pull_request.closed_at - comments = create(:pull_request_comment, :github_pr_comment, {user_id: user.id, - pull_request_id: pull_request.id, - commit_id: commit.id, - user: {'login' => user.login}, original_position: 5, db_obj: ght.db}) - assert comments.original_position.must_equal 5 - assert comments.original_commit_id.must_equal comments.commit_id - end - - it 'should call ensure_pull_requests method' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id }) - - ght.stubs(:retrieve_user_byemail).returns(user) - ght.stubs(:ensure_repo).returns(repo) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:ensure_pull_request_commits).returns(nil) - ght.stubs(:ensure_pullreq_comments).returns(nil) - ght.stubs(:ensure_issue_comments).returns(nil) - - ght.stubs(:retrieve_pull_requests).returns([pull_request]) - ght.stubs(:retrieve_pull_request).returns(pull_request) - - retval = ght.ensure_pull_requests(user.name_email, repo.name) - assert retval.length > 0 - assert retval[0][:base_repo_id] == repo.id - end - - it 'should test ensure_pull_request with saved pull request' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db}) - - pull_request['head']['repo']['owner']['login'] = - pull_request['base']['repo']['owner']['login'] - - - ght.stubs(:retrieve_user_byemail).returns user - ght.stubs(:ensure_repo).returns(repo) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:ensure_pull_request_commits).returns(nil) - ght.stubs(:ensure_pullreq_comments).returns(nil) - ght.stubs(:ensure_issue_comments).returns(nil) - - ght.stubs(:retrieve_p_requests).returns([pull_request]) - ght.stubs(:retrieve_pull_request).returns(pull_request) - - retval = ght.ensure_pull_request(user.name_email, repo.name, pull_request.pullreq_id) - assert retval.length > 0 - assert retval[:base_repo_id] == repo.id - end - - it 'should test intra-branch pull request' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - ght.stubs(:retrieve_user_byemail).returns(user) - ght.stubs(:ensure_repo).returns(repo) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:ensure_pull_request_commits).returns(nil) - ght.stubs(:ensure_pullreq_comments).returns(nil) - ght.stubs(:ensure_issue_comments).returns(nil) - - ght.stubs(:retrieve_pull_requests).returns([pull_request]) - ght.stubs(:retrieve_pull_request).returns(pull_request) - ght.expects(:debug).returns("Added accompanying_issue for pull_req #{pull_request.number} ->").at_least_once - - retval = ght.ensure_pull_requests(user.name_email, repo.name) - assert retval.length > 0 - assert retval[0][:base_repo_id] == repo.id - end - - it 'should call ensure_pull_requests method with user and invalid project' do - ght.stubs(:ensure_repo).returns(nil) - retval = ght.ensure_pull_requests('fake_name', 'fake_email') - - refute retval - end - - it 'should ensure_pull_requests method with refresh = true' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id }) - - ght.stubs(:retrieve_user_byemail).returns(user) - ght.stubs(:ensure_repo).returns(repo) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:ensure_pull_request_commits).returns(nil) - ght.stubs(:ensure_pullreq_comments).returns(nil) - ght.stubs(:ensure_issue_comments).returns(nil) - - ght.stubs(:retrieve_pull_requests).returns([pull_request]) - ght.stubs(:retrieve_pull_request).returns(pull_request) - - refresh = true - retval = ght.ensure_pull_requests(user.name_email, repo.name, refresh) - assert retval.length > 0 - assert retval[0][:base_repo_id] == repo.id - end - - it 'should call ensure_pull_request method with invalid project' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email } } ) - - ght.stubs(:ensure_repo).returns(nil) - - retval = ght.ensure_pull_request(user.name_email, repo.name, 123) - refute retval - end - - it 'should call ensure_pull_request method with invalid pull request' do - user = create(:user, db_obj: ght.db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email } } ) - - ght.stubs(:ensure_repo).returns(repo) - ght.stubs(:retrieve_pull_request).returns nil - - retval = ght.ensure_pull_request(user.name_email, repo.name, 123) - refute retval - end - - it 'should test ensure_pullreq_comments method returns empty array' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - - comments = create(:pull_request_comment, :github_pr_comment, {user_id: user.id, pull_request_id: pull_request.id, - commit_id: commit.id, db_obj: ght.db}) - ght.stubs(:retrieve_pull_req_comments).returns(comments) - ght.stubs(:ensure_pull_request).returns(nil) - - retval = ght.ensure_pullreq_comments(user.name_email, repo.name, pull_request.pullreq_id) - refute retval - - ght.stubs(:ensure_pull_request).returns(pull_request) - ght.stubs(:retrieve_pull_req_comments).returns([comments]) - retval = ght.ensure_pullreq_comments(user.name_email, repo.name, pull_request.pullreq_id) - - assert retval.empty? - end - - it 'should test ensure_pullreq_comments method without saved comment record returns empty array' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - - comments = create(:pull_request_comment, :github_pr_comment, {user_id: user.id, pull_request_id: pull_request.id, - commit_id: commit.id}) - ght.stubs(:retrieve_pull_req_comments).returns(comments) - ght.stubs(:ensure_pull_request).returns(nil) - - retval = ght.ensure_pullreq_comments(user.name_email, repo.name, pull_request.pullreq_id) - refute retval - - ght.stubs(:ensure_pull_request).returns(pull_request) - ght.stubs(:retrieve_pull_req_comments).returns([comments]) - retval = ght.ensure_pullreq_comments(user.name_email, repo.name, pull_request.pullreq_id) - - assert retval.empty? - end - - it 'should test ensure_pullreq_comment method with a nil pull request' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - - comments = create(:pull_request_comment, :github_pr_comment, {user_id: user.id, pull_request_id: pull_request.id, - commit_id: commit.id, original_commit_id: commit.id, - user: {'login' => user.login}}) - ght.stubs(:retrieve_pull_req_comments).returns(comments) - ght.stubs(:ensure_pull_request).returns(nil) - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id) - refute retval - ght.stubs(:ensure_pull_request).returns(pull_request) - ght.stubs(:retrieve_pull_req_comment).returns(comments) - ght.stubs(:ensure_commit).returns(commit) - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id) - - assert retval - end - - it 'should handle remaining nil cases' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - - comments = create(:pull_request_comment, :github_pr_comment, {user_id: user.id, pull_request_id: pull_request.id, - commit_id: commit.id, original_commit_id: commit.id, - user: {'login' => user.login}, db_obj: ght.db}) - ght.stubs(:ensure_pull_request).returns pull_request - ght.stubs(:retrieve_pull_req_comment).returns(nil) - - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id, pull_request) - assert retval - pull_request2 = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id }) - - ght.stubs(:ensure_pull_request).returns pull_request - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id, pull_request2) - refute retval - ght.stubs(:retrieve_pull_req_comment).returns(comments) - ght.stubs(:ensure_user).returns(nil) - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id) - assert retval - - retval = ght.ensure_pullreq_comment(user.name_email, repo.name, pull_request.pullreq_id, comments.comment_id, pull_request2) - refute retval - end - - it 'should call ensure_pull_request_commits method' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - - pr_commit = create(:pull_request_commit, :github_pr_commit, - {pull_request_id: pull_request.id, commit_id: commit.id, repo_name: repo.name, - owner: user.name_email, sha: commit.sha }) - - ght.stubs(:retrieve_pull_req_commits).returns([pr_commit]) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:retrieve_pull_request_commit).returns(pr_commit) - - - retval = ght.ensure_pull_request_commits(user.name_email, repo.name, - pull_request.pullreq_id, pull_request, nil) - assert retval[0].must_equal true - end - - it 'should call ensure_pull_request_commits method with nil pull_request' do - user = create(:user, db_obj: ght.db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [] } ) - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id }) - - ght.stubs(:ensure_pull_request).returns(nil) - - retval = ght.ensure_pull_request_commits(user.name_email, repo.name, - pull_request.pullreq_id, nil, nil) - refute retval - end - - it 'should call ensure_pull_request_commits method with saved pull request commit' do - user = create(:user, db_obj: ght.db) - - # add github fields to user - user.author = user - user.committer = user - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: ght.db } ) - commit = create(:sha, :github_commit, {project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { :comment_count => 0, :author => user, :committer => user}, - parents: [], db_obj: ght.db} ) - - commit['commit']['author'] = user - commit['commit']['committer'] = user - commit['commit']['author'].date = commit.created_at - - pull_request = create(:pull_request, :github_pr, {base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: ght.db }) - pr_commit = create(:pull_request_commit, :github_pr_commit, - {pull_request_id: pull_request.id, commit_id: commit.id, repo_name: repo.name, - owner: user.name_email, sha: commit.sha, db_obj: ght.db }) - ght.stubs(:retrieve_pull_req_commits).returns([pr_commit]) - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:retrieve_pull_request_commit).returns(pr_commit) - - retval = ght.ensure_pull_request_commits(user.name_email, repo.name, - pull_request.pullreq_id, pull_request, nil) - - assert retval[0][:pull_request_id].must_equal pull_request.id - assert retval[0][:commit_id].must_equal commit.id - end - end -end diff --git a/test/unit/repo_label_test.rb b/test/unit/repo_label_test.rb deleted file mode 100644 index 81108d7..0000000 --- a/test/unit/repo_label_test.rb +++ /dev/null @@ -1,73 +0,0 @@ -require 'test_helper' - -describe 'GHTRepoLabel' do - describe 'test the user repo methods' do - run_tests_in_transaction - - it 'should not be able to find repo_label' do - user = create(:user, db_obj: db) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_repo_label).returns(nil) - ght.expects(:warn).returns("Could not retrieve repo_label #{user.name_email}/#{repo.name} -> master") - - retval = ght.ensure_repo_label(user.name_email, repo.name, 'master') - refute retval - end - - it 'should call ensure_repo_label with unsaved user and repo' do - user = create(:user) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:ensure_repo).returns(nil) - ght.expects(:warn).returns("Could not find #{user.name_email}/#{repo.name} for retrieving label master") - - retval = ght.ensure_repo_label(user.name_email, repo.name, 'master') - refute retval - end - - it 'should call ensure_repo_label' do - user = create(:user, db_obj: db) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_repo_label).returns(['master']) - - retval = ght.ensure_repo_label(user.name_email, repo.name, 'master') - assert retval && retval[:name] == 'master' - end - - it 'should call ensure_labels method with invalid repo' do - user = create(:user) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:ensure_user).returns user - ght.stubs(:retrieve_repo).returns(nil) - ght.expects(:warn) - .returns("Could not find #{user.name_email}/#{repo.name} for retrieving issue labels") - .at_least_once - - retval = ght.ensure_labels(user.name_email, repo.name) - refute retval - end - - it 'should call ensure_labels method with saved user and repo' do - user = create(:user, db_obj: db) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_repo_labels).returns(['master']) - ght.stubs(:ensure_repo_label).returns('master') - - retval = ght.ensure_labels(user.name_email, repo.name) - assert retval && retval.first == 'master' - end - - it 'should call ensure_repo_label with unsaved user and repo and label' do - user = create(:user) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:retrieve_user_byemail).returns(user) - ght.stubs(:retrieve_repo).returns(nil) - ght.stubs(:retrieve_repo_label).returns(['master']) - retval = ght.ensure_repo_label(user.name_email, repo.name, 'master') - refute retval - end - end -end diff --git a/test/unit/repo_test.rb b/test/unit/repo_test.rb deleted file mode 100644 index 7d8f707..0000000 --- a/test/unit/repo_test.rb +++ /dev/null @@ -1,158 +0,0 @@ -require 'test_helper' - -describe 'GhtRepo' do - describe 'test the user repo methods' do - run_tests_in_transaction - - it 'should return a repo given a user and repo' do - user = create(:user, db_obj: db) - repo = create(:project, { owner_id: user.id, db_obj: db }) - - assert repo.owner_id = user.id - repo = ght.ensure_repo(user.name_email, repo.name) - - assert repo - end - - it 'should not return a repo given a user and bad repo' do - user = create(:user, db_obj: db) - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} } ) - - ght.stubs(:retrieve_repo).returns(nil) - ght.expects(:warn).returns("Could not retrieve repo #{user.name_email}/#{repo.name}") - - repo = ght.ensure_repo(user.name_email, repo.name) - assert repo.nil? - end - - it 'should not return a repo given a bad user' do - user = create(:user) - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:ensure_user).returns nil - ght.expects(:warn).returns("Could not find user #{user}") - - repo = ght.ensure_repo(user.name_email, repo.name) - assert repo.nil? - end - - it 'should return a repo given a user and invalid repo will add repo to db' do - user = create(:user, db_obj: db) - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} }) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:ensure_fork_point).returns nil - - retval = ght.ensure_repo(user.name_email, repo.name) - assert retval - - projects = db[:projects] - project = projects.where(:id => retval[:id]).first - assert project && project[:url] == repo.url && project[:name] == repo.name - end - - it 'should return a repo that has a parent repo' do - user = create(:user, db_obj: db) - parent_user = create(:user, db_obj: db) - parent_repo = create(:repo, { owner_id: parent_user.id, db_obj: db }) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: {'login' => user.login}, - parent: {'name' => parent_repo.name, 'owner' => {'login' =>parent_user.login}} } ) - - ght.stubs(:retrieve_repo).returns(repo) - - db_repo = ght.ensure_repo(user.name_email, repo.name) - assert db_repo[:url].must_equal repo.url - end - - it 'should return a repo that has changed ownership' do - user = create(:user, db_obj: db) - parent_user = create(:user, db_obj: db) - parent_repo = create(:repo, { owner_id: parent_user.id, db_obj: db }) - - repo = create(:repo, :github_project, { owner_id: user.id, - owner: {'login' => parent_user.login}, - parent: {'name' => parent_repo.name, 'owner' => {'login' =>parent_user.login}} } ) - - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:ensure_fork_point).returns nil - db_repo = ght.ensure_repo(user.name_email, repo.name) - assert db_repo[:url].must_equal repo.url - end - - it 'should return nil from ensure_repo_commits if no project' do - user = create(:user, db_obj: db) - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} }) - ght.stubs(:ensure_repo).returns nil - ght.expects(:warn).returns("Repo #{user.name}/#{repo.name} does not exist") - - retval = ght.ensure_repo_commit(user.name, repo.name, 0) - assert retval.nil? - end - - it 'should not return nil from ensure_repo_commits if project exists' do - user = create(:user, db_obj: db) - repo = create(:repo, { owner_id: user.id, db_obj: db}) - commit = create(:commit, :github_commit, {project_id: repo.id, committer_id: user.id, - commit: { :comment_count.to_s => 3}, - parents: [], - db_obj: db}) - - ght.stubs(:ensure_commit).returns(commit) - ght.stubs(:retrieve_commit).returns(commit) - ght.stubs(:retrieve_commit_comments).returns [] - sha = commit.sha - - retval = ght.ensure_repo_commit(user.name_email, repo.name, sha) - assert retval - assert retval[:commit_id].must_equal commit[:id] - - # run 2nd time so that the project_commits exist in table - retval = ght.ensure_repo_commit(user.name_email, repo.name, sha) - assert retval - assert retval[:commit_id].must_equal commit[:id] - end - - it 'should ensure the repo returns languague info and saves to the db' do - user = create(:user, db_obj: db) - repo = create(:project, :github_project, { owner_id: user.id, owner: {'login' => user.login} } ) - ght.stubs(:retrieve_repo).returns(repo) - ght.stubs(:retrieve_languages).returns({"Ruby"=>35941, "HTML"=>6085, "JavaScript"=>2239, "CSS"=>1728}) - - ght.ensure_languages(user.name_email, repo.name) - - repo_in_db = ght.ensure_repo(user.name_email, repo.name) - assert db[:project_languages].where(:project_id => repo_in_db[:id]).count.must_equal 4 - end - - it 'calls ensure_repo_recursive - if all stages are successful returns true' do - ght.stages.each do |stage| - ght.stubs(stage.to_sym).returns(true) - end - retval = ght.ensure_repo_recursive('msk999', 'fake_repo') - assert retval - end - - it 'calls ensure_repo_recursive - if one stage is not successful returns false' do - ght.stubs(ght.stages[0].to_sym).returns(nil) - ght.expects(:warn).returns("Stage #{ght.stages[0]} returned nil, stopping recursive retrieval") - retval = ght.ensure_repo_recursive('msk999', 'fake_repo') - refute retval - end - - it 'should create persist a fake project' do - user = create(:user, db_obj: db) - project = create(:project, :github_project, - { owner_id: user.id, owner: {'login' => user.login}, db_obj: db } ) - assert project - saved_project = db[:projects].where(id: project.id).first - saved_project[:name].must_equal project.name - end - - it 'should not persist a fake user' do - user = create(:user) - assert user - db[:users].where(login: user.login).count.must_equal 0 - end - end -end diff --git a/test/unit/retriever_test.rb b/test/unit/retriever_test.rb deleted file mode 100644 index 8d26842..0000000 --- a/test/unit/retriever_test.rb +++ /dev/null @@ -1,758 +0,0 @@ -require 'test_helper' - -class TestGHTorrentRetriever - include GHTorrent::Retriever - - def persister - @persister ||= GHTorrent::Mirror.new(1).persister - end - - def debug(_string); end - alias warn debug - alias info debug -end - -class TestRetriever1 - include GHTorrent::Retriever -end - -describe GHTorrent::Retriever do - let(:retriever) { TestGHTorrentRetriever.new } - let(:other_retriever) { TestRetriever1.new } - let(:repo_name) { 'Test-Project' } - let(:username) { 'Priya5' } - - before do - session = 1 - @ght = GHTorrent::Mirror.new(session) - end - - it 'should raise error' do - error = -> { other_retriever.persister }.must_raise(Exception) - error.message.must_match 'Unimplemented' - end - - describe 'retrieve_user_byusername' do - it 'should get the user from github' do - VCR.use_cassette('github_get_user') do - retriever.persister.expects(:store).once - user = retriever.retrieve_user_byusername('User1') - user.wont_be_nil - user['id'].wont_be_nil - end - end - - it 'should return nil' do - VCR.use_cassette('github_get_user') do - retriever.persister.expects(:store).never - retriever.retrieve_user_byusername('test_ght_user').must_be_nil - end - end - - it 'should return an existing user' do - user = create(:user, type: 'User') - retriever.persister.stubs(:find).returns([user]) - retriever.retrieve_user_byusername(user.login).must_equal user - end - end - - describe 'retrieve_user_byemail' do - it 'should get the user from github' do - VCR.use_cassette('github_get_user_by_email') do - retriever.persister.expects(:store).once - user = retriever.retrieve_user_byemail('User1@example.com', nil) - user.wont_be_nil - user['id'].wont_be_nil - end - end - - it 'should return nil if user not found by given email' do - VCR.use_cassette('github_get_user_by_email') do - retriever.retrieve_user_byemail('User2@example.com', nil).must_be_nil - end - end - - it 'should return nil if user not found by given name' do - VCR.use_cassette('github_get_user_by_email') do - retriever.retrieve_user_byemail('User2@example.com', 'User1 User2').must_be_nil - end - end - - it 'should return nil if user not found by given name and email' do - user = create(:user, type: 'User') - retriever.stubs(:retrieve_user_byusername).with('User2_ght').returns(user) - - VCR.use_cassette('github_get_user_by_email') do - retriever.retrieve_user_byemail('User2@example.com', 'User2 GHT').must_be_nil - end - end - - it 'should return user' do - user = create(:user, type: 'User') - retriever.stubs(:retrieve_user_byusername).with('User2_ght').returns(user) - - VCR.use_cassette('github_get_user_by_email') do - retriever.retrieve_user_byemail('User2_ght@example.com', 'User2 GHT').wont_be_nil - end - end - - it 'should not return user' do - retriever.stubs(:retrieve_user_byusername).with('User2_ght').returns(nil) - VCR.use_cassette('github_get_user_by_email') do - retriever.retrieve_user_byemail('User2_ght@example.com', 'User2 GHT').must_be_nil - end - end - - it 'should get the user from github' do - VCR.use_cassette('github_get_user_by_email') do - user = retriever.retrieve_user_byemail('User1_ght@example.com', nil) - user.wont_be_nil - user['id'].wont_be_nil - end - end - end - - describe 'retrieve_user_follower' do - it 'should get the follower' do - follower = create(:follower) - retriever.persister.stubs(:find).returns([follower]) - retriever.retrieve_user_follower('followed_user', 'follower').must_equal follower - end - - it 'should return nil' do - VCR.use_cassette('github_get_followers') do - retriever.persister.stubs(:find).returns([]) - retriever.retrieve_user_follower('notalex', 'follower').must_be_nil - end - end - - it 'should return followed user' do - VCR.use_cassette('github_get_followers') do - retriever.persister.stubs(:find).with(:followers, 'follows' => username, 'login' => 'follower').once.returns([]) - retriever.persister.stubs(:find).with(:followers, 'follows' => username, 'login' => 'asahu8').once.returns(['follower']) - retriever.persister.stubs(:find).with(:followers, 'follows' => username).returns(['follower']) - retriever.retrieve_user_follower(username, 'follower').must_be_nil - end - end - end - - describe 'retrieve_user_following' do - it "should get the user's following" do - VCR.use_cassette('github_get_user_following') do - follower = create(:follower) - retriever.persister.stubs(:find).returns([follower]) - retriever.retrieve_user_following(username).must_equal [follower] - end - end - - it "should get the user's following" do - VCR.use_cassette('github_get_user_following') do - follower = create(:follower, login: username) - retriever.persister.stubs(:find).with(:followers, 'follows' => 'ProsenjitSaha', 'login' => username).returns([]) - retriever.persister.stubs(:find).with(:followers, 'follows' => 'ProsenjitSaha').returns([follower]) - follower.stubs(:delete).returns(true) - retriever.persister.stubs(:find).with(:followers, 'login' => username).returns([follower]) - retriever.retrieve_user_following(username).must_equal [follower] - end - end - end - - describe 'retrieve_pull_request_commit' do - it 'should return a pull request commit' do - @ght.db.transaction(rollback: :always) do - user = create(:user, db_obj: @ght.db) - repo = create(:repo, :github_project, owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: @ght.db) - - commit = create(:sha, :github_commit, project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { comment_count: 0, author: user, - committer: user }, - parents: [], db_obj: @ght.db) - pull_request = create(:pull_request, :github_pr, base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: @ght.db) - - pr_commit = create(:pull_request_commit, :github_pr_commit, - pull_request_id: pull_request.id, commit_id: commit.id, repo_name: repo.name, - owner: user.name_email, sha: commit.sha, db_obj: @ght.db) - retriever.persister.stubs(:find).with(:pull_request_commits, 'sha' => pr_commit.sha).returns([pr_commit]) - retriever.retrieve_pull_request_commit(pull_request, repo, pr_commit.sha, user).must_equal pr_commit - end - end - - it 'should return nil' do - retriever.stubs(:retrieve_commit).returns(nil) - retriever.retrieve_pull_request_commit('pr_commit', 'repo', 'sha', 'user').must_be_nil - end - - it 'should fetch the commit from github' do - pull_request = create(:pull_request, :github_pr) - sha = 'e1f1ada440fb107366d68599107aa365c1e14255' - - VCR.use_cassette('github_get_user_commits') do - commit = retriever.retrieve_pull_request_commit(pull_request, repo_name, sha, username) - commit.wont_be_nil - commit['sha'].must_equal sha - end - end - end - - describe 'retrieve_commit' do - sha = 'df9e4928f5259ad181b6e7104be9868f' - - it 'should return nil' do - VCR.use_cassette('github_get_user_commits') do - retriever.retrieve_commit(repo_name, sha, username).must_be_nil - end - end - - it 'should return commit from database' do - commit = create(:commit) - retriever.persister.stubs(:find).with(:commits, 'sha' => commit.sha).returns([commit]) - retriever.retrieve_commit(repo_name, commit.sha, username).must_equal commit - end - - it 'should delete the patch from commit files' do - GHTorrent::Settings::DEFAULTS[:commit_handling] = 'trim' - VCR.use_cassette('github_get_user_commits') do - commit = retriever.retrieve_commit(repo_name, 'e1f1ada440fb107366d68599107aa365c1e14255', username) - commit['files'].first.keys.wont_include('patch') - end - end - end - - describe 'retrieve_commits' do - it 'should return all the commits of the user' do - VCR.use_cassette('github_get_user_commits') do - retriever.retrieve_commits(repo_name, nil, username, 1).wont_be_nil - end - end - - it 'should return all the commits of the user' do - sha = 'e1f1ada440fb107366d68599107aa365c1e14255' - VCR.use_cassette('github_get_user_commits') do - commit = retriever.retrieve_commits(repo_name, sha, username, 1) - commit.first['sha'].must_equal sha - end - end - end - - describe 'retrieve_repo' do - it 'should return the repo from github' do - VCR.use_cassette('github_get_user_repo') do - repo = retriever.retrieve_repo(username, repo_name) - repo['name'].must_equal repo_name - repo['id'].wont_be_nil - end - end - - it 'should return the repo from database' do - repo = create(:project) - retriever.persister.stubs(:find).returns([repo]) - repo = retriever.retrieve_repo(username, repo_name).must_equal repo - end - - it 'should update the repo' do - repo = create(:project, name: repo_name) - VCR.use_cassette('github_get_user_repo') do - retriever.persister.stubs(:find).returns([repo]) - retriever.retrieve_repo(username, repo_name, true) - repo.name.must_equal repo_name - end - end - - it 'should return nil' do - VCR.use_cassette('github_get_user_repo') do - retriever.retrieve_repo(username, 'Test-project1').must_be_nil - end - end - end - - describe 'retrieve_languages' do - it 'should return repository languages' do - VCR.use_cassette('github_get_repo_languages') do - retriever.retrieve_languages(username, repo_name).keys.must_include 'Ruby' - end - end - end - - describe 'retrieve_orgs' do - it 'should return empty if user does not have organizations' do - VCR.use_cassette('github_get_user_organizations') do - retriever.retrieve_orgs(username).must_be_empty - end - end - - it 'should return user organizations' do - VCR.use_cassette('github_get_user_organizations') do - retriever.retrieve_orgs('Priya').wont_be_empty - end - end - end - - describe 'retrieve_org' do - it 'should get the user from github' do - VCR.use_cassette('github_get_user') do - user = retriever.retrieve_org('User1') - user.wont_be_nil - user['id'].wont_be_nil - end - end - end - - describe 'retrieve_org_members' do - let(:org) { 'ghtorrent' } - - it 'should fetch and store the organisation members' do - VCR.use_cassette('github_get_org_members') do - ght_user = create(:user, login: 'ght_user') - org_member = create(:organization_member, login: ght_user.login) - retriever.stubs(:retrieve_org).returns(ght_user) - retriever.persister.stubs(:find).with(:org_members, 'org' => org).returns([], [org_member]) - retriever.retrieve_org_members(org).must_equal [ght_user] - end - end - - it 'should return the matchinng member from database' do - VCR.use_cassette('github_get_org_members') do - ght_user = create(:user, login: 'ght_user') - org_member = create(:organization_member, login: ght_user.login, org: org) - retriever.stubs(:retrieve_org).returns(ght_user) - retriever.persister.stubs(:find).with(:org_members, 'org' => org).returns([org_member]) - retriever.retrieve_org_members(org).must_equal [ght_user] - end - end - end - - describe 'retrieve_commit_comments' do - it 'should return the commit comments' do - commit_comment = create(:commit_comment, id: 29_177_690) - sha = '3ea09dbd4d643220ddac94d9ada3c001a820a4dc' - - VCR.use_cassette('github_get_commit_comments') do - retriever.persister.stubs(:find).with(:commit_comments, 'commit_id' => sha, 'id' => commit_comment.id).returns([]) - retriever.persister.stubs(:find).with(:commit_comments, 'commit_id' => sha).returns([commit_comment]) - retriever.retrieve_commit_comments(username, repo_name, sha).must_equal [commit_comment] - end - end - - it 'should return empty if comments do not exists' do - commit_comment = create(:commit_comment) - sha = '6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f' - - VCR.use_cassette('github_get_commit_comments') do - retriever.persister.stubs(:find).with(:commit_comments, 'commit_id' => '6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f').returns([]) - retriever.retrieve_commit_comments(username, repo_name, sha).must_be_empty - end - end - end - - describe 'retrieve_commit_comment' do - it 'should return the single comment of the commit from github and store in the database' do - commit_comment = create(:commit_comment, id: 29_177_690) - sha = '3ea09dbd4d643220ddac94d9ada3c001a820a4dc' - - VCR.use_cassette('github_get_commit_comments') do - retriever.persister.stubs(:find).with(:commit_comments, 'commit_id' => sha, 'id' => commit_comment.id).returns([], [commit_comment]) - retriever.retrieve_commit_comment(username, repo_name, sha, commit_comment.id).must_equal commit_comment - end - end - - it 'should return the comment from the database' do - commit_comment = create(:commit_comment, id: 29_177_690) - sha = '3ea09dbd4d643220ddac94d9ada3c001a820a4dc' - - retriever.persister.stubs(:find).with(:commit_comments, 'commit_id' => sha, 'id' => commit_comment.id).returns([commit_comment]) - retriever.retrieve_commit_comment(username, repo_name, sha, commit_comment.id).must_equal commit_comment - end - - it 'should return nil for an invalid comment_id' do - commit_comment = create(:commit_comment, id: 1) - sha = '6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f' - - VCR.use_cassette('github_get_commit_comments') do - retriever.retrieve_commit_comment(username, repo_name, sha, commit_comment.id).must_be_nil - end - end - end - - describe 'retrieve_watchers' do - it 'should get the watchers of the repo' do - VCR.use_cassette('github_get_repo_watchers') do - retriever.retrieve_watchers(username, repo_name).must_be_empty - end - end - end - - describe 'retrieve_watcher' do - it 'should return a watcher' do - watcher = create(:watcher) - retriever.persister.stubs(:find).with(:watchers, 'repo' => repo_name, 'owner' => username, 'login' => username).returns([watcher]) - retriever.retrieve_watcher(username, repo_name, username).must_equal watcher - end - end - - describe 'retrieve_pull_requests' do - it 'should fetch pull_requests details from github and refresh the data' do - pull_request = create(:pull_request) - retriever.persister.stubs(:find).with(:pull_requests, 'repo' => repo_name, 'owner' => username, 'number' => 1).returns([pull_request]) - retriever.persister.stubs(:find).with(:pull_requests, 'repo' => repo_name, 'owner' => username).returns([pull_request]) - VCR.use_cassette('github_get_repo_prs') do - retriever.retrieve_pull_requests(username, repo_name, true).must_equal [pull_request] - end - end - - it 'should fetch pull_requests details from github' do - pull_request = create(:pull_request) - retriever.persister.stubs(:find).with(:pull_requests, 'repo' => repo_name, 'owner' => username, 'number' => 1).returns([pull_request]) - retriever.persister.stubs(:find).with(:pull_requests, 'repo' => repo_name, 'owner' => username).returns([pull_request]) - VCR.use_cassette('github_get_repo_prs') do - retriever.retrieve_pull_requests(username, repo_name, false).must_equal [pull_request] - end - end - end - - describe 'retrieve_pull_request' do - it 'should return nil' do - VCR.use_cassette('github_get_repo_prs') do - retriever.retrieve_pull_request(username, repo_name, '10').must_be_nil - end - end - it 'should fetch pull_requests details from github and refresh the data' do - @ght.db.transaction(rollback: :always) do - user = create(:user, db_obj: @ght.db) - repo = create(:repo, :github_project, owner_id: user.id, - owner: { 'login' => user.name_email }, - db_obj: @ght.db) - - commit = create(:sha, :github_commit, project_id: repo.id, committer_id: user.id, - author: user, - committer: user, - commit: { comment_count: 0, author: user, - committer: user }, - parents: [], db_obj: @ght.db) - pull_request = create(:pull_request, :github_pr, base_repo_id: repo.id, - base_commit_id: commit.id, db_obj: @ght.db) - VCR.use_cassette('github_get_repo_prs') do - retriever.persister.stubs(:find).with(:pull_requests, 'repo' => repo_name, - 'owner' => username, 'number' => pull_request.id).returns([pull_request]) - retriever.retrieve_pull_request(username, repo_name, pull_request.id).must_equal pull_request - end - end - end - end - - describe 'retrieve_forks' do - it 'should fetch the repository forks' do - repo = create(:repo, :github_project, id: 135_258_762) - - VCR.use_cassette('github_get_repo_forks') do - retriever.persister.stubs(:find).with(:forks, 'repo' => repo_name, 'owner' => username, 'id' => repo.id).returns([repo]) - retriever.persister.stubs(:find).with(:forks, 'repo' => repo_name, 'owner' => username).returns([repo]) - retriever.retrieve_forks(username, repo_name).must_equal [repo] - end - end - end - - describe 'retrieve_fork' do - it 'should fetch the repository forks' do - repo = create(:repo, :github_project, id: 135_258_762) - - VCR.use_cassette('github_get_repo_forks') do - retriever.persister.stubs(:find).with(:forks, 'repo' => repo_name, 'owner' => username, 'id' => repo.id).returns([repo]) - retriever.persister.stubs(:find).with(:forks, 'repo' => repo_name, 'owner' => username).returns([repo]) - retriever.retrieve_fork(username, repo_name, repo.id).must_equal repo - end - end - end - - describe 'retrieve_pull_req_commits' do - it 'should fetch the pull request commits' do - pull_request = create(:pull_request, id: 1) - commit = create(:commit, sha: '6076dd729adf62fe36c4d62d2ea5ec1e2e4f7b9f') - retriever.persister.stubs(:find).with(:commits, 'sha' => commit.sha).returns([commit]) - - VCR.use_cassette('github_get_repo_prs') do - retriever.retrieve_pull_req_commits(username, repo_name, pull_request.id).must_equal [commit] - end - end - end - - describe 'retrieve_pull_req_comments' do - it 'should get the pull requests comments' do - pull_request = create(:pull_request, id: 1) - pull_request_comment = create(:pull_request_comment, pull_request_id: pull_request.id, id: 191_363_245) - - VCR.use_cassette('github_get_repo_prs') do - retriever.persister.stubs(:find).with(:pull_request_comments, 'owner' => username, 'repo' => repo_name, - 'pullreq_id' => pull_request.id, 'id' => pull_request_comment.id).returns([]) - retriever.persister.stubs(:find).with(:pull_request_comments, 'owner' => username, 'repo' => repo_name, - 'pullreq_id' => pull_request.id).returns([pull_request_comment]) - retriever.retrieve_pull_req_comments(username, repo_name, pull_request.id).must_equal [pull_request_comment] - end - end - end - - describe 'retrieve_pull_req_comment' do - let(:pull_request) { create(:pull_request, id: 1) } - let(:pull_request_comment) { create(:pull_request_comment, pull_request_id: pull_request.id, id: 191_363_245) } - - it 'should get first comment of the pull requests from github' do - VCR.use_cassette('github_get_repo_prs') do - retriever.persister.stubs(:find).with(:pull_request_comments, 'owner' => username, - 'repo' => repo_name, 'pullreq_id' => pull_request.id, - 'id' => pull_request_comment.id).returns([], [pull_request_comment]) - retriever.retrieve_pull_req_comment(username, repo_name, pull_request.id, pull_request_comment.id).must_equal pull_request_comment - end - end - - it 'should return nil' do - comment_id = 1 - - VCR.use_cassette('github_get_repo_prs') do - retriever.persister.stubs(:find).with(:pull_request_comments, 'owner' => username, 'repo' => repo_name, - 'pullreq_id' => pull_request.id, 'id' => comment_id).returns([]) - retriever.retrieve_pull_req_comment(username, repo_name, pull_request.id, comment_id).must_be_nil - end - end - - it 'should return comment from database' do - retriever.persister.stubs(:find).with(:pull_request_comments, 'owner' => username, 'repo' => repo_name, - 'pullreq_id' => pull_request.id, 'id' => pull_request_comment.id).returns([pull_request_comment]) - retriever.retrieve_pull_req_comment(username, repo_name, pull_request.id, pull_request_comment.id).must_equal pull_request_comment - end - end - - describe 'retrieve_issues' do - it 'should fetch the repository issues' do - issue = create(:issue, id: 326_958_432) - - VCR.use_cassette('github_get_repo_issues') do - retriever.persister.stubs(:find).with(:issues, 'repo' => repo_name, 'owner' => username, 'number' => 2).returns([]) - retriever.persister.stubs(:find).with(:issues, 'repo' => repo_name, 'owner' => username, 'number' => 1).returns([issue]) - retriever.persister.stubs(:find).with(:issues, 'repo' => repo_name, 'owner' => username).returns([issue]) - retriever.retrieve_issues(username, repo_name).must_equal [issue] - end - end - end - - describe 'retrieve_issue' do - it 'should fetch a single repository issue' do - issue = create(:issue, id: 326_958_432) - - VCR.use_cassette('github_get_repo_issues') do - retriever.persister.stubs(:find).with(:issues, 'repo' => repo_name, 'owner' => username, 'number' => issue.id).returns([issue]) - retriever.retrieve_issue(username, repo_name, issue.id).must_equal issue - end - end - end - - describe 'retrieve_issue_events' do - it 'should fetch events of the repository issue' do - issue = create(:issue, id: 2) - event = create(:issue_event, id: 1_653_232_576) - - VCR.use_cassette('github_get_repo_issue_events') do - retriever.persister.stubs(:find).with(:issue_events, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => event.id).returns([]) - retriever.persister.stubs(:find).with(:issue_events, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id).returns([event]) - retriever.retrieve_issue_events(username, repo_name, issue.id).must_equal [event] - end - end - end - - describe 'retrieve_issue_event' do - it 'should fetch a single event of the repository issue from github and store in database' do - issue = create(:issue, id: 2) - event = create(:issue_event, id: 1_653_232_576) - - VCR.use_cassette('github_get_repo_issue_events') do - retriever.persister.stubs(:find).with(:issue_events, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => event.id).returns([], [event]) - retriever.retrieve_issue_event(username, repo_name, issue.id, event.id).must_equal event - end - end - - it 'should return a single event from database' do - issue = create(:issue, id: 2) - event = create(:issue_event, id: 1_653_232_576) - - retriever.persister.stubs(:find).with(:issue_events, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => event.id).returns([event]) - retriever.retrieve_issue_event(username, repo_name, issue.id, event.id).must_equal event - end - - it 'should return nil for an invalid event_id' do - issue = create(:issue, id: 2) - event = create(:issue_event, id: 165) - - VCR.use_cassette('github_get_repo_issue_events') do - retriever.persister.stubs(:find).with(:issue_events, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => event.id).returns([]) - retriever.retrieve_issue_event(username, repo_name, issue.id, event.id).must_be_nil - end - end - end - - describe 'retrieve_issue_comments' do - it 'should fetch comments of the repository issue' do - issue = create(:issue, id: 2) - comment = create(:issue_comment, id: 393_117_252) - - VCR.use_cassette('github_get_repo_issue_comments') do - retriever.persister.stubs(:find).with(:issue_comments, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => comment.id).returns([]) - retriever.persister.stubs(:find).with(:issue_comments, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id).returns([comment]) - retriever.retrieve_issue_comments(username, repo_name, issue.id).must_equal [comment] - end - end - end - - describe 'retrieve_issue_comment' do - let(:issue) { create(:issue, id: 2) } - let(:comment) { create(:issue_comment, id: 393_117_252) } - - it 'should fetch a single comment of the repository issue from github and store in database' do - VCR.use_cassette('github_get_repo_issue_comments') do - retriever.persister.stubs(:find).with(:issue_comments, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => comment.id).returns([], [comment]) - retriever.retrieve_issue_comment(username, repo_name, issue.id, comment.id).must_equal comment - end - end - - it 'should return a single comment from database' do - retriever.persister.stubs(:find).with(:issue_comments, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => comment.id).returns([comment]) - retriever.retrieve_issue_comment(username, repo_name, issue.id, comment.id).must_equal comment - end - - it 'should return nil for an invalid comment_id' do - comment = create(:issue_comment, id: 165) - - VCR.use_cassette('github_get_repo_issue_comments') do - retriever.persister.stubs(:find).with(:issue_comments, 'owner' => username, 'repo' => repo_name, 'issue_id' => issue.id, 'id' => comment.id).returns([]) - retriever.retrieve_issue_comment(username, repo_name, issue.id, comment.id).must_be_nil - end - end - end - - describe 'retrieve_repo_labels' do - let(:repo_label) { create(:repo_label) } - - it 'should fetch the repository labels' do - VCR.use_cassette('github_get_repo_labels') do - retriever.persister.stubs(:find).returns([repo_label]) - retriever.retrieve_repo_labels(username, repo_name).must_equal [repo_label] - end - end - end - - describe 'retrieve_repo_label' do - let(:repo_label) { create(:repo_label) } - - it 'should fetch the repository issues' do - VCR.use_cassette('github_get_repo_labels') do - retriever.persister.stubs(:find).returns([repo_label]) - retriever.retrieve_repo_label(username, repo_name, 'bug').must_equal repo_label - end - end - end - - describe 'retrieve_issue_labels' do - let(:issue) { create(:issue, id: 2) } - - it 'should return repository issue labels' do - VCR.use_cassette('github_get_issue_labels') do - retriever.retrieve_issue_labels(username, repo_name, issue.id).wont_be_empty - end - end - end - - describe 'retrieve_topics' do - let(:topic_name) { 'beginner-project' } - let(:repo_topic) { create(:project_topic, topic: topic_name) } - - it 'should fetch the repository topics and store in the database' do - VCR.use_cassette('github_get_repo_topics') do - retriever.persister.expects(:store).once - retriever.retrieve_topics(username, repo_name).must_equal [topic_name] - end - end - - it 'should return empty if project does not having topics' do - VCR.use_cassette('github_get_repo_topics') do - retriever.retrieve_topics('Priya101', repo_name).must_be_empty - end - end - - it 'should fetch the repository topics from github and does not store in database' do - VCR.use_cassette('github_get_repo_topics') do - retriever.persister.expects(:find).with(:topics, 'owner' => username, 'repo' => repo_name).returns([repo_topic]) - retriever.persister.expects(:store).never - retriever.retrieve_topics(username, repo_name).must_equal [topic_name] - end - end - end - - describe 'get_events' do - it 'should return the Github events' do - VCR.use_cassette('github_get_events') do - retriever.get_events.wont_be_empty - end - end - end - - describe 'get_repo_events' do - it 'should fetch the repo event and store in the database' do - VCR.use_cassette('github_get_events') do - event = OpenStruct.new(id: '7737749979') - retriever.persister.stubs(:find).with(:events, 'id' => event.id).returns([]) - retriever.persister.stubs(:find).with(:events, 'repo.name' => "#{username}/#{repo_name}").returns([event]) - retriever.get_repo_events(username, repo_name).must_equal [event] - end - end - - it 'should fetch the repo event and return the matching event from database' do - VCR.use_cassette('github_get_events') do - event = OpenStruct.new(id: '7737749979') - retriever.persister.stubs(:find).with(:events, 'id' => event.id).returns([event]) - retriever.persister.stubs(:find).with(:events, 'repo.name' => "#{username}/#{repo_name}").returns([event]) - retriever.get_repo_events(username, repo_name).must_equal [event] - end - end - end - - describe 'get_event' do - it 'should return a matching event' do - event = OpenStruct.new(id: 1) - retriever.persister.stubs(:find).with(:events, 'id' => event.id).returns(event) - retriever.get_event(event.id).must_equal event - end - end - - describe 'retrieve_master_branch_diff' do - it 'should fetch the diff of two branch' do - VCR.use_cassette('github_get_branch_diff') do - diff = retriever.retrieve_master_branch_diff(username, repo_name, 'test', username, repo_name, 'master') - diff['files'].wont_be_empty - diff['files'][0]['changes'].must_equal 1 - end - end - end - - describe 'restricted_page_request' do - it 'should make an api request' do - VCR.use_cassette('github_get_repo') do - url = 'https://api.github.com/repos/blackducksoftware/ohcount' - retriever.send(:restricted_page_request, url, -1).wont_be_empty - end - end - end - - describe 'ghurl' do - it 'should return a github url' do - path = Faker::Lorem.word - retriever.send(:ghurl, path, 1).must_equal "https://api.github.com/#{path}?page=1&per_page=100" - end - - it 'should return a github url with query string' do - path = "#{Faker::Lorem.word}?name=#{Faker::Name.first_name}" - retriever.send(:ghurl, path, 1).must_equal "https://api.github.com/#{path}&page=1&per_page=100" - end - end -end diff --git a/test/unit/settings_test.rb b/test/unit/settings_test.rb deleted file mode 100644 index 6ad3b09..0000000 --- a/test/unit/settings_test.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'test_helper' - -class TestRetriever - include GHTorrent::Settings -end - -describe 'Settings' do - let(:retriever) { TestRetriever.new } - - describe 'config' do - it 'must return the value from settings when present' do - expected_token = Faker::Number.number(5) - settings = { 'mirror' => { 'token' => expected_token } } - retriever.stubs(:settings).returns(settings) - retriever.config(:github_token).must_equal(expected_token) - end - - it 'must return a DEFAULT value when the key does not exist in settings' do - retriever.stubs(:settings).returns({}) - retriever.config(:github_token).must_equal(GHTorrent::Settings::DEFAULTS[:github_token]) - end - - it 'must catch exception for missing settings and return default value' do - retriever.config(:github_token).must_equal(GHTorrent::Settings::DEFAULTS[:github_token]) - end - - it 'must raise exception when use default is false and no settings exists' do - -> { retriever.config(:github_token, false) }.must_raise(StandardError) - end - end - - describe 'merge' do - it 'must override values in CONFIGKEYS' do - token = Faker::Internet.password - retriever.merge(github_token: token) - TestRetriever::CONFIGKEYS[:github_token].must_equal token - end - end - - describe 'override_config' do - it 'must override a value in the given hash' do - settings = { 'amqp' => { 'password' => Faker::Internet.password } } - expected = { 'amqp' => { 'password' => :foo } } - retriever.override_config(settings, :amqp_password, :foo).must_equal(expected) - end - end -end diff --git a/test/unit/transacted_ghtorrent_test.rb b/test/unit/transacted_ghtorrent_test.rb deleted file mode 100644 index 8e160e1..0000000 --- a/test/unit/transacted_ghtorrent_test.rb +++ /dev/null @@ -1,42 +0,0 @@ -require 'test_helper' - -describe 'TransactedGHTorrent' do - let(:gh_torrent) { TransactedGHTorrent.new({}) } - before { gh_torrent.stubs(:db).returns(stub('in_transaction?' => true)) } - - describe 'all methods' do - it 'must call the equivalent method in super class' do - { - ensure_repo: 2, - ensure_commit: 3, - ensure_commit_comment: 4, - ensure_fork: 3, - ensure_fork_commits: 4, - ensure_pull_request: 3, - ensure_pullreq_comment: 4, - ensure_issue: 3, - ensure_issue_event: 4, - ensure_issue_comment: 4, - ensure_issue_label: 4, - ensure_watcher: 3, - ensure_repo_label: 3, - ensure_user_followers: 1, - ensure_orgs: 1, - ensure_org: 1, - ensure_topics: 2 - }.each do |method, no_of_args| - args = Array.new(no_of_args) { Faker::Name.first_name } - GHTorrent::Mirror.any_instance.expects(method) - gh_torrent.send(method, *args) - end - end - end - - describe 'db not in transaction' do - it 'must call the super class transaction method' do - gh_torrent.stubs(:db).returns(stub('in_transaction?' => false)) - GHTorrent::Mirror.any_instance.expects(:transaction) - gh_torrent.ensure_repo(:foo, :bar) - end - end -end diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb deleted file mode 100644 index 9743228..0000000 --- a/test/unit/user_test.rb +++ /dev/null @@ -1,107 +0,0 @@ -require 'test_helper' - -describe 'GhtUser' do - describe 'ghtorrent transaction test' do - run_tests_in_transaction - - it 'should create persist a fake user' do - user = create(:user, db_obj: db) - assert user - saved_user = db[:users].where(id: user.id).first - saved_user[:name].must_equal user.name - end - - it 'should test the user factory' do - users_count = db[:users].count - db.transaction(:rollback=>:always) do - user1 = create(:user, { name: 'melvin', db_obj: db } ) - user2 = create(:user) - - assert user1.name.must_equal 'melvin' - refute user1.name == user2.name - assert user2.db_obj.nil? - - users = db[:users] - user_count = users.where(:id => user1.id).count - assert user_count.must_equal 1 - - db_user1 = users.where(:id => user1.id).first - assert user1.name.must_equal db_user1[:name] - - users = db[:users] - user_count = users.where(:id => user2.id).count - assert user_count.must_equal 0 - end - assert db[:users].count == users_count - end - - - it 'should test the ensure_user method' do - user = create(:user, db_obj: db) - returned_user = ght.ensure_user(user[:login], false, false) - assert returned_user - assert returned_user[:id] == user.id - end - - it 'ensure_user method should not return a user if given a bad email' do - user = create(:user) # create a bad email by not saving new user - assert ght.ensure_user(user.email).nil? - end - - it 'ensure_user should find correct user if given a name and email' do - user = create(:user, db_obj: db) - GHTorrent::Mirror.any_instance.stubs(:ensure_user_byemail).returns(user) - returned_user = ght.ensure_user("#{user[:login]}", false, false) - assert returned_user[:id] == user[:id] - end - - it 'ensure_user should not find a user if given a bad user name only' do - returned_user = ght.ensure_user("~999~$", false, false) - assert returned_user.nil? - end - - it 'should return a user given an email and user' do - user = create(:user, db_obj: db) - email = user.email - returned_user = ght.ensure_user_byemail(email, user.login) - assert returned_user[:email] == email - end - - it 'should return a user given a bad email and valid user' do - user = create(:user, db_obj: db) - fake_email = Faker::Internet.email - - ght.stubs(:retrieve_user_byemail).returns nil - returned_user = ght.ensure_user_byemail(fake_email, user.name) - - assert returned_user - assert returned_user[:email] == fake_email - assert returned_user[:name] == user.name - end - - it 'should call ensure_user_byuname method' do - user = create(:user, type: 'User') - ght.stubs(:retrieve_user_byusername).returns user - geoLocate = OpenStruct.new(:long => Faker::Number.number(2), :lat => Faker::Number.number(2), - :country_code => 'US', :state => 'MA', :city => 'Watertown') - - ght.stubs(:geolocate).returns geoLocate - ght.expects(:info).returns("Added user #{user}") - - retval = ght.ensure_user_byuname(user.name_email) - end - - it 'should call ensure_user_byuname method with empty email' do - user = create(:user, {email: '', type: 'User'}) - ght.stubs(:retrieve_user_byusername).returns user - geoLocate = OpenStruct.new(:long => Faker::Number.number(2), :lat => Faker::Number.number(2), - :country_code => 'US', :state => 'MA', :city => 'Watertown') - - ght.stubs(:geolocate).returns geoLocate - ght.expects(:info).returns("Added user #{user}") - - retval = ght.ensure_user_byuname(user.name) - end - end -end - diff --git a/test/unit/utils_test.rb b/test/unit/utils_test.rb deleted file mode 100644 index 6b13f9b..0000000 --- a/test/unit/utils_test.rb +++ /dev/null @@ -1,51 +0,0 @@ -require 'test_helper' - -class TestRetriever - include GHTorrent::Utils -end - -describe 'Utils' do - let(:retriever) { TestRetriever.new } - - describe 'read_value' do - it 'must read a nested value using 2 dot syntax' do - hsh = { 'a' => { 'b' => { 'c' => :d } } } - retriever.read_value(hsh, 'a.b.c').must_equal :d - end - - it 'must read a nested value using N dot syntax' do - hsh = { 'a' => { 'b' => { 'c' => { 'd' => { 'e' => :f } } } } } - retriever.read_value(hsh, 'a.b.c.d').must_equal('e' => :f) - retriever.read_value(hsh, 'a.b.c.d.e').must_equal :f - end - end - - describe 'write_value' do - it 'must append or overwrite a nested key using 1 dot syntax' do - hsh = { 'x' => { 'y' => { 'z' => :o } } } - retriever.write_value(hsh, '', '').must_equal(hsh) - - expected_merge = { 'x' => { 'y' => { 'z' => :o, '@' => '#' } } } - retriever.write_value(hsh, 'x.y', '@' => '#').must_equal(expected_merge) - - retriever.write_value(hsh, 'x.y', '@').must_equal('x' => { 'y' => '@' }) - end - - it 'must append or overwrite a nested key using N dot syntax' do - hsh = { 'x' => { 'y' => { 'z' => { 'o' => { 'm' => :n } } } } } - - expected_merge = { 'x' => { 'y' => { 'z' => { 'o' => { 'm' => :n }, '@' => '#' } } } } - retriever.write_value(hsh, 'x.y.z', '@' => '#').must_equal(expected_merge) - - expected_merge = { 'x' => { 'y' => { 'z' => { 'o' => { 'm' => :p } } } } } - retriever.write_value(hsh, 'x.y.z.o.m', :p).must_equal(expected_merge) - end - end - - describe 'user_type' do - it 'must return value based on input' do - retriever.user_type('User').must_equal('USR') - retriever.user_type(Faker::Name.first_name).must_equal('ORG') - end - end -end diff --git a/test/unit/watcher_test.rb b/test/unit/watcher_test.rb deleted file mode 100644 index 99014fc..0000000 --- a/test/unit/watcher_test.rb +++ /dev/null @@ -1,76 +0,0 @@ -require 'test_helper' - -describe 'GhtWatcher' do - describe 'test configuration and helper methods' do - run_tests_in_transaction - - it 'should call the ensure_watchers method without a saved watcher' do - user = create(:user, db_obj: db) - watcher_user = create(:user, db_obj: db) - repo = create(:repo, :github_project, { owner_id: user.id, - owner: { 'login' => user.name_email }, db_obj: ght.db } ) - - # ght.stubs(:retrieve_repo).returns repo - ght.stubs(:retrieve_watchers).returns [watcher_user] - ght.stubs(:retrieve_watcher).returns watcher_user - - retval = ght.ensure_watchers(user.name_email, repo.name) - assert retval[0][:user_id] == watcher_user.id - end - - it 'should call the ensure_watchers method with a saved watcher and return data' do - user = create(:user, db_obj: db) - watcher_user = create(:user, db_obj: db) - watcher_user.login = watcher_user.name_email - repo = create(:repo, { owner_id: user.id, db_obj: db}) - watcher = create(:watcher, {repo_id: repo.id, user_id: watcher_user.id, db_obj: db}) - - ght.stubs(:retrieve_watchers).returns [watcher_user] - ght.stubs(:retrieve_watcher).returns watcher_user - - retval = ght.ensure_watchers(user.name_email, repo.name) - retval.first[:repo_id].must_equal repo.id - retval.first[:user_id].must_equal watcher_user.id - end - - it 'should call the ensure_watchers method without a saved repository' do - user = create(:user, db_obj: db) - watcher_user = create(:user, db_obj: db) - watcher_user.login = watcher_user.name_email - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} } ) - - ght.stubs(:retrieve_repo).returns(nil) - - retval = ght.ensure_watchers(user.name_email, repo.name) - refute retval - end - - it 'should call the ensure_watcher method without a saved repository' do - user = create(:user, db_obj: db) - watcher_user = create(:user, db_obj: db) - watcher_user.login = watcher_user.name_email - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} } ) - - ght.stubs(:retrieve_watchers).returns [watcher_user] - ght.stubs(:retrieve_watcher).returns nil - ght.stubs(:retrieve_repo).returns(nil) - - retval = ght.ensure_watcher(user.name_email, repo.name, watcher_user.name_email, DateTime.now) - refute retval - end - - it 'should call the ensure_watcher method without a saved repository' do - user = create(:user, db_obj: db) - watcher_user = create(:user, db_obj: db) - watcher_user.login = watcher_user.name_email - repo = create(:repo, {owner_id: user.id, owner: {'login' => user.login} } ) - - ght.stubs(:retrieve_watchers).returns [watcher_user] - ght.stubs(:retrieve_watcher).returns nil - ght.stubs(:retrieve_repo).returns(repo) - - retval = ght.ensure_watcher(user.name_email, repo.name, watcher_user.name_email, DateTime.now) - refute retval - end - end -end