Skip to content

Commit 4b8f3ea

Browse files
committed
Make exception constructors package scoped, better test coverage
1 parent 7847bea commit 4b8f3ea

9 files changed

Lines changed: 123 additions & 29 deletions

File tree

gcloud-java-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ public BigQueryException(int code, String message) {
4747
this(code, message, (Throwable) null);
4848
}
4949

50-
private BigQueryException(int code, String message, Throwable cause) {
50+
BigQueryException(int code, String message, Throwable cause) {
5151
super(code, message, null, true, cause);
5252
this.error = null;
5353
}
5454

55-
public BigQueryException(int code, String message, BigQueryError error) {
55+
BigQueryException(int code, String message, BigQueryError error) {
5656
super(code, message, error != null ? error.reason() : null, true);
5757
this.error = error;
5858
}

gcloud-java-bigquery/src/test/java/com/google/cloud/bigquery/BigQueryExceptionTest.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static org.junit.Assert.assertEquals;
2424
import static org.junit.Assert.assertFalse;
2525
import static org.junit.Assert.assertNull;
26+
import static org.junit.Assert.assertSame;
2627
import static org.junit.Assert.assertTrue;
2728

2829
import com.google.cloud.BaseServiceException;
@@ -86,13 +87,24 @@ public void testBigqueryException() {
8687
assertTrue(exception.retryable());
8788
assertTrue(exception.idempotent());
8889

89-
IOException cause = new SocketTimeoutException();
90+
IOException cause = new SocketTimeoutException("socketTimeoutMessage");
9091
exception = new BigQueryException(cause);
92+
assertEquals(BigQueryException.UNKNOWN_CODE, exception.code());
9193
assertNull(exception.reason());
92-
assertNull(exception.getMessage());
94+
assertEquals("socketTimeoutMessage", exception.getMessage());
95+
assertEquals(cause, exception.getCause());
9396
assertTrue(exception.retryable());
9497
assertTrue(exception.idempotent());
95-
assertEquals(cause, exception.getCause());
98+
assertSame(cause, exception.getCause());
99+
100+
exception = new BigQueryException(504, "message", cause);
101+
assertEquals(504, exception.code());
102+
assertEquals("message", exception.getMessage());
103+
assertNull(exception.reason());
104+
assertNull(exception.error());
105+
assertTrue(exception.retryable());
106+
assertTrue(exception.idempotent());
107+
assertSame(cause, exception.getCause());
96108
}
97109

98110
@Test
@@ -123,7 +135,7 @@ public void testTranslateAndThrow() throws Exception {
123135
assertEquals("message", ex.getMessage());
124136
assertFalse(ex.retryable());
125137
assertTrue(ex.idempotent());
126-
assertEquals(cause, ex.getCause());
138+
assertSame(cause, ex.getCause());
127139
} finally {
128140
verify(exceptionMock);
129141
}

gcloud-java-datastore/src/main/java/com/google/cloud/datastore/DatastoreException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class DatastoreException extends BaseServiceException {
3737
new Error(10, "ABORTED"), new Error(4, "DEADLINE_EXCEEDED"), new Error(14, "UNAVAILABLE"));
3838
private static final long serialVersionUID = 2663750991205874435L;
3939

40-
public DatastoreException(int code, String message, String reason) {
40+
DatastoreException(int code, String message, String reason) {
4141
this(code, message, reason, null);
4242
}
4343

gcloud-java-datastore/src/test/java/com/google/cloud/datastore/DatastoreExceptionTest.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static org.junit.Assert.assertEquals;
2424
import static org.junit.Assert.assertFalse;
2525
import static org.junit.Assert.assertNull;
26+
import static org.junit.Assert.assertSame;
2627
import static org.junit.Assert.assertTrue;
2728
import static org.junit.Assert.fail;
2829

@@ -66,12 +67,23 @@ public void testDatastoreException() throws Exception {
6667
assertFalse(exception.retryable());
6768
assertTrue(exception.idempotent());
6869

69-
IOException cause = new SocketTimeoutException();
70+
IOException cause = new SocketTimeoutException("socketTimeoutMessage");
7071
exception = new DatastoreException(cause);
72+
assertEquals(DatastoreException.UNKNOWN_CODE, exception.code());
7173
assertNull(exception.reason());
72-
assertNull(exception.getMessage());
74+
assertEquals("socketTimeoutMessage", exception.getMessage());
75+
assertEquals(cause, exception.getCause());
7376
assertTrue(exception.retryable());
7477
assertTrue(exception.idempotent());
78+
assertSame(cause, exception.getCause());
79+
80+
exception = new DatastoreException(2, "message", "INTERNAL", cause);
81+
assertEquals(2, exception.code());
82+
assertEquals("INTERNAL", exception.reason());
83+
assertEquals("message", exception.getMessage());
84+
assertFalse(exception.retryable());
85+
assertTrue(exception.idempotent());
86+
assertSame(cause, exception.getCause());
7587
}
7688

7789
@Test
@@ -103,7 +115,7 @@ public void testTranslateAndThrow() throws Exception {
103115
assertEquals("message", ex.getMessage());
104116
assertFalse(ex.retryable());
105117
assertTrue(ex.idempotent());
106-
assertEquals(cause, ex.getCause());
118+
assertSame(cause, ex.getCause());
107119
} finally {
108120
verify(exceptionMock);
109121
}

gcloud-java-dns/src/test/java/com/google/cloud/dns/DnsExceptionTest.java

Lines changed: 64 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,87 @@
1616

1717
package com.google.cloud.dns;
1818

19-
import com.google.cloud.BaseServiceException;
20-
import com.google.cloud.RetryHelper.RetryHelperException;
21-
22-
import org.junit.Test;
23-
24-
import java.io.IOException;
25-
import java.net.SocketTimeoutException;
26-
2719
import static org.easymock.EasyMock.createMock;
2820
import static org.easymock.EasyMock.expect;
2921
import static org.easymock.EasyMock.replay;
3022
import static org.easymock.EasyMock.verify;
3123
import static org.junit.Assert.assertEquals;
3224
import static org.junit.Assert.assertFalse;
3325
import static org.junit.Assert.assertNull;
26+
import static org.junit.Assert.assertSame;
3427
import static org.junit.Assert.assertTrue;
3528

29+
import com.google.api.client.googleapis.json.GoogleJsonError;
30+
import com.google.cloud.BaseServiceException;
31+
import com.google.cloud.RetryHelper.RetryHelperException;
32+
33+
import org.junit.Test;
34+
35+
import java.io.IOException;
36+
import java.net.SocketTimeoutException;
37+
3638
public class DnsExceptionTest {
3739

3840
@Test
3941
public void testDnsException() throws Exception {
40-
IOException cause = new SocketTimeoutException("message");
41-
DnsException exception = new DnsException(cause, true);
42-
assertEquals(DnsException.UNKNOWN_CODE, exception.code());
42+
IOException cause = new SocketTimeoutException("socketTimeoutMessage");
43+
DnsException exception = new DnsException(500, "message", cause);
44+
assertEquals(500, exception.code());
45+
assertEquals("message", exception.getMessage());
4346
assertNull(exception.reason());
47+
assertTrue(exception.retryable());
48+
assertTrue(exception.idempotent());
49+
assertSame(cause, exception.getCause());
50+
51+
exception = new DnsException(502, "message", cause);
52+
assertEquals(502, exception.code());
4453
assertEquals("message", exception.getMessage());
54+
assertNull(exception.reason());
55+
assertTrue(exception.retryable());
56+
assertTrue(exception.idempotent());
57+
assertSame(cause, exception.getCause());
58+
59+
exception = new DnsException(503, "message", cause);
60+
assertEquals(503, exception.code());
61+
assertEquals("message", exception.getMessage());
62+
assertNull(exception.reason());
63+
assertTrue(exception.retryable());
64+
assertTrue(exception.idempotent());
65+
assertSame(cause, exception.getCause());
66+
67+
exception = new DnsException(429, "message", cause);
68+
assertEquals(429, exception.code());
69+
assertEquals("message", exception.getMessage());
70+
assertNull(exception.reason());
71+
assertTrue(exception.retryable());
72+
assertTrue(exception.idempotent());
73+
assertSame(cause, exception.getCause());
74+
75+
exception = new DnsException(404, "message", cause);
76+
assertEquals(404, exception.code());
77+
assertEquals("message", exception.getMessage());
78+
assertNull(exception.reason());
79+
assertFalse(exception.retryable());
80+
assertTrue(exception.idempotent());
81+
assertSame(cause, exception.getCause());
82+
83+
exception = new DnsException(cause, true);
84+
assertEquals(DnsException.UNKNOWN_CODE, exception.code());
85+
assertNull(exception.reason());
86+
assertEquals("socketTimeoutMessage", exception.getMessage());
4587
assertEquals(cause, exception.getCause());
4688
assertTrue(exception.retryable());
4789
assertTrue(exception.idempotent());
90+
assertSame(cause, exception.getCause());
91+
92+
GoogleJsonError error = new GoogleJsonError();
93+
error.setCode(503);
94+
error.setMessage("message");
95+
exception = new DnsException(error, true);
96+
assertEquals(503, exception.code());
97+
assertEquals("message", exception.getMessage());
98+
assertTrue(exception.retryable());
99+
assertTrue(exception.idempotent());
48100
}
49101

50102
@Test
@@ -78,7 +130,7 @@ public void testTranslateAndThrow() throws Exception {
78130
assertEquals("message", ex.getMessage());
79131
assertFalse(ex.retryable());
80132
assertTrue(ex.idempotent());
81-
assertEquals(cause, ex.getCause());
133+
assertSame(cause, ex.getCause());
82134
} finally {
83135
verify(exceptionMock);
84136
}

gcloud-java-resourcemanager/src/main/java/com/google/cloud/resourcemanager/ResourceManagerException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ public class ResourceManagerException extends BaseServiceException {
4747
new Error(403, "variableTermLimitExceeded"));
4848
private static final long serialVersionUID = -9207194488966554136L;
4949

50-
public ResourceManagerException(int code, String message) {
50+
ResourceManagerException(int code, String message) {
5151
this(code, message, null);
5252
}
5353

54-
private ResourceManagerException(int code, String message, Throwable cause) {
54+
ResourceManagerException(int code, String message, Throwable cause) {
5555
super(code, message, null, true, cause);
5656
}
5757

gcloud-java-resourcemanager/src/test/java/com/google/cloud/resourcemanager/ResourceManagerExceptionTest.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static org.junit.Assert.assertEquals;
2424
import static org.junit.Assert.assertFalse;
2525
import static org.junit.Assert.assertNull;
26+
import static org.junit.Assert.assertSame;
2627
import static org.junit.Assert.assertTrue;
2728

2829
import com.google.cloud.BaseServiceException;
@@ -71,7 +72,15 @@ public void testResourceManagerException() {
7172
assertNull(exception.getMessage());
7273
assertTrue(exception.retryable());
7374
assertTrue(exception.idempotent());
74-
assertEquals(cause, exception.getCause());
75+
assertSame(cause, exception.getCause());
76+
77+
exception = new ResourceManagerException(404, "message", cause);
78+
assertEquals(404, exception.code());
79+
assertEquals("message", exception.getMessage());
80+
assertNull(exception.reason());
81+
assertFalse(exception.retryable());
82+
assertTrue(exception.idempotent());
83+
assertSame(cause, exception.getCause());
7584
}
7685

7786
@Test
@@ -102,7 +111,7 @@ public void testTranslateAndThrow() throws Exception {
102111
assertEquals("message", ex.getMessage());
103112
assertFalse(ex.retryable());
104113
assertTrue(ex.idempotent());
105-
assertEquals(cause, ex.getCause());
114+
assertSame(cause, ex.getCause());
106115
} finally {
107116
verify(exceptionMock);
108117
}

gcloud-java-storage/src/main/java/com/google/cloud/storage/StorageException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public StorageException(int code, String message) {
4949
this(code, message, null);
5050
}
5151

52-
private StorageException(int code, String message, Throwable cause) {
52+
StorageException(int code, String message, Throwable cause) {
5353
super(code, message, null, true, cause);
5454
}
5555

gcloud-java-storage/src/test/java/com/google/cloud/storage/StorageExceptionTest.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static org.junit.Assert.assertEquals;
2424
import static org.junit.Assert.assertFalse;
2525
import static org.junit.Assert.assertNull;
26+
import static org.junit.Assert.assertSame;
2627
import static org.junit.Assert.assertTrue;
2728

2829
import com.google.api.client.googleapis.json.GoogleJsonError;
@@ -93,7 +94,7 @@ public void testStorageException() {
9394
assertNull(exception.getMessage());
9495
assertTrue(exception.retryable());
9596
assertTrue(exception.idempotent());
96-
assertEquals(cause, exception.getCause());
97+
assertSame(cause, exception.getCause());
9798

9899
GoogleJsonError error = new GoogleJsonError();
99100
error.setCode(503);
@@ -103,6 +104,14 @@ public void testStorageException() {
103104
assertEquals("message", exception.getMessage());
104105
assertTrue(exception.retryable());
105106
assertTrue(exception.idempotent());
107+
108+
exception = new StorageException(400, "message", cause);
109+
assertEquals(400, exception.code());
110+
assertEquals("message", exception.getMessage());
111+
assertNull(exception.reason());
112+
assertFalse(exception.retryable());
113+
assertTrue(exception.idempotent());
114+
assertSame(cause, exception.getCause());
106115
}
107116

108117
@Test
@@ -133,7 +142,7 @@ public void testTranslateAndThrow() throws Exception {
133142
assertEquals("message", ex.getMessage());
134143
assertFalse(ex.retryable());
135144
assertTrue(ex.idempotent());
136-
assertEquals(cause, ex.getCause());
145+
assertSame(cause, ex.getCause());
137146
} finally {
138147
verify(exceptionMock);
139148
}

0 commit comments

Comments
 (0)