Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit fab848a

Browse filesBrowse files
nv035674vahrennd
authored andcommitted
review comments
1 parent 4a2244e commit fab848a
Copy full SHA for fab848a

File tree

Expand file treeCollapse file tree

43 files changed

+2224
-1028
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree

43 files changed

+2224
-1028
lines changed

‎src/main/java/org/kohsuke/github/GHRepository.java

Copy file name to clipboardExpand all lines: src/main/java/org/kohsuke/github/GHRepository.java
+22-5Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
3232
import org.apache.commons.lang3.StringUtils;
3333
import org.kohsuke.github.function.InputStreamFunction;
34+
import org.kohsuke.github.internal.EnumUtils;
3435

3536
import java.io.FileNotFoundException;
3637
import java.io.IOException;
@@ -49,6 +50,7 @@
4950
import java.util.Iterator;
5051
import java.util.LinkedHashSet;
5152
import java.util.List;
53+
import java.util.Locale;
5254
import java.util.Map;
5355
import java.util.Set;
5456
import java.util.TreeMap;
@@ -104,7 +106,7 @@ public class GHRepository extends GHObject {
104106
@JsonProperty("private")
105107
private boolean _private;
106108

107-
private GHVisibility visibility;
109+
private String visibility;
108110

109111
private int forks_count, stargazers_count, watchers_count, size, open_issues_count, subscribers_count;
110112

@@ -715,8 +717,17 @@ public boolean isPrivate() {
715717
/**
716718
* Visibility of a repository.
717719
*/
718-
public enum GHVisibility {
719-
PUBLIC, INTERNAL, PRIVATE
720+
public enum Visibility {
721+
PUBLIC, INTERNAL, PRIVATE, UNKNOWN;
722+
723+
public static Visibility from(String value) {
724+
return EnumUtils.getNullableEnumOrDefault(Visibility.class, value, Visibility.UNKNOWN);
725+
}
726+
727+
@Override
728+
public String toString() {
729+
return name().toLowerCase(Locale.ROOT);
730+
}
720731
}
721732

722733
/**
@@ -726,7 +737,8 @@ public enum GHVisibility {
726737
*/
727738
@Deprecated
728739
@Preview(NEBULA)
729-
public GHVisibility getVisibility() {
740+
@WithBridgeMethods(value = String.class, adapterMethod = "visibilityAsStr")
741+
public Visibility getVisibility() {
730742
if (visibility == null) {
731743
try {
732744
populate();
@@ -735,6 +747,11 @@ public GHVisibility getVisibility() {
735747
throw new GHException("Could not populate the visibility of the repository", e);
736748
}
737749
}
750+
return Visibility.from(visibility);
751+
}
752+
753+
@SuppressFBWarnings(value = "UPM_UNCALLED_PRIVATE_METHOD", justification = "Bridge method of getVisibility")
754+
private Object visibilityAsStr(Visibility visibility, Class type) {
738755
return visibility;
739756
}
740757

@@ -1240,7 +1257,7 @@ public void setPrivate(boolean value) throws IOException {
12401257
*/
12411258
@Deprecated
12421259
@Preview(NEBULA)
1243-
public void setVisibility(final GHVisibility value) throws IOException {
1260+
public void setVisibility(final Visibility value) throws IOException {
12441261
root.createRequest()
12451262
.method("PATCH")
12461263
.withPreview(NEBULA)

‎src/main/java/org/kohsuke/github/GHRepositoryBuilder.java

Copy file name to clipboardExpand all lines: src/main/java/org/kohsuke/github/GHRepositoryBuilder.java
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.kohsuke.github;
22

3-
import org.kohsuke.github.GHRepository.GHVisibility;
3+
import org.kohsuke.github.GHRepository.Visibility;
44

55
import java.io.IOException;
66
import java.net.URL;
@@ -158,7 +158,7 @@ public S private_(boolean enabled) throws IOException {
158158
* @throws IOException
159159
* In case of any networking error or error from the server.
160160
*/
161-
public S visibility(final GHVisibility visibility) throws IOException {
161+
public S visibility(final Visibility visibility) throws IOException {
162162
requester.withPreview(NEBULA);
163163
return with("visibility", visibility);
164164
}

‎src/test/java/org/kohsuke/github/EnumTest.java

Copy file name to clipboardExpand all lines: src/test/java/org/kohsuke/github/EnumTest.java
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public void touchEnums() {
7070

7171
assertThat(GHRepository.CollaboratorAffiliation.values().length, equalTo(3));
7272
assertThat(GHRepository.ForkSort.values().length, equalTo(3));
73+
assertThat(GHRepository.Visibility.values().length, equalTo(4));
7374

7475
assertThat(GHRepositorySearchBuilder.Sort.values().length, equalTo(3));
7576

‎src/test/java/org/kohsuke/github/GHRepositoryTest.java

Copy file name to clipboardExpand all lines: src/test/java/org/kohsuke/github/GHRepositoryTest.java
+20-16Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.apache.commons.io.IOUtils;
55
import org.junit.Test;
66
import org.kohsuke.github.GHCheckRun.Conclusion;
7+
import org.kohsuke.github.GHRepository.Visibility;
78

89
import java.io.ByteArrayInputStream;
910
import java.io.FileNotFoundException;
@@ -251,23 +252,26 @@ public void testUpdateRepository() throws Exception {
251252

252253
@Test
253254
public void testGetRepositoryWithVisibility() throws IOException {
254-
kohsuke();
255-
final GHUser myself = gitHub.getMyself();
255+
snapshotNotAllowed();
256256
final String repoName = "test-repo-visibility";
257-
final GHRepository repo = gitHub.createRepository(repoName)
258-
.visibility(GHRepository.GHVisibility.PUBLIC)
259-
.create();
260-
System.out.println(repo.getOwnerName());
261-
System.out.println(repo.getName());
262-
try {
263-
assertEquals(GHRepository.GHVisibility.PUBLIC, repo.getVisibility());
264-
repo.setVisibility(GHRepository.GHVisibility.PRIVATE);
265-
assertEquals(GHRepository.GHVisibility.PRIVATE, myself.getRepository(repoName).getVisibility());
266-
repo.setVisibility(GHRepository.GHVisibility.PUBLIC);
267-
assertEquals(GHRepository.GHVisibility.PUBLIC, myself.getRepository(repoName).getVisibility());
268-
} finally {
269-
repo.delete();
270-
}
257+
final GHRepository repo = getTempRepository(repoName);
258+
assertEquals(Visibility.PUBLIC, repo.getVisibility());
259+
260+
repo.setVisibility(Visibility.INTERNAL);
261+
assertEquals(Visibility.INTERNAL,
262+
gitHub.getRepository(repo.getOwnerName() + "/" + repo.getName()).getVisibility());
263+
264+
repo.setVisibility(Visibility.PRIVATE);
265+
assertEquals(Visibility.PRIVATE,
266+
gitHub.getRepository(repo.getOwnerName() + "/" + repo.getName()).getVisibility());
267+
268+
repo.setVisibility(Visibility.PUBLIC);
269+
assertEquals(Visibility.PUBLIC,
270+
gitHub.getRepository(repo.getOwnerName() + "/" + repo.getName()).getVisibility());
271+
272+
// deliberately bogus response in snapshot
273+
assertEquals(Visibility.UNKNOWN,
274+
gitHub.getRepository(repo.getOwnerName() + "/" + repo.getName()).getVisibility());
271275
}
272276

273277
@Test
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
{
2+
"id": 354063893,
3+
"node_id": "MDEwOlJlcG9zaXRvcnkzNTQwNjM4OTM=",
4+
"name": "test-repo-visibility",
5+
"full_name": "hub4j-test-org/test-repo-visibility",
6+
"private": true,
7+
"owner": {
8+
"login": "hub4j-test-org",
9+
"id": 7544739,
10+
"node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=",
11+
"avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4",
12+
"gravatar_id": "",
13+
"url": "https://api.github.com/users/hub4j-test-org",
14+
"html_url": "https://github.com/hub4j-test-org",
15+
"followers_url": "https://api.github.com/users/hub4j-test-org/followers",
16+
"following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}",
17+
"gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}",
18+
"starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}",
19+
"subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions",
20+
"organizations_url": "https://api.github.com/users/hub4j-test-org/orgs",
21+
"repos_url": "https://api.github.com/users/hub4j-test-org/repos",
22+
"events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}",
23+
"received_events_url": "https://api.github.com/users/hub4j-test-org/received_events",
24+
"type": "Organization",
25+
"site_admin": false
26+
},
27+
"html_url": "https://github.com/hub4j-test-org/test-repo-visibility",
28+
"description": "A test repository for testing the github-api project: test-repo-visibility",
29+
"fork": false,
30+
"url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility",
31+
"forks_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/forks",
32+
"keys_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/keys{/key_id}",
33+
"collaborators_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/collaborators{/collaborator}",
34+
"teams_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/teams",
35+
"hooks_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/hooks",
36+
"issue_events_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/issues/events{/number}",
37+
"events_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/events",
38+
"assignees_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/assignees{/user}",
39+
"branches_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/branches{/branch}",
40+
"tags_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/tags",
41+
"blobs_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/git/blobs{/sha}",
42+
"git_tags_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/git/tags{/sha}",
43+
"git_refs_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/git/refs{/sha}",
44+
"trees_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/git/trees{/sha}",
45+
"statuses_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/statuses/{sha}",
46+
"languages_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/languages",
47+
"stargazers_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/stargazers",
48+
"contributors_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/contributors",
49+
"subscribers_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/subscribers",
50+
"subscription_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/subscription",
51+
"commits_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/commits{/sha}",
52+
"git_commits_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/git/commits{/sha}",
53+
"comments_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/comments{/number}",
54+
"issue_comment_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/issues/comments{/number}",
55+
"contents_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/contents/{+path}",
56+
"compare_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/compare/{base}...{head}",
57+
"merges_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/merges",
58+
"archive_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/{archive_format}{/ref}",
59+
"downloads_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/downloads",
60+
"issues_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/issues{/number}",
61+
"pulls_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/pulls{/number}",
62+
"milestones_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/milestones{/number}",
63+
"notifications_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/notifications{?since,all,participating}",
64+
"labels_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/labels{/name}",
65+
"releases_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/releases{/id}",
66+
"deployments_url": "https://api.github.com/repos/hub4j-test-org/test-repo-visibility/deployments",
67+
"created_at": "2021-04-02T15:48:41Z",
68+
"updated_at": "2021-04-02T15:48:48Z",
69+
"pushed_at": "2021-04-02T15:48:42Z",
70+
"git_url": "git://github.com/hub4j-test-org/test-repo-visibility.git",
71+
"ssh_url": "git@github.com:hub4j-test-org/test-repo-visibility.git",
72+
"clone_url": "https://github.com/hub4j-test-org/test-repo-visibility.git",
73+
"svn_url": "https://github.com/hub4j-test-org/test-repo-visibility",
74+
"homepage": "http://github-api.kohsuke.org/",
75+
"size": 0,
76+
"stargazers_count": 0,
77+
"watchers_count": 0,
78+
"language": null,
79+
"has_issues": true,
80+
"has_projects": true,
81+
"has_downloads": true,
82+
"has_wiki": true,
83+
"has_pages": false,
84+
"forks_count": 0,
85+
"mirror_url": null,
86+
"archived": false,
87+
"disabled": false,
88+
"open_issues_count": 0,
89+
"license": null,
90+
"visibility": "public",
91+
"forks": 0,
92+
"open_issues": 0,
93+
"watchers": 0,
94+
"default_branch": "main",
95+
"permissions": {
96+
"admin": true,
97+
"push": true,
98+
"pull": true
99+
},
100+
"allow_squash_merge": true,
101+
"allow_merge_commit": true,
102+
"allow_rebase_merge": true,
103+
"delete_branch_on_merge": false,
104+
"organization": {
105+
"login": "hub4j-test-org",
106+
"id": 7544739,
107+
"node_id": "MDEyOk9yZ2FuaXphdGlvbjc1NDQ3Mzk=",
108+
"avatar_url": "https://avatars.githubusercontent.com/u/7544739?v=4",
109+
"gravatar_id": "",
110+
"url": "https://api.github.com/users/hub4j-test-org",
111+
"html_url": "https://github.com/hub4j-test-org",
112+
"followers_url": "https://api.github.com/users/hub4j-test-org/followers",
113+
"following_url": "https://api.github.com/users/hub4j-test-org/following{/other_user}",
114+
"gists_url": "https://api.github.com/users/hub4j-test-org/gists{/gist_id}",
115+
"starred_url": "https://api.github.com/users/hub4j-test-org/starred{/owner}{/repo}",
116+
"subscriptions_url": "https://api.github.com/users/hub4j-test-org/subscriptions",
117+
"organizations_url": "https://api.github.com/users/hub4j-test-org/orgs",
118+
"repos_url": "https://api.github.com/users/hub4j-test-org/repos",
119+
"events_url": "https://api.github.com/users/hub4j-test-org/events{/privacy}",
120+
"received_events_url": "https://api.github.com/users/hub4j-test-org/received_events",
121+
"type": "Organization",
122+
"site_admin": false
123+
},
124+
"network_count": 0,
125+
"subscribers_count": 11
126+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.