From 98db0d3210456e5a76f63b98c187e18eae05a3f9 Mon Sep 17 00:00:00 2001 From: Priya Rani Date: Thu, 24 May 2018 15:57:27 +0530 Subject: [PATCH] OTWO-5173 Added test cases for hash, logging, persister and retriever --- Rakefile | 4 +- .../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 | 152 ++ .../vcr_cassettes/github_get_issue_labels.yml | 82 + .../vcr_cassettes/github_get_org_members.yml | 79 + .../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 ++ test/factories/organization_member.rb | 9 + test/factories/project.rb | 2 +- test/factories/project_topic.rb | 9 + test/pull_requests_test.rb | 1 - test/unit/hash_test.rb | 22 + test/unit/logging_test.rb | 59 + test/unit/persister_test.rb | 18 + test/unit/retriever_test.rb | 758 +++++++ 31 files changed, 8452 insertions(+), 4 deletions(-) create mode 100644 fixtures/vcr_cassettes/github_get_branch_diff.yml create mode 100644 fixtures/vcr_cassettes/github_get_commit_comments.yml create mode 100644 fixtures/vcr_cassettes/github_get_events.yml create mode 100644 fixtures/vcr_cassettes/github_get_issue_labels.yml create mode 100644 fixtures/vcr_cassettes/github_get_org_members.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_forks.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_issue_comments.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_issue_events.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_issues.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_labels.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_languages.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_prs.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_topics.yml create mode 100644 fixtures/vcr_cassettes/github_get_repo_watchers.yml create mode 100644 fixtures/vcr_cassettes/github_get_user.yml create mode 100644 fixtures/vcr_cassettes/github_get_user_by_email.yml create mode 100644 fixtures/vcr_cassettes/github_get_user_commits.yml create mode 100644 fixtures/vcr_cassettes/github_get_user_following.yml create mode 100644 fixtures/vcr_cassettes/github_get_user_organizations.yml create mode 100644 fixtures/vcr_cassettes/github_get_user_repo.yml create mode 100644 fixtures/vcr_cassettes/legacy_user_search.yml create mode 100644 test/factories/organization_member.rb create mode 100644 test/factories/project_topic.rb create mode 100644 test/unit/hash_test.rb create mode 100644 test/unit/logging_test.rb create mode 100644 test/unit/persister_test.rb create mode 100644 test/unit/retriever_test.rb diff --git a/Rakefile b/Rakefile index d4fddb7..9c445e8 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,7 @@ require 'byebug' Rake::TestTask.new do |t| t.libs << 'test' t.libs << 'lib/ghtorrent' - t.test_files = FileList['test/*_test.rb'] + t.test_files = FileList['test/*_test.rb', 'test/*/*_test.rb'] end desc "Run tests" @@ -15,7 +15,7 @@ task :default => [:rdoc] desc "Run Rdoc" Rake::RDocTask.new(:rdoc) do |rd| -# rd.main = "README.doc" + # rd.main = "README.doc" rd.rdoc_files.include("lib/**/*.rb") rd.options << "-d" rd.options << "-x migrations" diff --git a/fixtures/vcr_cassettes/github_get_branch_diff.yml b/fixtures/vcr_cassettes/github_get_branch_diff.yml new file mode 100644 index 0000000..32c38de --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_branch_diff.yml @@ -0,0 +1,103 @@ +--- +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 new file mode 100644 index 0000000..9f28a1b --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_commit_comments.yml @@ -0,0 +1,305 @@ +--- +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 new file mode 100644 index 0000000..f4e66b8 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_events.yml @@ -0,0 +1,1880 @@ +--- +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 index 6102d71..06e155d 100644 --- a/fixtures/vcr_cassettes/github_get_followers.yml +++ b/fixtures/vcr_cassettes/github_get_followers.yml @@ -233,4 +233,156 @@ http_interactions: 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 new file mode 100644 index 0000000..fdff3ee --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_issue_labels.yml @@ -0,0 +1,82 @@ +--- +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 new file mode 100644 index 0000000..dff4be7 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_org_members.yml @@ -0,0 +1,79 @@ +--- +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_forks.yml b/fixtures/vcr_cassettes/github_get_repo_forks.yml new file mode 100644 index 0000000..e8f95d6 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_forks.yml @@ -0,0 +1,233 @@ +--- +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 new file mode 100644 index 0000000..6db7899 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_issue_comments.yml @@ -0,0 +1,229 @@ +--- +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 new file mode 100644 index 0000000..70d8ef1 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_issue_events.yml @@ -0,0 +1,229 @@ +--- +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 new file mode 100644 index 0000000..0e7d7d1 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_issues.yml @@ -0,0 +1,393 @@ +--- +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 new file mode 100644 index 0000000..c6cb10b --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_labels.yml @@ -0,0 +1,785 @@ +--- +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 new file mode 100644 index 0000000..3950e13 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_languages.yml @@ -0,0 +1,81 @@ +--- +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 new file mode 100644 index 0000000..c6c965c --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_prs.yml @@ -0,0 +1,701 @@ +--- +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 new file mode 100644 index 0000000..6fc04c3 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_topics.yml @@ -0,0 +1,155 @@ +--- +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 new file mode 100644 index 0000000..3231f39 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_repo_watchers.yml @@ -0,0 +1,234 @@ +--- +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 new file mode 100644 index 0000000..da2c666 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user.yml @@ -0,0 +1,230 @@ +--- +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 new file mode 100644 index 0000000..4c66af0 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user_by_email.yml @@ -0,0 +1,679 @@ +--- +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 new file mode 100644 index 0000000..a57de35 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user_commits.yml @@ -0,0 +1,326 @@ +--- +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 new file mode 100644 index 0000000..f2a1b0e --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user_following.yml @@ -0,0 +1,155 @@ +--- +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 new file mode 100644 index 0000000..828cb9a --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user_organizations.yml @@ -0,0 +1,234 @@ +--- +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 new file mode 100644 index 0000000..a5df292 --- /dev/null +++ b/fixtures/vcr_cassettes/github_get_user_repo.yml @@ -0,0 +1,151 @@ +--- +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 new file mode 100644 index 0000000..69731f4 --- /dev/null +++ b/fixtures/vcr_cassettes/legacy_user_search.yml @@ -0,0 +1,158 @@ +--- +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/test/factories/organization_member.rb b/test/factories/organization_member.rb new file mode 100644 index 0000000..7300e03 --- /dev/null +++ b/test/factories/organization_member.rb @@ -0,0 +1,9 @@ +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 index 6a4a79b..7808b15 100644 --- a/test/factories/project.rb +++ b/test/factories/project.rb @@ -7,7 +7,7 @@ "#{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} + description {Faker::Lorem.paragraph[0..254]} language {Faker::ProgrammingLanguage.name } created_at { Time.now.utc.strftime('%F %T') } forked_from nil diff --git a/test/factories/project_topic.rb b/test/factories/project_topic.rb new file mode 100644 index 0000000..44dddc2 --- /dev/null +++ b/test/factories/project_topic.rb @@ -0,0 +1,9 @@ +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/pull_requests_test.rb b/test/pull_requests_test.rb index 9f1bdbe..c88c236 100644 --- a/test/pull_requests_test.rb +++ b/test/pull_requests_test.rb @@ -417,7 +417,6 @@ class GhtPullRequestTest 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 diff --git a/test/unit/hash_test.rb b/test/unit/hash_test.rb new file mode 100644 index 0000000..c939a83 --- /dev/null +++ b/test/unit/hash_test.rb @@ -0,0 +1,22 @@ +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/logging_test.rb b/test/unit/logging_test.rb new file mode 100644 index 0000000..502dc82 --- /dev/null +++ b/test/unit/logging_test.rb @@ -0,0 +1,59 @@ +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 + 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/persister_test.rb b/test/unit/persister_test.rb new file mode 100644 index 0000000..f2fcc77 --- /dev/null +++ b/test/unit/persister_test.rb @@ -0,0 +1,18 @@ +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/retriever_test.rb b/test/unit/retriever_test.rb new file mode 100644 index 0000000..8d26842 --- /dev/null +++ b/test/unit/retriever_test.rb @@ -0,0 +1,758 @@ +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