Skip to content
This repository was archived by the owner on Jul 31, 2025. It is now read-only.

Commit ed76cdb

Browse files
author
MerkushevKirill
committed
fix for GH Enterprise which does not have rate limit reset field
Fixes regression from a4c1c8d
1 parent b976e0e commit ed76cdb

2 files changed

Lines changed: 24 additions & 8 deletions

File tree

src/main/java/org/kohsuke/github/GitHub.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import java.util.Map;
4646
import java.util.Set;
4747
import java.util.TimeZone;
48+
import java.util.concurrent.TimeUnit;
4849

4950
import org.apache.commons.codec.binary.Base64;
5051

@@ -248,6 +249,7 @@ public GHRateLimit getRateLimit() throws IOException {
248249
// see issue #78
249250
GHRateLimit r = new GHRateLimit();
250251
r.limit = r.remaining = 1000000;
252+
r.reset = new Date(System.currentTimeMillis() + TimeUnit.HOURS.toMillis(1));
251253
return r;
252254
}
253255
}

src/test/java/org/kohsuke/github/GitHubTest.java

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
package org.kohsuke.github;
22

3+
import java.io.FileNotFoundException;
34
import java.io.IOException;
45
import java.lang.reflect.Field;
56
import java.util.Collections;
67
import java.util.HashMap;
78
import java.util.Map;
8-
import java.util.Properties;
99

10-
import junit.framework.TestCase;
10+
import org.junit.Test;
11+
12+
import static org.hamcrest.CoreMatchers.notNullValue;
13+
import static org.hamcrest.MatcherAssert.assertThat;
14+
import static org.junit.Assert.assertEquals;
15+
import static org.mockito.Mockito.spy;
16+
import static org.mockito.Mockito.when;
1117

1218
/**
1319
* Unit test for {@link GitHub}.
1420
*/
15-
public class GitHubTest extends TestCase {
16-
21+
public class GitHubTest {
22+
@Test
1723
public void testGitHubServerWithHttp() throws Exception {
1824
GitHub hub = GitHub.connectToEnterprise("http://enterprise.kohsuke.org/api/v3", "bogus","bogus");
1925
assertEquals("http://enterprise.kohsuke.org/api/v3/test", hub.getApiURL("/test").toString());
2026
}
21-
27+
@Test
2228
public void testGitHubServerWithHttps() throws Exception {
2329
GitHub hub = GitHub.connectToEnterprise("https://enterprise.kohsuke.org/api/v3", "bogus","bogus");
2430
assertEquals("https://enterprise.kohsuke.org/api/v3/test", hub.getApiURL("/test").toString());
2531
}
26-
32+
@Test
2733
public void testGitHubServerWithoutServer() throws Exception {
2834
GitHub hub = GitHub.connectUsingPassword("kohsuke", "bogus");
2935
assertEquals("https://api.github.com/test", hub.getApiURL("/test").toString());
3036
}
31-
37+
@Test
3238
public void testGitHubBuilderFromEnvironment() throws IOException {
3339

3440
Map<String, String>props = new HashMap<String, String>();
@@ -86,7 +92,7 @@ private void setupEnvironment(Map<String, String> newenv) {
8692
e1.printStackTrace();
8793
}
8894
}
89-
95+
@Test
9096
public void testGitHubBuilderFromCustomEnvironment() throws IOException {
9197
Map<String, String> props = new HashMap<String, String>();
9298

@@ -105,4 +111,12 @@ public void testGitHubBuilderFromCustomEnvironment() throws IOException {
105111
assertEquals("bogusEndpoint", builder.endpoint);
106112
}
107113

114+
@Test
115+
public void testGitHubEnterpriseDoesNotHaveRateLimit() throws IOException {
116+
GitHub github = spy(new GitHubBuilder().build());
117+
when(github.retrieve()).thenThrow(FileNotFoundException.class);
118+
119+
GHRateLimit rateLimit = github.getRateLimit();
120+
assertThat(rateLimit.getResetDate(), notNullValue());
121+
}
108122
}

0 commit comments

Comments
 (0)