diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index e270bb9bc..80d49123c 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -16,4 +16,4 @@ jobs: - name: Maven Download all dependencies run: mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:go-offline - name: Maven Build - run: mvn -B package --file pom.xml -DskipTests + run: mvn -B package --file pom.xml -Dtest=GistTest,UserTest diff --git a/pom.xml b/pom.xml index 26397c8ab..961703b15 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,7 @@ 3.1.11 3.1.12 true + 2.1 @@ -127,18 +128,31 @@ commons-codec 1.7 + + org.hamcrest + hamcrest + ${hamcrest.version} + test + + + + org.hamcrest + hamcrest-core + ${hamcrest.version} + test + + + org.hamcrest + hamcrest-library + ${hamcrest.version} + test + junit junit 4.12 test - - org.hamcrest - hamcrest-all - 1.3 - test - com.fasterxml.jackson.core jackson-databind @@ -197,6 +211,12 @@ ${spotbugs.version} true + + com.github.tomakehurst + wiremock-jre8-standalone + 2.24.1 + test + diff --git a/src/test/java/org/kohsuke/github/AbstractGitHubApiTestBase.java b/src/test/java/org/kohsuke/github/AbstractGitHubApiTestBase.java index a7afb38fd..f246838de 100644 --- a/src/test/java/org/kohsuke/github/AbstractGitHubApiTestBase.java +++ b/src/test/java/org/kohsuke/github/AbstractGitHubApiTestBase.java @@ -18,6 +18,7 @@ public abstract class AbstractGitHubApiTestBase extends Assert { protected GitHub gitHub; + @Before public void setUp() throws Exception { File f = new File(System.getProperty("user.home"), ".github.kohsuke2"); diff --git a/src/test/java/org/kohsuke/github/AbstractGitHubApiWireMockTest.java b/src/test/java/org/kohsuke/github/AbstractGitHubApiWireMockTest.java new file mode 100644 index 000000000..dc9eee5b2 --- /dev/null +++ b/src/test/java/org/kohsuke/github/AbstractGitHubApiWireMockTest.java @@ -0,0 +1,82 @@ +package org.kohsuke.github; + +import com.github.tomakehurst.wiremock.common.FileSource; +import com.github.tomakehurst.wiremock.common.SingleRootFileSource; +import com.github.tomakehurst.wiremock.core.WireMockConfiguration; +import com.github.tomakehurst.wiremock.extension.Parameters; +import com.github.tomakehurst.wiremock.extension.ResponseTransformer; +import com.github.tomakehurst.wiremock.http.Request; +import com.github.tomakehurst.wiremock.http.Response; +import com.github.tomakehurst.wiremock.junit.WireMockRule; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; + +import java.io.File; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; + +/** + * @author Kohsuke Kawaguchi + */ +public abstract class AbstractGitHubApiWireMockTest extends Assert { + + protected GitHub gitHub; + protected final String baseFilesClassPath = this.getClass().getName().replace('.', '/');; + protected final String baseRecordPath = "src/test/resources/" + baseFilesClassPath; + + public static WireMockRuleFactory factory = new WireMockRuleFactory(); + + @Rule + public WireMockRule githubApi = factory.getRule(WireMockConfiguration.options() + .dynamicPort() + .usingFilesUnderClasspath(baseFilesClassPath + "/api") + .extensions( + new ResponseTransformer() { + @Override + public Response transform(Request request, Response response, FileSource files, + Parameters parameters) { + try { + if ("application/json" + .equals(response.getHeaders().getContentTypeHeader().mimeTypePart())) { + // Something strange happending here... turning off for now +// return Response.Builder.like(response) +// .but() +// .body(response.getBodyAsString() +// .replace("https://api.github.com/", +// "http://localhost:" + githubApi.port() + "/") +// .replace("https://raw.githubusercontent.com/", +// "http://localhost:" + githubRaw.port() + "/") +// ) +// .build(); + } + } catch (Exception e) { + } + return response; + } + + @Override + public String getName() { + return "url-rewrite"; + } + + }) + ); + + @Before + public void prepareMockGitHub() throws Exception { + new File(baseRecordPath + "/api/mappings").mkdirs(); + new File(baseRecordPath + "/api/__files").mkdirs(); + + githubApi.stubFor(proxyAllTo("https://api.github.com/").atPriority(10)); + + githubApi.enableRecordMappings(new SingleRootFileSource(baseRecordPath + "/api/mappings"), + new SingleRootFileSource(baseRecordPath + "/api/__files")); + + gitHub = GitHubBuilder.fromEnvironment() + .withEndpoint("http://localhost:" + githubApi.port()) + .withRateLimitHandler(RateLimitHandler.FAIL) + .build(); + + } +} diff --git a/src/test/java/org/kohsuke/github/AbstractGitHubApiWithRawWireMockTest.java b/src/test/java/org/kohsuke/github/AbstractGitHubApiWithRawWireMockTest.java new file mode 100644 index 000000000..d3c9cd8b1 --- /dev/null +++ b/src/test/java/org/kohsuke/github/AbstractGitHubApiWithRawWireMockTest.java @@ -0,0 +1,40 @@ +package org.kohsuke.github; + +import com.github.tomakehurst.wiremock.common.FileSource; +import com.github.tomakehurst.wiremock.common.SingleRootFileSource; +import com.github.tomakehurst.wiremock.core.WireMockConfiguration; +import com.github.tomakehurst.wiremock.extension.Parameters; +import com.github.tomakehurst.wiremock.extension.ResponseTransformer; +import com.github.tomakehurst.wiremock.http.Request; +import com.github.tomakehurst.wiremock.http.Response; +import com.github.tomakehurst.wiremock.junit.WireMockRule; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; + +import java.io.File; + +import static com.github.tomakehurst.wiremock.client.WireMock.proxyAllTo; + +/** + * @author Kohsuke Kawaguchi + */ +public abstract class AbstractGitHubApiWithRawWireMockTest extends AbstractGitHubApiWireMockTest { + + @Rule + public WireMockRule githubRaw = factory.getRule(WireMockConfiguration.options() + .dynamicPort() + .usingFilesUnderClasspath(baseFilesClassPath + "/raw") + ); + + @Before + public void prepareMockRawGitHub() throws Exception { + new File(baseRecordPath + "/raw/mappings").mkdirs(); + new File(baseRecordPath + "/raw/__files").mkdirs(); + + githubRaw.stubFor(proxyAllTo("https://raw.githubusercontent.com/").atPriority(10)); + + githubRaw.enableRecordMappings(new SingleRootFileSource(baseRecordPath + "/raw/mappings"), + new SingleRootFileSource(baseRecordPath + "/raw/__files")); + } +} diff --git a/src/test/java/org/kohsuke/github/GistTest.java b/src/test/java/org/kohsuke/github/GistTest.java index df3baf8ee..d46f07129 100644 --- a/src/test/java/org/kohsuke/github/GistTest.java +++ b/src/test/java/org/kohsuke/github/GistTest.java @@ -1,11 +1,17 @@ package org.kohsuke.github; +import com.github.tomakehurst.wiremock.stubbing.Scenario; import org.junit.Test; +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static org.hamcrest.Matchers.notNullValue; + +import static org.hamcrest.core.Is.is; + /** * @author Kohsuke Kawaguchi */ -public class GistTest extends AbstractGitHubApiTestBase { +public class GistTest extends AbstractGitHubApiWireMockTest { /** * CRUD operation. */ @@ -18,9 +24,9 @@ public class GistTest extends AbstractGitHubApiTestBase { .file("def.txt","def") .create(); - assertNotNull(gist.getCreatedAt()); - assertNotNull(gist.getUpdatedAt()); + assertThat(gist.getCreatedAt(), is(notNullValue())); + assertNotNull(gist.getUpdatedAt()); assertNotNull(gist.getCommentsUrl()); assertNotNull(gist.getCommitsUrl()); assertNotNull(gist.getGitPullUrl()); @@ -35,8 +41,10 @@ public class GistTest extends AbstractGitHubApiTestBase { GHGist gist = gitHub.getGist("9903708"); assertEquals("rtyler",gist.getOwner().getLogin()); + gist.star(); assertTrue(gist.isStarred()); + gist.unstar(); assertFalse(gist.isStarred()); @@ -65,7 +73,7 @@ public class GistTest extends AbstractGitHubApiTestBase { assertEquals(1,gist.getFiles().size()); GHGistFile f = gist.getFile("keybase.md"); - assertEquals("text/plain", f.getType()); + assertEquals("text/markdown", f.getType()); assertEquals("Markdown", f.getLanguage()); assertTrue(f.getContent().contains("### Keybase proof")); assertNotNull(f.getContent()); diff --git a/src/test/java/org/kohsuke/github/UserTest.java b/src/test/java/org/kohsuke/github/UserTest.java index 9d1cfcbba..5a3c30395 100644 --- a/src/test/java/org/kohsuke/github/UserTest.java +++ b/src/test/java/org/kohsuke/github/UserTest.java @@ -9,7 +9,7 @@ import java.util.Set; /** * @author Kohsuke Kawaguchi */ -public class UserTest extends AbstractGitHubApiTestBase { +public class UserTest extends AbstractGitHubApiWireMockTest { @Test public void listFollowsAndFollowers() throws IOException { GHUser u = gitHub.getUser("rtyler"); diff --git a/src/test/java/org/kohsuke/github/WireMockRuleFactory.java b/src/test/java/org/kohsuke/github/WireMockRuleFactory.java new file mode 100644 index 000000000..a975f99ea --- /dev/null +++ b/src/test/java/org/kohsuke/github/WireMockRuleFactory.java @@ -0,0 +1,63 @@ +/* + * The MIT License + * + * Copyright (c) 2016 CloudBees, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + */ + +package org.kohsuke.github; + +import com.github.tomakehurst.wiremock.common.SingleRootFileSource; +import com.github.tomakehurst.wiremock.core.Options; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching; +import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; + +public class WireMockRuleFactory { + private String urlToMock = System.getProperty("wiremock.record"); + + public WireMockRule getRule(int port) { + return getRule(wireMockConfig().port(port)); + } + + public WireMockRule getRule(Options options) { + if (urlToMock != null && !urlToMock.isEmpty()) { + return new WireMockRecorderRule(options, urlToMock); + } else { + return new WireMockRule(options); + } + } + + private class WireMockRecorderRule extends WireMockRule { + //needed for WireMockRule file location + private String mappingLocation = "src/test/resources"; + + public WireMockRecorderRule(Options options, String url) { + super(options); + this.stubFor(get(urlMatching(".*")).atPriority(10).willReturn(aResponse().proxiedFrom(url))); + this.enableRecordMappings(new SingleRootFileSource(mappingLocation + "/mappings"), + new SingleRootFileSource(mappingLocation + "/__files")); + } + } +} diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-create.json b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-create.json new file mode 100644 index 000000000..0b63f7cc5 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-create.json @@ -0,0 +1,47 @@ +{ + "url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3", + "forks_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/forks", + "commits_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/commits", + "id": "bf0058f87bb7c773123bb1763a6bb9b3", + "node_id": "MDQ6R2lzdGJmMDA1OGY4N2JiN2M3NzMxMjNiYjE3NjNhNmJiOWIz", + "git_pull_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3.git", + "git_push_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3.git", + "html_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3", + "files": { + "keybase.md": { + "filename": "keybase.md", + "type": "text/markdown", + "language": "Markdown", + "raw_url": "https://gist.githubusercontent.com/bitwiseman/bf0058f87bb7c773123bb1763a6bb9b3/raw/2b68396d836af8c5b6ba905f27c4baf94ceb0ed3/keybase.md", + "size": 2131 + } + }, + "public": true, + "created_at": "2019-08-31T07:01:58Z", + "updated_at": "2019-08-31T07:01:58Z", + "description": "", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/comments", + "owner": { + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false + }, + "truncated": false +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-get.json b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-get.json new file mode 100644 index 000000000..a84c371a8 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-forks-get.json @@ -0,0 +1,40 @@ +[ + { + "url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3", + "forks_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/forks", + "commits_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/commits", + "id": "bf0058f87bb7c773123bb1763a6bb9b3", + "node_id": "MDQ6R2lzdGJmMDA1OGY4N2JiN2M3NzMxMjNiYjE3NjNhNmJiOWIz", + "git_pull_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3.git", + "git_push_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3.git", + "html_url": "https://gist.github.com/bf0058f87bb7c773123bb1763a6bb9b3", + "files": {}, + "public": true, + "created_at": "2019-08-31T07:01:58Z", + "updated_at": "2019-08-31T07:01:58Z", + "description": "", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3/comments", + "owner": { + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false + } + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-gistFile.json b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-gistFile.json new file mode 100644 index 000000000..9a8436d03 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-9903708-gistFile.json @@ -0,0 +1,82 @@ +{ + "url": "https://api.github.com/gists/9903708", + "forks_url": "https://api.github.com/gists/9903708/forks", + "commits_url": "https://api.github.com/gists/9903708/commits", + "id": "9903708", + "node_id": "MDQ6R2lzdDk5MDM3MDg=", + "git_pull_url": "https://gist.github.com/9903708.git", + "git_push_url": "https://gist.github.com/9903708.git", + "html_url": "https://gist.github.com/9903708", + "files": { + "keybase.md": { + "filename": "keybase.md", + "type": "text/markdown", + "language": "Markdown", + "raw_url": "https://gist.githubusercontent.com/rtyler/9903708/raw/2b68396d836af8c5b6ba905f27c4baf94ceb0ed3/keybase.md", + "size": 2131, + "truncated": false, + "content": "### Keybase proof\n\nI hereby claim:\n\n * I am rtyler on github.\n * I am rtyler (https://keybase.io/rtyler) on keybase.\n * I have a public key whose fingerprint is 9062 865A 46E8 C749 2BF1 88D7 1426 C7DC 3F51 E16F\n\nTo claim this, I am signing this object:\n\n```json\n{\n \"body\": {\n \"key\": {\n \"fingerprint\": \"9062865a46e8c7492bf188d71426c7dc3f51e16f\",\n \"host\": \"keybase.io\",\n \"key_id\": \"1426C7DC3F51E16F\",\n \"uid\": \"a1925d5d7f45e5b1c8bfe8959f082400\",\n \"username\": \"rtyler\"\n },\n \"service\": {\n \"name\": \"github\",\n \"username\": \"rtyler\"\n },\n \"type\": \"web_service_binding\",\n \"version\": 1\n },\n \"ctime\": 1396304500,\n \"expire_in\": 157680000,\n \"prev\": \"ad8e98eb6fbc79cea025cd2c0ccd10a01ce06fd60db9279dd1cff6db35cd88e8\",\n \"seqno\": 4,\n \"tag\": \"signature\"\n}\n```\n\nwith the PGP key whose fingerprint is\n[9062 865A 46E8 C749 2BF1 88D7 1426 C7DC 3F51 E16F](https://keybase.io/rtyler)\n(captured above as `body.key.fingerprint`), yielding the PGP signature:\n\n```\n-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1\n\nowF1kbFLHEEUxtfzElQUIqRL5QjaHGFmd2d25hoFzfWSP+DYmXlzDtHdy+zemePQ\nWrCRlBG0CNjYqulCikAKm3RJII0GIvhXOCOmTDXM9/2+x/t4h3OTUWP++dK33ysb\n1+XE1Ze/Mnot7uoxkqUeofYYvYGHx9iiB67vbFGjNhKYxZzRPGXAVZaKWBrCuc5I\nGjOVaZUYSoAwg1pos6xCwo+ReQUvbek1/+la7dXAr2Xra0mHkleEdbw3eDByImKq\nqc5MSoFKorg0wAUVBvM4xTiAFbgi3wZPu3q0BQ7ttpDXhlZB2PjR69l6cyD/x9ej\nfhB2QHYfo11pC+3L+sQQXGXLArWJJ1VtQ5YkgiU4pRi3ELzrWwddGwiaMY5xUPsO\nhqGB5iA4SGakyoSCHMdU6VhhpTTBOSYKMDOaYS1FnAmtiTKGaZl4inPgKJR5W5So\nnfo1854fWdlekdcDB2h3v9OM5hvR0yeNcK1oZvrZvxs2p6IPjU9fO98HP1aHp2ef\nf10uvrgtJml0sqeXj8nFRvPmz9Xs0c+D5OP5wvt7\n=M8xI\n-----END PGP MESSAGE-----\n\n```\n\nAnd finally, I am proving ownership of the github account by posting this as a gist.\n\n### My publicly-auditable identity:\n\nhttps://keybase.io/rtyler\n\n### From the command line:\n\nConsider the [keybase command line program](https://keybase.io/__/command_line/keybase).\n\n```bash\n# look me up\nkeybase id rtyler\n\n# encrypt a message to me\nkeybase encrypt rtyler -m 'a secret message...'\n\n# ...and more...\n```\n" + } + }, + "public": true, + "created_at": "2014-03-31T22:22:50Z", + "updated_at": "2019-08-08T03:57:56Z", + "description": "", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/9903708/comments", + "owner": { + "login": "rtyler", + "id": 26594, + "node_id": "MDQ6VXNlcjI2NTk0", + "avatar_url": "https://avatars0.githubusercontent.com/u/26594?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rtyler", + "html_url": "https://github.com/rtyler", + "followers_url": "https://api.github.com/users/rtyler/followers", + "following_url": "https://api.github.com/users/rtyler/following{/other_user}", + "gists_url": "https://api.github.com/users/rtyler/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rtyler/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rtyler/subscriptions", + "organizations_url": "https://api.github.com/users/rtyler/orgs", + "repos_url": "https://api.github.com/users/rtyler/repos", + "events_url": "https://api.github.com/users/rtyler/events{/privacy}", + "received_events_url": "https://api.github.com/users/rtyler/received_events", + "type": "User", + "site_admin": false + }, + "forks": [], + "history": [ + { + "user": { + "login": "rtyler", + "id": 26594, + "node_id": "MDQ6VXNlcjI2NTk0", + "avatar_url": "https://avatars0.githubusercontent.com/u/26594?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rtyler", + "html_url": "https://github.com/rtyler", + "followers_url": "https://api.github.com/users/rtyler/followers", + "following_url": "https://api.github.com/users/rtyler/following{/other_user}", + "gists_url": "https://api.github.com/users/rtyler/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rtyler/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rtyler/subscriptions", + "organizations_url": "https://api.github.com/users/rtyler/orgs", + "repos_url": "https://api.github.com/users/rtyler/repos", + "events_url": "https://api.github.com/users/rtyler/events{/privacy}", + "received_events_url": "https://api.github.com/users/rtyler/received_events", + "type": "User", + "site_admin": false + }, + "version": "c83695bb99506f8f043867429a6987aeab7894ec", + "committed_at": "2014-03-31T22:22:50Z", + "change_status": { + "total": 76, + "additions": 76, + "deletions": 0 + }, + "url": "https://api.github.com/gists/9903708/c83695bb99506f8f043867429a6987aeab7894ec" + } + ], + "truncated": false +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-990dad0dda5791da76e95207ed6a6f91-delete.txt b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-990dad0dda5791da76e95207ed6a6f91-delete.txt new file mode 100644 index 000000000..e69de29bb diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.txt b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.txt new file mode 100644 index 000000000..e69de29bb diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.txt b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.txt new file mode 100644 index 000000000..e69de29bb diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-create.json b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-create.json new file mode 100644 index 000000000..3eec6039d --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-gists-create.json @@ -0,0 +1,91 @@ +{ + "url": "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738", + "forks_url": "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738/forks", + "commits_url": "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738/commits", + "id": "a9b6f50c8f4e0db38cd8e12cd6e0c738", + "node_id": "MDQ6R2lzdGE5YjZmNTBjOGY0ZTBkYjM4Y2Q4ZTEyY2Q2ZTBjNzM4", + "git_pull_url": "https://gist.github.com/a9b6f50c8f4e0db38cd8e12cd6e0c738.git", + "git_push_url": "https://gist.github.com/a9b6f50c8f4e0db38cd8e12cd6e0c738.git", + "html_url": "https://gist.github.com/a9b6f50c8f4e0db38cd8e12cd6e0c738", + "files": { + "abc.txt": { + "filename": "abc.txt", + "type": "text/plain", + "language": "Text", + "raw_url": "https://gist.githubusercontent.com/bitwiseman/a9b6f50c8f4e0db38cd8e12cd6e0c738/raw/f2ba8f84ab5c1bce84a7b441cb1959cfc7093b7f/abc.txt", + "size": 3, + "truncated": false, + "content": "abc" + }, + "def.txt": { + "filename": "def.txt", + "type": "text/plain", + "language": "Text", + "raw_url": "https://gist.githubusercontent.com/bitwiseman/a9b6f50c8f4e0db38cd8e12cd6e0c738/raw/0c003832e7bfa9ca8b5c2035c9bd684a5f2623bc/def.txt", + "size": 3, + "truncated": false, + "content": "def" + } + }, + "public": false, + "created_at": "2019-08-31T06:42:55Z", + "updated_at": "2019-08-31T06:42:55Z", + "description": "Test Gist", + "comments": 0, + "user": null, + "comments_url": "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738/comments", + "owner": { + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false + }, + "forks": [], + "history": [ + { + "user": { + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false + }, + "version": "6ae1474f87d6d00bbfc8765355ad8a3aaf85aa3c", + "committed_at": "2019-08-31T06:42:54Z", + "change_status": { + "total": 2, + "additions": 2, + "deletions": 0 + }, + "url": "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738/6ae1474f87d6d00bbfc8765355ad8a3aaf85aa3c" + } + ], + "truncated": false +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-user-NzZGv.json b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-user-NzZGv.json new file mode 100644 index 000000000..da3d655bc --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/__files/body-user-NzZGv.json @@ -0,0 +1,33 @@ +{ + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false, + "name": "Liam Newman", + "company": "Cloudbees, Inc.", + "blog": "", + "location": "Seattle, WA, USA", + "email": "bitwiseman@gmail.com", + "hireable": null, + "bio": "https://twitter.com/bitwiseman", + "public_repos": 166, + "public_gists": 5, + "followers": 132, + "following": 9, + "created_at": "2012-07-11T20:38:33Z", + "updated_at": "2019-06-03T17:47:20Z" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-create.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-create.json new file mode 100644 index 000000000..4615b337b --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-create.json @@ -0,0 +1,42 @@ +{ + "id" : "39637126-0df4-3c07-9e1f-1e73df434d88", + "request" : { + "url" : "/gists/9903708/forks", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 201, + "bodyFileName" : "body-gists-9903708-forks-create.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 07:01:58 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Server" : "GitHub.com", + "Status" : "201 Created", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4974", + "X-RateLimit-Reset" : "1567238453", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "\"02d41ded1e68f60ee6434d7d14372e4a\"", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "Location" : "https://api.github.com/gists/bf0058f87bb7c773123bb1763a6bb9b3", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D806:7BE9:BD36A2:DBB104:5D6A1B5E" + } + }, + "uuid" : "39637126-0df4-3c07-9e1f-1e73df434d88" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-get.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-get.json new file mode 100644 index 000000000..9d7bd642b --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-forks-get.json @@ -0,0 +1,38 @@ +{ + "id" : "eb64bd5b-5c2c-3456-981d-895023babcb5", + "request" : { + "url" : "/gists/9903708/forks", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-gists-9903708-forks-get.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 07:02:02 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4972", + "X-RateLimit-Reset" : "1567238453", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"829b459b347f5ffd1d1be8b7f411864a\"", + "Last-Modified" : "Sat, 31 Aug 2019 07:01:58 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D806:7BE9:BD385B:DBB331:5D6A1B68" + } + }, + "uuid" : "eb64bd5b-5c2c-3456-981d-895023babcb5" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-gistFile.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-gistFile.json new file mode 100644 index 000000000..8ca38223b --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-gistFile.json @@ -0,0 +1,38 @@ +{ + "id" : "cc28f788-b923-384e-abd9-0a5ec89ba88e", + "request" : { + "url" : "/gists/9903708", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-gists-9903708-gistFile.json", + "headers" : { + "Date" : "Fri, 30 Aug 2019 23:51:28 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4961", + "X-RateLimit-Reset" : "1567212363", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"e850bf4bf8eefa116ce82bd68dc07dde\"", + "Last-Modified" : "Thu, 08 Aug 2019 03:57:56 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D3BC:9A51:149CE1E:1839942:5D69B680" + } + }, + "uuid" : "cc28f788-b923-384e-abd9-0a5ec89ba88e" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-O6pK0.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-O6pK0.json new file mode 100644 index 000000000..7df345682 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-O6pK0.json @@ -0,0 +1,37 @@ +{ + "id" : "1c70c95a-e70e-3157-b42e-421eaca2c55e", + "scenarioName": "Star Test", + "requiredScenarioState": "Gist Starred", + "newScenarioState": "Started", + "request" : { + "url" : "/gists/9903708/star", + "method" : "DELETE" + }, + "response" : { + "status" : 204, + "body" : "", + "headers" : { + "Date" : "Sun, 01 Sep 2019 02:41:15 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4997", + "X-RateLimit-Reset" : "1567308919", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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'", + "Vary" : "Accept-Encoding", + "X-GitHub-Request-Id" : "E77B:467A:1A705CB:1F4E173:5D6B2FCB" + } + }, + "uuid" : "1c70c95a-e70e-3157-b42e-421eaca2c55e" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-RRWgS.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-RRWgS.json new file mode 100644 index 000000000..a57e7469a --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-RRWgS.json @@ -0,0 +1,39 @@ +{ + "id" : "2973a1c9-ee7a-3b76-bdc9-fa3130166690", + "scenarioName": "Star Test", + "requiredScenarioState": "Gist Starred", + "request" : { + "url" : "/gists/9903708/star", + "method" : "GET" + }, + "response" : { + "status" : 204, + "body" : "", + "headers" : { + "Date" : "Sun, 01 Sep 2019 02:41:15 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4998", + "X-RateLimit-Reset" : "1567308919", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "\"edb05f57c2fc5ae1ea30b0bb50a09f48\"", + "Last-Modified" : "Sun, 01 Sep 2019 02:35:19 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "E77B:467A:1A705C3:1F4E16D:5D6B2FCB" + } + }, + "uuid" : "2973a1c9-ee7a-3b76-bdc9-fa3130166690" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-WbOVn.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-WbOVn.json new file mode 100644 index 000000000..0aae5687a --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-WbOVn.json @@ -0,0 +1,42 @@ +{ + "id" : "725fe929-9ea9-355d-bfe9-89f8bf7a9bb2", + "scenarioName": "Star Test", + "requiredScenarioState": "Started", + "newScenarioState": "Gist Starred", + "request" : { + "url" : "/gists/9903708/star", + "method" : "PUT", + "bodyPatterns" : [ { + "equalToJson" : "{}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 204, + "body" : "", + "headers" : { + "Date" : "Sun, 01 Sep 2019 02:35:19 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4999", + "X-RateLimit-Reset" : "1567308919", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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'", + "Vary" : "Accept-Encoding", + "X-GitHub-Request-Id" : "E74D:9A51:1AEB246:1F93AB5:5D6B2E67" + } + }, + "uuid" : "725fe929-9ea9-355d-bfe9-89f8bf7a9bb2" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-unstarred.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-unstarred.json new file mode 100644 index 000000000..b74e39b33 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-9903708-star-unstarred.json @@ -0,0 +1,35 @@ +{ + "id" : "ffac033c-525e-3a55-993c-14b629e4ceaf", + "scenarioName": "Star Test", + "requiredScenarioState": "Started", + "request" : { + "url" : "/gists/9903708/star", + "method" : "GET" + }, + "response" : { + "status" : 404, + "body" : "{}", + "headers" : { + "Date" : "Sat, 31 Aug 2019 07:00:18 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Server" : "GitHub.com", + "Status" : "404 Not Found", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4984", + "X-RateLimit-Reset" : "1567238418", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D806:7BE9:BD241A:DB9CE8:5D6A1B02" + } + }, + "uuid" : "ffac033c-525e-3a55-993c-14b629e4ceaf" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-990dad0dda5791da76e95207ed6a6f91-delete.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-990dad0dda5791da76e95207ed6a6f91-delete.json new file mode 100644 index 000000000..5d7735845 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-990dad0dda5791da76e95207ed6a6f91-delete.json @@ -0,0 +1,34 @@ +{ + "id" : "2e014f0e-57e2-3f65-bad6-9fd8e8bdec22", + "request" : { + "url" : "/gists/990dad0dda5791da76e95207ed6a6f91", + "method" : "DELETE" + }, + "response" : { + "status" : 204, + "bodyFileName" : "body-gists-990dad0dda5791da76e95207ed6a6f91-delete.txt", + "headers" : { + "Date" : "Sat, 31 Aug 2019 06:49:56 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4985", + "X-RateLimit-Reset" : "1567237792", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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'", + "Vary" : "Accept-Encoding", + "X-GitHub-Request-Id" : "D797:24FE:1507214:18F8CFA:5D6A1894" + } + }, + "uuid" : "2e014f0e-57e2-3f65-bad6-9fd8e8bdec22" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.json new file mode 100644 index 000000000..8f234f198 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.json @@ -0,0 +1,34 @@ +{ + "id" : "0f74e225-1959-390a-8b9c-afee6ca5807b", + "request" : { + "url" : "/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738", + "method" : "DELETE" + }, + "response" : { + "status" : 204, + "bodyFileName" : "body-gists-a9b6f50c8f4e0db38cd8e12cd6e0c738-delete.txt", + "headers" : { + "Date" : "Sat, 31 Aug 2019 06:42:55 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4992", + "X-RateLimit-Reset" : "1567237374", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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'", + "Vary" : "Accept-Encoding", + "X-GitHub-Request-Id" : "D775:9A51:16656CB:1A4CFCA:5D6A16EF" + } + }, + "uuid" : "0f74e225-1959-390a-8b9c-afee6ca5807b" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.json new file mode 100644 index 000000000..54152b04b --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.json @@ -0,0 +1,34 @@ +{ + "id" : "60a31449-0374-3cb0-96a5-b7ba9c0f8d41", + "request" : { + "url" : "/gists/bf0058f87bb7c773123bb1763a6bb9b3", + "method" : "DELETE" + }, + "response" : { + "status" : 204, + "bodyFileName" : "body-gists-bf0058f87bb7c773123bb1763a6bb9b3-delete.txt", + "headers" : { + "Date" : "Sat, 31 Aug 2019 07:02:11 GMT", + "Content-Type" : "application/octet-stream", + "Server" : "GitHub.com", + "Status" : "204 No Content", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4969", + "X-RateLimit-Reset" : "1567238453", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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'", + "Vary" : "Accept-Encoding", + "X-GitHub-Request-Id" : "D806:7BE9:BD3A90:DBB4CD:5D6A1B6C" + } + }, + "uuid" : "60a31449-0374-3cb0-96a5-b7ba9c0f8d41" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-create.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-create.json new file mode 100644 index 000000000..65887e0b6 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-gists-create.json @@ -0,0 +1,42 @@ +{ + "id" : "80d9bffe-7bf8-3a21-905f-6cfd5d79a426", + "request" : { + "url" : "/gists", + "method" : "POST", + "bodyPatterns" : [ { + "equalToJson" : "{\"public\":false,\"description\":\"Test Gist\",\"files\":{\"abc.txt\":{\"content\":\"abc\"},\"def.txt\":{\"content\":\"def\"}}}", + "ignoreArrayOrder" : true, + "ignoreExtraElements" : true + } ] + }, + "response" : { + "status" : 201, + "bodyFileName" : "body-gists-create.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 06:42:55 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Server" : "GitHub.com", + "Status" : "201 Created", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4993", + "X-RateLimit-Reset" : "1567237374", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "\"9f9259c1399e5ee0f74a9ff69a149c88\"", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "Location" : "https://api.github.com/gists/a9b6f50c8f4e0db38cd8e12cd6e0c738", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D775:9A51:166567E:1A4CF7C:5D6A16EE" + } + }, + "uuid" : "80d9bffe-7bf8-3a21-905f-6cfd5d79a426" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-user-NzZGv.json b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-user-NzZGv.json new file mode 100644 index 000000000..805b6d10e --- /dev/null +++ b/src/test/resources/org/kohsuke/github/GistTest/api/mappings/mapping-user-NzZGv.json @@ -0,0 +1,38 @@ +{ + "id" : "43893393-30ac-3185-8878-f61610311f70", + "request" : { + "url" : "/user", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-user-NzZGv.json", + "headers" : { + "Date" : "Fri, 30 Aug 2019 23:51:27 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4965", + "X-RateLimit-Reset" : "1567212363", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"bda6f9e333b12e81acab6412ba04e745\"", + "Last-Modified" : "Mon, 03 Jun 2019 17:47:20 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "D3B4:7BE9:AEE991:CAED16:5D69B67F" + } + }, + "uuid" : "43893393-30ac-3185-8878-f61610311f70" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-user-1bLFY.json b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-user-1bLFY.json new file mode 100644 index 000000000..da3d655bc --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-user-1bLFY.json @@ -0,0 +1,33 @@ +{ + "login": "bitwiseman", + "id": 1958953, + "node_id": "MDQ6VXNlcjE5NTg5NTM=", + "avatar_url": "https://avatars3.githubusercontent.com/u/1958953?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bitwiseman", + "html_url": "https://github.com/bitwiseman", + "followers_url": "https://api.github.com/users/bitwiseman/followers", + "following_url": "https://api.github.com/users/bitwiseman/following{/other_user}", + "gists_url": "https://api.github.com/users/bitwiseman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bitwiseman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bitwiseman/subscriptions", + "organizations_url": "https://api.github.com/users/bitwiseman/orgs", + "repos_url": "https://api.github.com/users/bitwiseman/repos", + "events_url": "https://api.github.com/users/bitwiseman/events{/privacy}", + "received_events_url": "https://api.github.com/users/bitwiseman/received_events", + "type": "User", + "site_admin": false, + "name": "Liam Newman", + "company": "Cloudbees, Inc.", + "blog": "", + "location": "Seattle, WA, USA", + "email": "bitwiseman@gmail.com", + "hireable": null, + "bio": "https://twitter.com/bitwiseman", + "public_repos": 166, + "public_gists": 5, + "followers": 132, + "following": 9, + "created_at": "2012-07-11T20:38:33Z", + "updated_at": "2019-06-03T17:47:20Z" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-BLR80.json b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-BLR80.json new file mode 100644 index 000000000..16ef35c48 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-BLR80.json @@ -0,0 +1,33 @@ +{ + "login": "rtyler", + "id": 26594, + "node_id": "MDQ6VXNlcjI2NTk0", + "avatar_url": "https://avatars0.githubusercontent.com/u/26594?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rtyler", + "html_url": "https://github.com/rtyler", + "followers_url": "https://api.github.com/users/rtyler/followers", + "following_url": "https://api.github.com/users/rtyler/following{/other_user}", + "gists_url": "https://api.github.com/users/rtyler/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rtyler/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rtyler/subscriptions", + "organizations_url": "https://api.github.com/users/rtyler/orgs", + "repos_url": "https://api.github.com/users/rtyler/repos", + "events_url": "https://api.github.com/users/rtyler/events{/privacy}", + "received_events_url": "https://api.github.com/users/rtyler/received_events", + "type": "User", + "site_admin": false, + "name": "R. Tyler Croy", + "company": null, + "blog": "https://brokenco.de/", + "location": "California", + "email": "rtyler@brokenco.de", + "hireable": null, + "bio": "person", + "public_repos": 239, + "public_gists": 470, + "followers": 394, + "following": 41, + "created_at": "2008-09-28T07:28:42Z", + "updated_at": "2019-04-24T00:04:36Z" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-followers-P4T5Y.json b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-followers-P4T5Y.json new file mode 100644 index 000000000..1847996c7 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-followers-P4T5Y.json @@ -0,0 +1,602 @@ +[ + { + "login": "brosner", + "id": 124, + "node_id": "MDQ6VXNlcjEyNA==", + "avatar_url": "https://avatars3.githubusercontent.com/u/124?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/brosner", + "html_url": "https://github.com/brosner", + "followers_url": "https://api.github.com/users/brosner/followers", + "following_url": "https://api.github.com/users/brosner/following{/other_user}", + "gists_url": "https://api.github.com/users/brosner/gists{/gist_id}", + "starred_url": "https://api.github.com/users/brosner/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/brosner/subscriptions", + "organizations_url": "https://api.github.com/users/brosner/orgs", + "repos_url": "https://api.github.com/users/brosner/repos", + "events_url": "https://api.github.com/users/brosner/events{/privacy}", + "received_events_url": "https://api.github.com/users/brosner/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "mde", + "id": 757, + "node_id": "MDQ6VXNlcjc1Nw==", + "avatar_url": "https://avatars1.githubusercontent.com/u/757?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mde", + "html_url": "https://github.com/mde", + "followers_url": "https://api.github.com/users/mde/followers", + "following_url": "https://api.github.com/users/mde/following{/other_user}", + "gists_url": "https://api.github.com/users/mde/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mde/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mde/subscriptions", + "organizations_url": "https://api.github.com/users/mde/orgs", + "repos_url": "https://api.github.com/users/mde/repos", + "events_url": "https://api.github.com/users/mde/events{/privacy}", + "received_events_url": "https://api.github.com/users/mde/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "coty", + "id": 1128, + "node_id": "MDQ6VXNlcjExMjg=", + "avatar_url": "https://avatars1.githubusercontent.com/u/1128?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/coty", + "html_url": "https://github.com/coty", + "followers_url": "https://api.github.com/users/coty/followers", + "following_url": "https://api.github.com/users/coty/following{/other_user}", + "gists_url": "https://api.github.com/users/coty/gists{/gist_id}", + "starred_url": "https://api.github.com/users/coty/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/coty/subscriptions", + "organizations_url": "https://api.github.com/users/coty/orgs", + "repos_url": "https://api.github.com/users/coty/repos", + "events_url": "https://api.github.com/users/coty/events{/privacy}", + "received_events_url": "https://api.github.com/users/coty/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "ericflo", + "id": 1228, + "node_id": "MDQ6VXNlcjEyMjg=", + "avatar_url": "https://avatars0.githubusercontent.com/u/1228?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ericflo", + "html_url": "https://github.com/ericflo", + "followers_url": "https://api.github.com/users/ericflo/followers", + "following_url": "https://api.github.com/users/ericflo/following{/other_user}", + "gists_url": "https://api.github.com/users/ericflo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ericflo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ericflo/subscriptions", + "organizations_url": "https://api.github.com/users/ericflo/orgs", + "repos_url": "https://api.github.com/users/ericflo/repos", + "events_url": "https://api.github.com/users/ericflo/events{/privacy}", + "received_events_url": "https://api.github.com/users/ericflo/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "edwardgeorge", + "id": 1572, + "node_id": "MDQ6VXNlcjE1NzI=", + "avatar_url": "https://avatars0.githubusercontent.com/u/1572?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/edwardgeorge", + "html_url": "https://github.com/edwardgeorge", + "followers_url": "https://api.github.com/users/edwardgeorge/followers", + "following_url": "https://api.github.com/users/edwardgeorge/following{/other_user}", + "gists_url": "https://api.github.com/users/edwardgeorge/gists{/gist_id}", + "starred_url": "https://api.github.com/users/edwardgeorge/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/edwardgeorge/subscriptions", + "organizations_url": "https://api.github.com/users/edwardgeorge/orgs", + "repos_url": "https://api.github.com/users/edwardgeorge/repos", + "events_url": "https://api.github.com/users/edwardgeorge/events{/privacy}", + "received_events_url": "https://api.github.com/users/edwardgeorge/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "teej", + "id": 1796, + "node_id": "MDQ6VXNlcjE3OTY=", + "avatar_url": "https://avatars1.githubusercontent.com/u/1796?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/teej", + "html_url": "https://github.com/teej", + "followers_url": "https://api.github.com/users/teej/followers", + "following_url": "https://api.github.com/users/teej/following{/other_user}", + "gists_url": "https://api.github.com/users/teej/gists{/gist_id}", + "starred_url": "https://api.github.com/users/teej/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/teej/subscriptions", + "organizations_url": "https://api.github.com/users/teej/orgs", + "repos_url": "https://api.github.com/users/teej/repos", + "events_url": "https://api.github.com/users/teej/events{/privacy}", + "received_events_url": "https://api.github.com/users/teej/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "baron", + "id": 2617, + "node_id": "MDQ6VXNlcjI2MTc=", + "avatar_url": "https://avatars3.githubusercontent.com/u/2617?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/baron", + "html_url": "https://github.com/baron", + "followers_url": "https://api.github.com/users/baron/followers", + "following_url": "https://api.github.com/users/baron/following{/other_user}", + "gists_url": "https://api.github.com/users/baron/gists{/gist_id}", + "starred_url": "https://api.github.com/users/baron/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/baron/subscriptions", + "organizations_url": "https://api.github.com/users/baron/orgs", + "repos_url": "https://api.github.com/users/baron/repos", + "events_url": "https://api.github.com/users/baron/events{/privacy}", + "received_events_url": "https://api.github.com/users/baron/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "dhou", + "id": 4307, + "node_id": "MDQ6VXNlcjQzMDc=", + "avatar_url": "https://avatars2.githubusercontent.com/u/4307?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/dhou", + "html_url": "https://github.com/dhou", + "followers_url": "https://api.github.com/users/dhou/followers", + "following_url": "https://api.github.com/users/dhou/following{/other_user}", + "gists_url": "https://api.github.com/users/dhou/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dhou/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dhou/subscriptions", + "organizations_url": "https://api.github.com/users/dhou/orgs", + "repos_url": "https://api.github.com/users/dhou/repos", + "events_url": "https://api.github.com/users/dhou/events{/privacy}", + "received_events_url": "https://api.github.com/users/dhou/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "admc", + "id": 5144, + "node_id": "MDQ6VXNlcjUxNDQ=", + "avatar_url": "https://avatars3.githubusercontent.com/u/5144?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/admc", + "html_url": "https://github.com/admc", + "followers_url": "https://api.github.com/users/admc/followers", + "following_url": "https://api.github.com/users/admc/following{/other_user}", + "gists_url": "https://api.github.com/users/admc/gists{/gist_id}", + "starred_url": "https://api.github.com/users/admc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/admc/subscriptions", + "organizations_url": "https://api.github.com/users/admc/orgs", + "repos_url": "https://api.github.com/users/admc/repos", + "events_url": "https://api.github.com/users/admc/events{/privacy}", + "received_events_url": "https://api.github.com/users/admc/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "brunojm", + "id": 5225, + "node_id": "MDQ6VXNlcjUyMjU=", + "avatar_url": "https://avatars3.githubusercontent.com/u/5225?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/brunojm", + "html_url": "https://github.com/brunojm", + "followers_url": "https://api.github.com/users/brunojm/followers", + "following_url": "https://api.github.com/users/brunojm/following{/other_user}", + "gists_url": "https://api.github.com/users/brunojm/gists{/gist_id}", + "starred_url": "https://api.github.com/users/brunojm/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/brunojm/subscriptions", + "organizations_url": "https://api.github.com/users/brunojm/orgs", + "repos_url": "https://api.github.com/users/brunojm/repos", + "events_url": "https://api.github.com/users/brunojm/events{/privacy}", + "received_events_url": "https://api.github.com/users/brunojm/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "haslup", + "id": 8447, + "node_id": "MDQ6VXNlcjg0NDc=", + "avatar_url": "https://avatars1.githubusercontent.com/u/8447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/haslup", + "html_url": "https://github.com/haslup", + "followers_url": "https://api.github.com/users/haslup/followers", + "following_url": "https://api.github.com/users/haslup/following{/other_user}", + "gists_url": "https://api.github.com/users/haslup/gists{/gist_id}", + "starred_url": "https://api.github.com/users/haslup/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/haslup/subscriptions", + "organizations_url": "https://api.github.com/users/haslup/orgs", + "repos_url": "https://api.github.com/users/haslup/repos", + "events_url": "https://api.github.com/users/haslup/events{/privacy}", + "received_events_url": "https://api.github.com/users/haslup/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "jakedahn", + "id": 8596, + "node_id": "MDQ6VXNlcjg1OTY=", + "avatar_url": "https://avatars3.githubusercontent.com/u/8596?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jakedahn", + "html_url": "https://github.com/jakedahn", + "followers_url": "https://api.github.com/users/jakedahn/followers", + "following_url": "https://api.github.com/users/jakedahn/following{/other_user}", + "gists_url": "https://api.github.com/users/jakedahn/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jakedahn/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jakedahn/subscriptions", + "organizations_url": "https://api.github.com/users/jakedahn/orgs", + "repos_url": "https://api.github.com/users/jakedahn/repos", + "events_url": "https://api.github.com/users/jakedahn/events{/privacy}", + "received_events_url": "https://api.github.com/users/jakedahn/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "simonw", + "id": 9599, + "node_id": "MDQ6VXNlcjk1OTk=", + "avatar_url": "https://avatars0.githubusercontent.com/u/9599?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/simonw", + "html_url": "https://github.com/simonw", + "followers_url": "https://api.github.com/users/simonw/followers", + "following_url": "https://api.github.com/users/simonw/following{/other_user}", + "gists_url": "https://api.github.com/users/simonw/gists{/gist_id}", + "starred_url": "https://api.github.com/users/simonw/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/simonw/subscriptions", + "organizations_url": "https://api.github.com/users/simonw/orgs", + "repos_url": "https://api.github.com/users/simonw/repos", + "events_url": "https://api.github.com/users/simonw/events{/privacy}", + "received_events_url": "https://api.github.com/users/simonw/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "philippp", + "id": 10235, + "node_id": "MDQ6VXNlcjEwMjM1", + "avatar_url": "https://avatars2.githubusercontent.com/u/10235?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/philippp", + "html_url": "https://github.com/philippp", + "followers_url": "https://api.github.com/users/philippp/followers", + "following_url": "https://api.github.com/users/philippp/following{/other_user}", + "gists_url": "https://api.github.com/users/philippp/gists{/gist_id}", + "starred_url": "https://api.github.com/users/philippp/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/philippp/subscriptions", + "organizations_url": "https://api.github.com/users/philippp/orgs", + "repos_url": "https://api.github.com/users/philippp/repos", + "events_url": "https://api.github.com/users/philippp/events{/privacy}", + "received_events_url": "https://api.github.com/users/philippp/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "bastos", + "id": 11134, + "node_id": "MDQ6VXNlcjExMTM0", + "avatar_url": "https://avatars1.githubusercontent.com/u/11134?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bastos", + "html_url": "https://github.com/bastos", + "followers_url": "https://api.github.com/users/bastos/followers", + "following_url": "https://api.github.com/users/bastos/following{/other_user}", + "gists_url": "https://api.github.com/users/bastos/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bastos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bastos/subscriptions", + "organizations_url": "https://api.github.com/users/bastos/orgs", + "repos_url": "https://api.github.com/users/bastos/repos", + "events_url": "https://api.github.com/users/bastos/events{/privacy}", + "received_events_url": "https://api.github.com/users/bastos/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "atl", + "id": 12243, + "node_id": "MDQ6VXNlcjEyMjQz", + "avatar_url": "https://avatars3.githubusercontent.com/u/12243?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/atl", + "html_url": "https://github.com/atl", + "followers_url": "https://api.github.com/users/atl/followers", + "following_url": "https://api.github.com/users/atl/following{/other_user}", + "gists_url": "https://api.github.com/users/atl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/atl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/atl/subscriptions", + "organizations_url": "https://api.github.com/users/atl/orgs", + "repos_url": "https://api.github.com/users/atl/repos", + "events_url": "https://api.github.com/users/atl/events{/privacy}", + "received_events_url": "https://api.github.com/users/atl/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "chromakode", + "id": 16893, + "node_id": "MDQ6VXNlcjE2ODkz", + "avatar_url": "https://avatars1.githubusercontent.com/u/16893?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/chromakode", + "html_url": "https://github.com/chromakode", + "followers_url": "https://api.github.com/users/chromakode/followers", + "following_url": "https://api.github.com/users/chromakode/following{/other_user}", + "gists_url": "https://api.github.com/users/chromakode/gists{/gist_id}", + "starred_url": "https://api.github.com/users/chromakode/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/chromakode/subscriptions", + "organizations_url": "https://api.github.com/users/chromakode/orgs", + "repos_url": "https://api.github.com/users/chromakode/repos", + "events_url": "https://api.github.com/users/chromakode/events{/privacy}", + "received_events_url": "https://api.github.com/users/chromakode/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "mikegray", + "id": 17547, + "node_id": "MDQ6VXNlcjE3NTQ3", + "avatar_url": "https://avatars1.githubusercontent.com/u/17547?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mikegray", + "html_url": "https://github.com/mikegray", + "followers_url": "https://api.github.com/users/mikegray/followers", + "following_url": "https://api.github.com/users/mikegray/following{/other_user}", + "gists_url": "https://api.github.com/users/mikegray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mikegray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mikegray/subscriptions", + "organizations_url": "https://api.github.com/users/mikegray/orgs", + "repos_url": "https://api.github.com/users/mikegray/repos", + "events_url": "https://api.github.com/users/mikegray/events{/privacy}", + "received_events_url": "https://api.github.com/users/mikegray/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "jorgenpt", + "id": 21258, + "node_id": "MDQ6VXNlcjIxMjU4", + "avatar_url": "https://avatars1.githubusercontent.com/u/21258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jorgenpt", + "html_url": "https://github.com/jorgenpt", + "followers_url": "https://api.github.com/users/jorgenpt/followers", + "following_url": "https://api.github.com/users/jorgenpt/following{/other_user}", + "gists_url": "https://api.github.com/users/jorgenpt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jorgenpt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jorgenpt/subscriptions", + "organizations_url": "https://api.github.com/users/jorgenpt/orgs", + "repos_url": "https://api.github.com/users/jorgenpt/repos", + "events_url": "https://api.github.com/users/jorgenpt/events{/privacy}", + "received_events_url": "https://api.github.com/users/jorgenpt/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "rodbegbie", + "id": 21818, + "node_id": "MDQ6VXNlcjIxODE4", + "avatar_url": "https://avatars1.githubusercontent.com/u/21818?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rodbegbie", + "html_url": "https://github.com/rodbegbie", + "followers_url": "https://api.github.com/users/rodbegbie/followers", + "following_url": "https://api.github.com/users/rodbegbie/following{/other_user}", + "gists_url": "https://api.github.com/users/rodbegbie/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rodbegbie/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rodbegbie/subscriptions", + "organizations_url": "https://api.github.com/users/rodbegbie/orgs", + "repos_url": "https://api.github.com/users/rodbegbie/repos", + "events_url": "https://api.github.com/users/rodbegbie/events{/privacy}", + "received_events_url": "https://api.github.com/users/rodbegbie/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "philippWassibauer", + "id": 22848, + "node_id": "MDQ6VXNlcjIyODQ4", + "avatar_url": "https://avatars1.githubusercontent.com/u/22848?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/philippWassibauer", + "html_url": "https://github.com/philippWassibauer", + "followers_url": "https://api.github.com/users/philippWassibauer/followers", + "following_url": "https://api.github.com/users/philippWassibauer/following{/other_user}", + "gists_url": "https://api.github.com/users/philippWassibauer/gists{/gist_id}", + "starred_url": "https://api.github.com/users/philippWassibauer/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/philippWassibauer/subscriptions", + "organizations_url": "https://api.github.com/users/philippWassibauer/orgs", + "repos_url": "https://api.github.com/users/philippWassibauer/repos", + "events_url": "https://api.github.com/users/philippWassibauer/events{/privacy}", + "received_events_url": "https://api.github.com/users/philippWassibauer/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "imlucas", + "id": 23074, + "node_id": "MDQ6VXNlcjIzMDc0", + "avatar_url": "https://avatars3.githubusercontent.com/u/23074?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/imlucas", + "html_url": "https://github.com/imlucas", + "followers_url": "https://api.github.com/users/imlucas/followers", + "following_url": "https://api.github.com/users/imlucas/following{/other_user}", + "gists_url": "https://api.github.com/users/imlucas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/imlucas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/imlucas/subscriptions", + "organizations_url": "https://api.github.com/users/imlucas/orgs", + "repos_url": "https://api.github.com/users/imlucas/repos", + "events_url": "https://api.github.com/users/imlucas/events{/privacy}", + "received_events_url": "https://api.github.com/users/imlucas/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "resmo", + "id": 23809, + "node_id": "MDQ6VXNlcjIzODA5", + "avatar_url": "https://avatars1.githubusercontent.com/u/23809?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/resmo", + "html_url": "https://github.com/resmo", + "followers_url": "https://api.github.com/users/resmo/followers", + "following_url": "https://api.github.com/users/resmo/following{/other_user}", + "gists_url": "https://api.github.com/users/resmo/gists{/gist_id}", + "starred_url": "https://api.github.com/users/resmo/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/resmo/subscriptions", + "organizations_url": "https://api.github.com/users/resmo/orgs", + "repos_url": "https://api.github.com/users/resmo/repos", + "events_url": "https://api.github.com/users/resmo/events{/privacy}", + "received_events_url": "https://api.github.com/users/resmo/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "zeljkofilipin", + "id": 23927, + "node_id": "MDQ6VXNlcjIzOTI3", + "avatar_url": "https://avatars3.githubusercontent.com/u/23927?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/zeljkofilipin", + "html_url": "https://github.com/zeljkofilipin", + "followers_url": "https://api.github.com/users/zeljkofilipin/followers", + "following_url": "https://api.github.com/users/zeljkofilipin/following{/other_user}", + "gists_url": "https://api.github.com/users/zeljkofilipin/gists{/gist_id}", + "starred_url": "https://api.github.com/users/zeljkofilipin/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/zeljkofilipin/subscriptions", + "organizations_url": "https://api.github.com/users/zeljkofilipin/orgs", + "repos_url": "https://api.github.com/users/zeljkofilipin/repos", + "events_url": "https://api.github.com/users/zeljkofilipin/events{/privacy}", + "received_events_url": "https://api.github.com/users/zeljkofilipin/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "kidd", + "id": 25607, + "node_id": "MDQ6VXNlcjI1NjA3", + "avatar_url": "https://avatars2.githubusercontent.com/u/25607?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kidd", + "html_url": "https://github.com/kidd", + "followers_url": "https://api.github.com/users/kidd/followers", + "following_url": "https://api.github.com/users/kidd/following{/other_user}", + "gists_url": "https://api.github.com/users/kidd/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kidd/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kidd/subscriptions", + "organizations_url": "https://api.github.com/users/kidd/orgs", + "repos_url": "https://api.github.com/users/kidd/repos", + "events_url": "https://api.github.com/users/kidd/events{/privacy}", + "received_events_url": "https://api.github.com/users/kidd/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "supertunaman", + "id": 26306, + "node_id": "MDQ6VXNlcjI2MzA2", + "avatar_url": "https://avatars2.githubusercontent.com/u/26306?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/supertunaman", + "html_url": "https://github.com/supertunaman", + "followers_url": "https://api.github.com/users/supertunaman/followers", + "following_url": "https://api.github.com/users/supertunaman/following{/other_user}", + "gists_url": "https://api.github.com/users/supertunaman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/supertunaman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/supertunaman/subscriptions", + "organizations_url": "https://api.github.com/users/supertunaman/orgs", + "repos_url": "https://api.github.com/users/supertunaman/repos", + "events_url": "https://api.github.com/users/supertunaman/events{/privacy}", + "received_events_url": "https://api.github.com/users/supertunaman/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "temoto", + "id": 27057, + "node_id": "MDQ6VXNlcjI3MDU3", + "avatar_url": "https://avatars2.githubusercontent.com/u/27057?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/temoto", + "html_url": "https://github.com/temoto", + "followers_url": "https://api.github.com/users/temoto/followers", + "following_url": "https://api.github.com/users/temoto/following{/other_user}", + "gists_url": "https://api.github.com/users/temoto/gists{/gist_id}", + "starred_url": "https://api.github.com/users/temoto/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/temoto/subscriptions", + "organizations_url": "https://api.github.com/users/temoto/orgs", + "repos_url": "https://api.github.com/users/temoto/repos", + "events_url": "https://api.github.com/users/temoto/events{/privacy}", + "received_events_url": "https://api.github.com/users/temoto/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "andreypopp", + "id": 30594, + "node_id": "MDQ6VXNlcjMwNTk0", + "avatar_url": "https://avatars0.githubusercontent.com/u/30594?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/andreypopp", + "html_url": "https://github.com/andreypopp", + "followers_url": "https://api.github.com/users/andreypopp/followers", + "following_url": "https://api.github.com/users/andreypopp/following{/other_user}", + "gists_url": "https://api.github.com/users/andreypopp/gists{/gist_id}", + "starred_url": "https://api.github.com/users/andreypopp/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/andreypopp/subscriptions", + "organizations_url": "https://api.github.com/users/andreypopp/orgs", + "repos_url": "https://api.github.com/users/andreypopp/repos", + "events_url": "https://api.github.com/users/andreypopp/events{/privacy}", + "received_events_url": "https://api.github.com/users/andreypopp/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "anditosan", + "id": 34474, + "node_id": "MDQ6VXNlcjM0NDc0", + "avatar_url": "https://avatars2.githubusercontent.com/u/34474?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/anditosan", + "html_url": "https://github.com/anditosan", + "followers_url": "https://api.github.com/users/anditosan/followers", + "following_url": "https://api.github.com/users/anditosan/following{/other_user}", + "gists_url": "https://api.github.com/users/anditosan/gists{/gist_id}", + "starred_url": "https://api.github.com/users/anditosan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/anditosan/subscriptions", + "organizations_url": "https://api.github.com/users/anditosan/orgs", + "repos_url": "https://api.github.com/users/anditosan/repos", + "events_url": "https://api.github.com/users/anditosan/events{/privacy}", + "received_events_url": "https://api.github.com/users/anditosan/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "3rdman", + "id": 36356, + "node_id": "MDQ6VXNlcjM2MzU2", + "avatar_url": "https://avatars2.githubusercontent.com/u/36356?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/3rdman", + "html_url": "https://github.com/3rdman", + "followers_url": "https://api.github.com/users/3rdman/followers", + "following_url": "https://api.github.com/users/3rdman/following{/other_user}", + "gists_url": "https://api.github.com/users/3rdman/gists{/gist_id}", + "starred_url": "https://api.github.com/users/3rdman/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/3rdman/subscriptions", + "organizations_url": "https://api.github.com/users/3rdman/orgs", + "repos_url": "https://api.github.com/users/3rdman/repos", + "events_url": "https://api.github.com/users/3rdman/events{/privacy}", + "received_events_url": "https://api.github.com/users/3rdman/received_events", + "type": "User", + "site_admin": false + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-following-CvHcw.json b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-following-CvHcw.json new file mode 100644 index 000000000..c4d515343 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/__files/body-users-rtyler-following-CvHcw.json @@ -0,0 +1,602 @@ +[ + { + "login": "aphyr", + "id": 3748, + "node_id": "MDQ6VXNlcjM3NDg=", + "avatar_url": "https://avatars3.githubusercontent.com/u/3748?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/aphyr", + "html_url": "https://github.com/aphyr", + "followers_url": "https://api.github.com/users/aphyr/followers", + "following_url": "https://api.github.com/users/aphyr/following{/other_user}", + "gists_url": "https://api.github.com/users/aphyr/gists{/gist_id}", + "starred_url": "https://api.github.com/users/aphyr/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/aphyr/subscriptions", + "organizations_url": "https://api.github.com/users/aphyr/orgs", + "repos_url": "https://api.github.com/users/aphyr/repos", + "events_url": "https://api.github.com/users/aphyr/events{/privacy}", + "received_events_url": "https://api.github.com/users/aphyr/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "jeremyd", + "id": 4072, + "node_id": "MDQ6VXNlcjQwNzI=", + "avatar_url": "https://avatars3.githubusercontent.com/u/4072?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jeremyd", + "html_url": "https://github.com/jeremyd", + "followers_url": "https://api.github.com/users/jeremyd/followers", + "following_url": "https://api.github.com/users/jeremyd/following{/other_user}", + "gists_url": "https://api.github.com/users/jeremyd/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jeremyd/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jeremyd/subscriptions", + "organizations_url": "https://api.github.com/users/jeremyd/orgs", + "repos_url": "https://api.github.com/users/jeremyd/repos", + "events_url": "https://api.github.com/users/jeremyd/events{/privacy}", + "received_events_url": "https://api.github.com/users/jeremyd/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "admc", + "id": 5144, + "node_id": "MDQ6VXNlcjUxNDQ=", + "avatar_url": "https://avatars3.githubusercontent.com/u/5144?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/admc", + "html_url": "https://github.com/admc", + "followers_url": "https://api.github.com/users/admc/followers", + "following_url": "https://api.github.com/users/admc/following{/other_user}", + "gists_url": "https://api.github.com/users/admc/gists{/gist_id}", + "starred_url": "https://api.github.com/users/admc/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/admc/subscriptions", + "organizations_url": "https://api.github.com/users/admc/orgs", + "repos_url": "https://api.github.com/users/admc/repos", + "events_url": "https://api.github.com/users/admc/events{/privacy}", + "received_events_url": "https://api.github.com/users/admc/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "headius", + "id": 10135, + "node_id": "MDQ6VXNlcjEwMTM1", + "avatar_url": "https://avatars3.githubusercontent.com/u/10135?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/headius", + "html_url": "https://github.com/headius", + "followers_url": "https://api.github.com/users/headius/followers", + "following_url": "https://api.github.com/users/headius/following{/other_user}", + "gists_url": "https://api.github.com/users/headius/gists{/gist_id}", + "starred_url": "https://api.github.com/users/headius/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/headius/subscriptions", + "organizations_url": "https://api.github.com/users/headius/orgs", + "repos_url": "https://api.github.com/users/headius/repos", + "events_url": "https://api.github.com/users/headius/events{/privacy}", + "received_events_url": "https://api.github.com/users/headius/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "atl", + "id": 12243, + "node_id": "MDQ6VXNlcjEyMjQz", + "avatar_url": "https://avatars3.githubusercontent.com/u/12243?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/atl", + "html_url": "https://github.com/atl", + "followers_url": "https://api.github.com/users/atl/followers", + "following_url": "https://api.github.com/users/atl/following{/other_user}", + "gists_url": "https://api.github.com/users/atl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/atl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/atl/subscriptions", + "organizations_url": "https://api.github.com/users/atl/orgs", + "repos_url": "https://api.github.com/users/atl/repos", + "events_url": "https://api.github.com/users/atl/events{/privacy}", + "received_events_url": "https://api.github.com/users/atl/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "ice799", + "id": 21102, + "node_id": "MDQ6VXNlcjIxMTAy", + "avatar_url": "https://avatars2.githubusercontent.com/u/21102?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ice799", + "html_url": "https://github.com/ice799", + "followers_url": "https://api.github.com/users/ice799/followers", + "following_url": "https://api.github.com/users/ice799/following{/other_user}", + "gists_url": "https://api.github.com/users/ice799/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ice799/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ice799/subscriptions", + "organizations_url": "https://api.github.com/users/ice799/orgs", + "repos_url": "https://api.github.com/users/ice799/repos", + "events_url": "https://api.github.com/users/ice799/events{/privacy}", + "received_events_url": "https://api.github.com/users/ice799/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "jorgenpt", + "id": 21258, + "node_id": "MDQ6VXNlcjIxMjU4", + "avatar_url": "https://avatars1.githubusercontent.com/u/21258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jorgenpt", + "html_url": "https://github.com/jorgenpt", + "followers_url": "https://api.github.com/users/jorgenpt/followers", + "following_url": "https://api.github.com/users/jorgenpt/following{/other_user}", + "gists_url": "https://api.github.com/users/jorgenpt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jorgenpt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jorgenpt/subscriptions", + "organizations_url": "https://api.github.com/users/jorgenpt/orgs", + "repos_url": "https://api.github.com/users/jorgenpt/repos", + "events_url": "https://api.github.com/users/jorgenpt/events{/privacy}", + "received_events_url": "https://api.github.com/users/jorgenpt/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "rodbegbie", + "id": 21818, + "node_id": "MDQ6VXNlcjIxODE4", + "avatar_url": "https://avatars1.githubusercontent.com/u/21818?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/rodbegbie", + "html_url": "https://github.com/rodbegbie", + "followers_url": "https://api.github.com/users/rodbegbie/followers", + "following_url": "https://api.github.com/users/rodbegbie/following{/other_user}", + "gists_url": "https://api.github.com/users/rodbegbie/gists{/gist_id}", + "starred_url": "https://api.github.com/users/rodbegbie/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/rodbegbie/subscriptions", + "organizations_url": "https://api.github.com/users/rodbegbie/orgs", + "repos_url": "https://api.github.com/users/rodbegbie/repos", + "events_url": "https://api.github.com/users/rodbegbie/events{/privacy}", + "received_events_url": "https://api.github.com/users/rodbegbie/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "chergert", + "id": 25676, + "node_id": "MDQ6VXNlcjI1Njc2", + "avatar_url": "https://avatars2.githubusercontent.com/u/25676?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/chergert", + "html_url": "https://github.com/chergert", + "followers_url": "https://api.github.com/users/chergert/followers", + "following_url": "https://api.github.com/users/chergert/following{/other_user}", + "gists_url": "https://api.github.com/users/chergert/gists{/gist_id}", + "starred_url": "https://api.github.com/users/chergert/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/chergert/subscriptions", + "organizations_url": "https://api.github.com/users/chergert/orgs", + "repos_url": "https://api.github.com/users/chergert/repos", + "events_url": "https://api.github.com/users/chergert/events{/privacy}", + "received_events_url": "https://api.github.com/users/chergert/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "migueldeicaza", + "id": 36863, + "node_id": "MDQ6VXNlcjM2ODYz", + "avatar_url": "https://avatars2.githubusercontent.com/u/36863?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/migueldeicaza", + "html_url": "https://github.com/migueldeicaza", + "followers_url": "https://api.github.com/users/migueldeicaza/followers", + "following_url": "https://api.github.com/users/migueldeicaza/following{/other_user}", + "gists_url": "https://api.github.com/users/migueldeicaza/gists{/gist_id}", + "starred_url": "https://api.github.com/users/migueldeicaza/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/migueldeicaza/subscriptions", + "organizations_url": "https://api.github.com/users/migueldeicaza/orgs", + "repos_url": "https://api.github.com/users/migueldeicaza/repos", + "events_url": "https://api.github.com/users/migueldeicaza/events{/privacy}", + "received_events_url": "https://api.github.com/users/migueldeicaza/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "teepark", + "id": 37182, + "node_id": "MDQ6VXNlcjM3MTgy", + "avatar_url": "https://avatars3.githubusercontent.com/u/37182?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/teepark", + "html_url": "https://github.com/teepark", + "followers_url": "https://api.github.com/users/teepark/followers", + "following_url": "https://api.github.com/users/teepark/following{/other_user}", + "gists_url": "https://api.github.com/users/teepark/gists{/gist_id}", + "starred_url": "https://api.github.com/users/teepark/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/teepark/subscriptions", + "organizations_url": "https://api.github.com/users/teepark/orgs", + "repos_url": "https://api.github.com/users/teepark/repos", + "events_url": "https://api.github.com/users/teepark/events{/privacy}", + "received_events_url": "https://api.github.com/users/teepark/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "paulbaumgart", + "id": 47379, + "node_id": "MDQ6VXNlcjQ3Mzc5", + "avatar_url": "https://avatars3.githubusercontent.com/u/47379?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/paulbaumgart", + "html_url": "https://github.com/paulbaumgart", + "followers_url": "https://api.github.com/users/paulbaumgart/followers", + "following_url": "https://api.github.com/users/paulbaumgart/following{/other_user}", + "gists_url": "https://api.github.com/users/paulbaumgart/gists{/gist_id}", + "starred_url": "https://api.github.com/users/paulbaumgart/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/paulbaumgart/subscriptions", + "organizations_url": "https://api.github.com/users/paulbaumgart/orgs", + "repos_url": "https://api.github.com/users/paulbaumgart/repos", + "events_url": "https://api.github.com/users/paulbaumgart/events{/privacy}", + "received_events_url": "https://api.github.com/users/paulbaumgart/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "kohsuke", + "id": 50003, + "node_id": "MDQ6VXNlcjUwMDAz", + "avatar_url": "https://avatars1.githubusercontent.com/u/50003?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kohsuke", + "html_url": "https://github.com/kohsuke", + "followers_url": "https://api.github.com/users/kohsuke/followers", + "following_url": "https://api.github.com/users/kohsuke/following{/other_user}", + "gists_url": "https://api.github.com/users/kohsuke/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kohsuke/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kohsuke/subscriptions", + "organizations_url": "https://api.github.com/users/kohsuke/orgs", + "repos_url": "https://api.github.com/users/kohsuke/repos", + "events_url": "https://api.github.com/users/kohsuke/events{/privacy}", + "received_events_url": "https://api.github.com/users/kohsuke/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "i386", + "id": 50156, + "node_id": "MDQ6VXNlcjUwMTU2", + "avatar_url": "https://avatars2.githubusercontent.com/u/50156?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/i386", + "html_url": "https://github.com/i386", + "followers_url": "https://api.github.com/users/i386/followers", + "following_url": "https://api.github.com/users/i386/following{/other_user}", + "gists_url": "https://api.github.com/users/i386/gists{/gist_id}", + "starred_url": "https://api.github.com/users/i386/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/i386/subscriptions", + "organizations_url": "https://api.github.com/users/i386/orgs", + "repos_url": "https://api.github.com/users/i386/repos", + "events_url": "https://api.github.com/users/i386/events{/privacy}", + "received_events_url": "https://api.github.com/users/i386/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "ironpython", + "id": 63615, + "node_id": "MDQ6VXNlcjYzNjE1", + "avatar_url": "https://avatars0.githubusercontent.com/u/63615?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ironpython", + "html_url": "https://github.com/ironpython", + "followers_url": "https://api.github.com/users/ironpython/followers", + "following_url": "https://api.github.com/users/ironpython/following{/other_user}", + "gists_url": "https://api.github.com/users/ironpython/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ironpython/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ironpython/subscriptions", + "organizations_url": "https://api.github.com/users/ironpython/orgs", + "repos_url": "https://api.github.com/users/ironpython/repos", + "events_url": "https://api.github.com/users/ironpython/events{/privacy}", + "received_events_url": "https://api.github.com/users/ironpython/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "thehar", + "id": 64139, + "node_id": "MDQ6VXNlcjY0MTM5", + "avatar_url": "https://avatars1.githubusercontent.com/u/64139?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/thehar", + "html_url": "https://github.com/thehar", + "followers_url": "https://api.github.com/users/thehar/followers", + "following_url": "https://api.github.com/users/thehar/following{/other_user}", + "gists_url": "https://api.github.com/users/thehar/gists{/gist_id}", + "starred_url": "https://api.github.com/users/thehar/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/thehar/subscriptions", + "organizations_url": "https://api.github.com/users/thehar/orgs", + "repos_url": "https://api.github.com/users/thehar/repos", + "events_url": "https://api.github.com/users/thehar/events{/privacy}", + "received_events_url": "https://api.github.com/users/thehar/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "breckinloggins", + "id": 71640, + "node_id": "MDQ6VXNlcjcxNjQw", + "avatar_url": "https://avatars1.githubusercontent.com/u/71640?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/breckinloggins", + "html_url": "https://github.com/breckinloggins", + "followers_url": "https://api.github.com/users/breckinloggins/followers", + "following_url": "https://api.github.com/users/breckinloggins/following{/other_user}", + "gists_url": "https://api.github.com/users/breckinloggins/gists{/gist_id}", + "starred_url": "https://api.github.com/users/breckinloggins/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/breckinloggins/subscriptions", + "organizations_url": "https://api.github.com/users/breckinloggins/orgs", + "repos_url": "https://api.github.com/users/breckinloggins/repos", + "events_url": "https://api.github.com/users/breckinloggins/events{/privacy}", + "received_events_url": "https://api.github.com/users/breckinloggins/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "ngandhy", + "id": 76397, + "node_id": "MDQ6VXNlcjc2Mzk3", + "avatar_url": "https://avatars1.githubusercontent.com/u/76397?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ngandhy", + "html_url": "https://github.com/ngandhy", + "followers_url": "https://api.github.com/users/ngandhy/followers", + "following_url": "https://api.github.com/users/ngandhy/following{/other_user}", + "gists_url": "https://api.github.com/users/ngandhy/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ngandhy/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ngandhy/subscriptions", + "organizations_url": "https://api.github.com/users/ngandhy/orgs", + "repos_url": "https://api.github.com/users/ngandhy/repos", + "events_url": "https://api.github.com/users/ngandhy/events{/privacy}", + "received_events_url": "https://api.github.com/users/ngandhy/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "cheetahtemplate", + "id": 80304, + "node_id": "MDQ6VXNlcjgwMzA0", + "avatar_url": "https://avatars3.githubusercontent.com/u/80304?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/cheetahtemplate", + "html_url": "https://github.com/cheetahtemplate", + "followers_url": "https://api.github.com/users/cheetahtemplate/followers", + "following_url": "https://api.github.com/users/cheetahtemplate/following{/other_user}", + "gists_url": "https://api.github.com/users/cheetahtemplate/gists{/gist_id}", + "starred_url": "https://api.github.com/users/cheetahtemplate/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/cheetahtemplate/subscriptions", + "organizations_url": "https://api.github.com/users/cheetahtemplate/orgs", + "repos_url": "https://api.github.com/users/cheetahtemplate/repos", + "events_url": "https://api.github.com/users/cheetahtemplate/events{/privacy}", + "received_events_url": "https://api.github.com/users/cheetahtemplate/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "frxxbase-xx", + "id": 81274, + "node_id": "MDQ6VXNlcjgxMjc0", + "avatar_url": "https://avatars1.githubusercontent.com/u/81274?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/frxxbase-xx", + "html_url": "https://github.com/frxxbase-xx", + "followers_url": "https://api.github.com/users/frxxbase-xx/followers", + "following_url": "https://api.github.com/users/frxxbase-xx/following{/other_user}", + "gists_url": "https://api.github.com/users/frxxbase-xx/gists{/gist_id}", + "starred_url": "https://api.github.com/users/frxxbase-xx/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/frxxbase-xx/subscriptions", + "organizations_url": "https://api.github.com/users/frxxbase-xx/orgs", + "repos_url": "https://api.github.com/users/frxxbase-xx/repos", + "events_url": "https://api.github.com/users/frxxbase-xx/events{/privacy}", + "received_events_url": "https://api.github.com/users/frxxbase-xx/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "alanharder", + "id": 113800, + "node_id": "MDQ6VXNlcjExMzgwMA==", + "avatar_url": "https://avatars2.githubusercontent.com/u/113800?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/alanharder", + "html_url": "https://github.com/alanharder", + "followers_url": "https://api.github.com/users/alanharder/followers", + "following_url": "https://api.github.com/users/alanharder/following{/other_user}", + "gists_url": "https://api.github.com/users/alanharder/gists{/gist_id}", + "starred_url": "https://api.github.com/users/alanharder/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/alanharder/subscriptions", + "organizations_url": "https://api.github.com/users/alanharder/orgs", + "repos_url": "https://api.github.com/users/alanharder/repos", + "events_url": "https://api.github.com/users/alanharder/events{/privacy}", + "received_events_url": "https://api.github.com/users/alanharder/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "abayer", + "id": 120218, + "node_id": "MDQ6VXNlcjEyMDIxOA==", + "avatar_url": "https://avatars2.githubusercontent.com/u/120218?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/abayer", + "html_url": "https://github.com/abayer", + "followers_url": "https://api.github.com/users/abayer/followers", + "following_url": "https://api.github.com/users/abayer/following{/other_user}", + "gists_url": "https://api.github.com/users/abayer/gists{/gist_id}", + "starred_url": "https://api.github.com/users/abayer/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/abayer/subscriptions", + "organizations_url": "https://api.github.com/users/abayer/orgs", + "repos_url": "https://api.github.com/users/abayer/repos", + "events_url": "https://api.github.com/users/abayer/events{/privacy}", + "received_events_url": "https://api.github.com/users/abayer/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "lolgzs", + "id": 127150, + "node_id": "MDQ6VXNlcjEyNzE1MA==", + "avatar_url": "https://avatars1.githubusercontent.com/u/127150?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/lolgzs", + "html_url": "https://github.com/lolgzs", + "followers_url": "https://api.github.com/users/lolgzs/followers", + "following_url": "https://api.github.com/users/lolgzs/following{/other_user}", + "gists_url": "https://api.github.com/users/lolgzs/gists{/gist_id}", + "starred_url": "https://api.github.com/users/lolgzs/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/lolgzs/subscriptions", + "organizations_url": "https://api.github.com/users/lolgzs/orgs", + "repos_url": "https://api.github.com/users/lolgzs/repos", + "events_url": "https://api.github.com/users/lolgzs/events{/privacy}", + "received_events_url": "https://api.github.com/users/lolgzs/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "redterror", + "id": 131319, + "node_id": "MDQ6VXNlcjEzMTMxOQ==", + "avatar_url": "https://avatars3.githubusercontent.com/u/131319?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/redterror", + "html_url": "https://github.com/redterror", + "followers_url": "https://api.github.com/users/redterror/followers", + "following_url": "https://api.github.com/users/redterror/following{/other_user}", + "gists_url": "https://api.github.com/users/redterror/gists{/gist_id}", + "starred_url": "https://api.github.com/users/redterror/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/redterror/subscriptions", + "organizations_url": "https://api.github.com/users/redterror/orgs", + "repos_url": "https://api.github.com/users/redterror/repos", + "events_url": "https://api.github.com/users/redterror/events{/privacy}", + "received_events_url": "https://api.github.com/users/redterror/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "john-vinters", + "id": 147399, + "node_id": "MDQ6VXNlcjE0NzM5OQ==", + "avatar_url": "https://avatars0.githubusercontent.com/u/147399?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/john-vinters", + "html_url": "https://github.com/john-vinters", + "followers_url": "https://api.github.com/users/john-vinters/followers", + "following_url": "https://api.github.com/users/john-vinters/following{/other_user}", + "gists_url": "https://api.github.com/users/john-vinters/gists{/gist_id}", + "starred_url": "https://api.github.com/users/john-vinters/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/john-vinters/subscriptions", + "organizations_url": "https://api.github.com/users/john-vinters/orgs", + "repos_url": "https://api.github.com/users/john-vinters/repos", + "events_url": "https://api.github.com/users/john-vinters/events{/privacy}", + "received_events_url": "https://api.github.com/users/john-vinters/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "apture", + "id": 155217, + "node_id": "MDQ6VXNlcjE1NTIxNw==", + "avatar_url": "https://avatars2.githubusercontent.com/u/155217?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/apture", + "html_url": "https://github.com/apture", + "followers_url": "https://api.github.com/users/apture/followers", + "following_url": "https://api.github.com/users/apture/following{/other_user}", + "gists_url": "https://api.github.com/users/apture/gists{/gist_id}", + "starred_url": "https://api.github.com/users/apture/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/apture/subscriptions", + "organizations_url": "https://api.github.com/users/apture/orgs", + "repos_url": "https://api.github.com/users/apture/repos", + "events_url": "https://api.github.com/users/apture/events{/privacy}", + "received_events_url": "https://api.github.com/users/apture/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "parrt", + "id": 178777, + "node_id": "MDQ6VXNlcjE3ODc3Nw==", + "avatar_url": "https://avatars3.githubusercontent.com/u/178777?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/parrt", + "html_url": "https://github.com/parrt", + "followers_url": "https://api.github.com/users/parrt/followers", + "following_url": "https://api.github.com/users/parrt/following{/other_user}", + "gists_url": "https://api.github.com/users/parrt/gists{/gist_id}", + "starred_url": "https://api.github.com/users/parrt/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/parrt/subscriptions", + "organizations_url": "https://api.github.com/users/parrt/orgs", + "repos_url": "https://api.github.com/users/parrt/repos", + "events_url": "https://api.github.com/users/parrt/events{/privacy}", + "received_events_url": "https://api.github.com/users/parrt/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "whichlinden", + "id": 199239, + "node_id": "MDQ6VXNlcjE5OTIzOQ==", + "avatar_url": "https://avatars3.githubusercontent.com/u/199239?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/whichlinden", + "html_url": "https://github.com/whichlinden", + "followers_url": "https://api.github.com/users/whichlinden/followers", + "following_url": "https://api.github.com/users/whichlinden/following{/other_user}", + "gists_url": "https://api.github.com/users/whichlinden/gists{/gist_id}", + "starred_url": "https://api.github.com/users/whichlinden/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/whichlinden/subscriptions", + "organizations_url": "https://api.github.com/users/whichlinden/orgs", + "repos_url": "https://api.github.com/users/whichlinden/repos", + "events_url": "https://api.github.com/users/whichlinden/events{/privacy}", + "received_events_url": "https://api.github.com/users/whichlinden/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "jasonrubenstein", + "id": 207600, + "node_id": "MDQ6VXNlcjIwNzYwMA==", + "avatar_url": "https://avatars1.githubusercontent.com/u/207600?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jasonrubenstein", + "html_url": "https://github.com/jasonrubenstein", + "followers_url": "https://api.github.com/users/jasonrubenstein/followers", + "following_url": "https://api.github.com/users/jasonrubenstein/following{/other_user}", + "gists_url": "https://api.github.com/users/jasonrubenstein/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jasonrubenstein/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jasonrubenstein/subscriptions", + "organizations_url": "https://api.github.com/users/jasonrubenstein/orgs", + "repos_url": "https://api.github.com/users/jasonrubenstein/repos", + "events_url": "https://api.github.com/users/jasonrubenstein/events{/privacy}", + "received_events_url": "https://api.github.com/users/jasonrubenstein/received_events", + "type": "User", + "site_admin": false + }, + { + "login": "persan", + "id": 233548, + "node_id": "MDQ6VXNlcjIzMzU0OA==", + "avatar_url": "https://avatars0.githubusercontent.com/u/233548?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/persan", + "html_url": "https://github.com/persan", + "followers_url": "https://api.github.com/users/persan/followers", + "following_url": "https://api.github.com/users/persan/following{/other_user}", + "gists_url": "https://api.github.com/users/persan/gists{/gist_id}", + "starred_url": "https://api.github.com/users/persan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/persan/subscriptions", + "organizations_url": "https://api.github.com/users/persan/orgs", + "repos_url": "https://api.github.com/users/persan/repos", + "events_url": "https://api.github.com/users/persan/events{/privacy}", + "received_events_url": "https://api.github.com/users/persan/received_events", + "type": "User", + "site_admin": false + } +] \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-user-1bLFY.json b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-user-1bLFY.json new file mode 100644 index 000000000..71e6eccfe --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-user-1bLFY.json @@ -0,0 +1,38 @@ +{ + "id" : "fcca096e-297a-376e-98ed-6dcd95f8a115", + "request" : { + "url" : "/user", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-user-1bLFY.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 08:30:32 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4999", + "X-RateLimit-Reset" : "1567243832", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"bda6f9e333b12e81acab6412ba04e745\"", + "Last-Modified" : "Mon, 03 Jun 2019 17:47:20 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "DC2B:467C:1D12039:225C038:5D6A3027" + } + }, + "uuid" : "fcca096e-297a-376e-98ed-6dcd95f8a115" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-BLR80.json b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-BLR80.json new file mode 100644 index 000000000..bc93c8c9c --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-BLR80.json @@ -0,0 +1,38 @@ +{ + "id" : "a9367515-9a26-3d33-bfe7-15a33ba9fb4f", + "request" : { + "url" : "/users/rtyler", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-users-rtyler-BLR80.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 08:30:32 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4998", + "X-RateLimit-Reset" : "1567243832", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"b6a287aa491429c4d0bbaff968492a16\"", + "Last-Modified" : "Wed, 24 Apr 2019 00:04:36 GMT", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "DC2B:467C:1D1205E:225C046:5D6A3028" + } + }, + "uuid" : "a9367515-9a26-3d33-bfe7-15a33ba9fb4f" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-followers-P4T5Y.json b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-followers-P4T5Y.json new file mode 100644 index 000000000..85488baad --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-followers-P4T5Y.json @@ -0,0 +1,38 @@ +{ + "id" : "c6afd4c1-18f2-39e9-bf62-c0a7273ea7b6", + "request" : { + "url" : "/users/rtyler/followers", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-users-rtyler-followers-P4T5Y.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 08:30:32 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4997", + "X-RateLimit-Reset" : "1567243832", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"2f07819b0234fc1d5e6186b055d76ed8\"", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Link" : "; rel=\"next\", ; rel=\"last\"", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "DC2B:467C:1D1206B:225C06E:5D6A3028" + } + }, + "uuid" : "c6afd4c1-18f2-39e9-bf62-c0a7273ea7b6" +} \ No newline at end of file diff --git a/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-following-CvHcw.json b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-following-CvHcw.json new file mode 100644 index 000000000..95a56dee8 --- /dev/null +++ b/src/test/resources/org/kohsuke/github/UserTest/api/mappings/mapping-users-rtyler-following-CvHcw.json @@ -0,0 +1,38 @@ +{ + "id" : "30e31acb-3234-3119-9694-ff3f5dc1cfa6", + "request" : { + "url" : "/users/rtyler/following", + "method" : "GET" + }, + "response" : { + "status" : 200, + "bodyFileName" : "body-users-rtyler-following-CvHcw.json", + "headers" : { + "Date" : "Sat, 31 Aug 2019 08:30:33 GMT", + "Content-Type" : "application/json; charset=utf-8", + "Transfer-Encoding" : "chunked", + "Server" : "GitHub.com", + "Status" : "200 OK", + "X-RateLimit-Limit" : "5000", + "X-RateLimit-Remaining" : "4996", + "X-RateLimit-Reset" : "1567243832", + "Cache-Control" : "private, max-age=60, s-maxage=60", + "Vary" : [ "Accept, Authorization, Cookie, X-GitHub-OTP", "Accept-Encoding" ], + "ETag" : "W/\"1046007398e98526ee953811bf9d352d\"", + "X-OAuth-Scopes" : "gist, notifications, repo", + "X-Accepted-OAuth-Scopes" : "", + "X-GitHub-Media-Type" : "unknown, github.v3", + "Link" : "; rel=\"next\", ; rel=\"last\"", + "Access-Control-Expose-Headers" : "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type", + "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-GitHub-Request-Id" : "DC2B:467C:1D12096:225C08B:5D6A3028" + } + }, + "uuid" : "30e31acb-3234-3119-9694-ff3f5dc1cfa6" +} \ No newline at end of file