Skip to content

Commit ed919c1

Browse files
authored
---
yaml --- r: 8951 b: refs/heads/lesv-patch-1 c: 4be2aed h: refs/heads/master i: 8949: 7dab2cd 8947: d618e64 8943: 12e5beb
1 parent 9d901ad commit ed919c1

3 files changed

Lines changed: 107 additions & 88 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ refs/tags/v0.22.0: 18b298fe4bfe8ec2f20b0e0bf7ffdcce5cc3c5fe
6666
refs/heads/vam-google-patch-1: d0c8fee3a4074d0bf7360ce8c4f7f7223d0ee7b9
6767
refs/heads/vam-google-patch-CODEOWNERS: 2ac1616e25229e51d08a984708ef1918f91a35ee
6868
refs/heads/danoscarmike-patch-1: 7342a9916bce4ed00002c7202e2a16c5d46afaea
69-
refs/heads/lesv-patch-1: 73b71f16d810d109b6edbd0c96770edc66f38ea9
69+
refs/heads/lesv-patch-1: 4be2aed6aa1b9a4d80384dbabbdd51d093563b92
7070
refs/heads/ml-update-branch: 079dd6610017f5c51b9d1938c12d6d55b61513cf
7171
refs/heads/vkedia-patch-2: 7d8241388a9769a5c069334761b06c7012c878e7
7272
refs/heads/vkedia-patch-3: 4d128043acaa7db9160faf439d2ca6104e8a88cb

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/InsertAllRequest.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
import com.google.common.collect.ImmutableList;
2323
import com.google.common.collect.ImmutableMap;
2424
import com.google.common.collect.Lists;
25-
2625
import java.io.Serializable;
26+
import java.util.Collections;
27+
import java.util.HashMap;
2728
import java.util.List;
2829
import java.util.Map;
2930
import java.util.Objects;
@@ -74,11 +75,18 @@ public static class RowToInsert implements Serializable {
7475
private static final long serialVersionUID = 8563060538219179157L;
7576

7677
private final String id;
78+
79+
// Always immutable, but might not be ImmutableMap, since they don't support nulls.
7780
private final Map<String, Object> content;
7881

7982
RowToInsert(String id, Map<String, ?> content) {
8083
this.id = id;
81-
this.content = ImmutableMap.copyOf(content);
84+
85+
if (content instanceof ImmutableMap) {
86+
this.content = ImmutableMap.copyOf(content);
87+
} else {
88+
this.content = Collections.unmodifiableMap(new HashMap<>(content));
89+
}
8290
}
8391

8492

@@ -89,9 +97,10 @@ public String getId() {
8997
return id;
9098
}
9199

92-
93100
/**
94101
* Returns the actual content of the row, as a map.
102+
*
103+
* <p>The returned map is always immutable. Its iteration order is unspecified.
95104
*/
96105
public Map<String, Object> getContent() {
97106
return content;

branches/lesv-patch-1/google-cloud-bigquery/src/test/java/com/google/cloud/bigquery/InsertAllRequestTest.java

Lines changed: 94 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,15 @@
1616

1717
package com.google.cloud.bigquery;
1818

19-
import static org.junit.Assert.assertEquals;
20-
import static org.junit.Assert.assertFalse;
21-
import static org.junit.Assert.assertNull;
22-
import static org.junit.Assert.assertTrue;
19+
import static com.google.common.truth.Truth.assertThat;
2320

2421
import com.google.common.collect.ImmutableList;
2522
import com.google.common.collect.ImmutableMap;
26-
27-
import org.junit.Test;
28-
23+
import java.util.Collections;
24+
import java.util.HashMap;
2925
import java.util.List;
3026
import java.util.Map;
27+
import org.junit.Test;
3128

3229
public class InsertAllRequestTest {
3330

@@ -118,88 +115,88 @@ public class InsertAllRequestTest {
118115

119116
@Test
120117
public void testBuilder() {
121-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST1.getTable());
122-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST2.getTable());
123-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST3.getTable());
124-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST4.getTable());
125-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST5.getTable());
126-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST6.getTable());
127-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST7.getTable());
128-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST8.getTable());
129-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST9.getTable());
130-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST10.getTable());
131-
assertEquals(TABLE_ID, INSERT_ALL_REQUEST11.getTable());
132-
assertEquals(ROWS, INSERT_ALL_REQUEST1.getRows());
133-
assertEquals(ROWS, INSERT_ALL_REQUEST2.getRows());
134-
assertEquals(ROWS, INSERT_ALL_REQUEST4.getRows());
135-
assertEquals(ROWS, INSERT_ALL_REQUEST6.getRows());
136-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST3.getRows());
137-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST5.getRows());
138-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST7.getRows());
139-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST8.getRows());
140-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST9.getRows());
141-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST10.getRows());
142-
assertEquals(ROWS_WITH_ID, INSERT_ALL_REQUEST11.getRows());
143-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST1.skipInvalidRows());
144-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST2.skipInvalidRows());
145-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST3.skipInvalidRows());
146-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST4.skipInvalidRows());
147-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST5.skipInvalidRows());
148-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST6.skipInvalidRows());
149-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST7.skipInvalidRows());
150-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST8.skipInvalidRows());
151-
assertEquals(SKIP_INVALID_ROWS, INSERT_ALL_REQUEST9.skipInvalidRows());
152-
assertFalse(INSERT_ALL_REQUEST10.skipInvalidRows());
153-
assertFalse(INSERT_ALL_REQUEST11.skipInvalidRows());
154-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST1.ignoreUnknownValues());
155-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST2.ignoreUnknownValues());
156-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST3.ignoreUnknownValues());
157-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST4.ignoreUnknownValues());
158-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST5.ignoreUnknownValues());
159-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST6.ignoreUnknownValues());
160-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST7.ignoreUnknownValues());
161-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST8.ignoreUnknownValues());
162-
assertEquals(IGNORE_UNKNOWN_VALUES, INSERT_ALL_REQUEST9.ignoreUnknownValues());
163-
assertTrue(INSERT_ALL_REQUEST10.ignoreUnknownValues());
164-
assertTrue(INSERT_ALL_REQUEST11.ignoreUnknownValues());
165-
assertNull(INSERT_ALL_REQUEST1.getTemplateSuffix());
166-
assertNull(INSERT_ALL_REQUEST2.getTemplateSuffix());
167-
assertNull(INSERT_ALL_REQUEST3.getTemplateSuffix());
168-
assertNull(INSERT_ALL_REQUEST4.getTemplateSuffix());
169-
assertNull(INSERT_ALL_REQUEST5.getTemplateSuffix());
170-
assertNull(INSERT_ALL_REQUEST6.getTemplateSuffix());
171-
assertNull(INSERT_ALL_REQUEST7.getTemplateSuffix());
172-
assertNull(INSERT_ALL_REQUEST8.getTemplateSuffix());
173-
assertNull(INSERT_ALL_REQUEST9.getTemplateSuffix());
174-
assertNull(INSERT_ALL_REQUEST10.getTemplateSuffix());
175-
assertEquals(TEMPLATE_SUFFIX, INSERT_ALL_REQUEST11.getTemplateSuffix());
118+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST1.getTable());
119+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST2.getTable());
120+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST3.getTable());
121+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST4.getTable());
122+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST5.getTable());
123+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST6.getTable());
124+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST7.getTable());
125+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST8.getTable());
126+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST9.getTable());
127+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST10.getTable());
128+
assertThat(TABLE_ID).isEqualTo(INSERT_ALL_REQUEST11.getTable());
129+
assertThat(ROWS).isEqualTo(INSERT_ALL_REQUEST1.getRows());
130+
assertThat(ROWS).isEqualTo(INSERT_ALL_REQUEST2.getRows());
131+
assertThat(ROWS).isEqualTo(INSERT_ALL_REQUEST4.getRows());
132+
assertThat(ROWS).isEqualTo(INSERT_ALL_REQUEST6.getRows());
133+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST3.getRows());
134+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST5.getRows());
135+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST7.getRows());
136+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST8.getRows());
137+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST9.getRows());
138+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST10.getRows());
139+
assertThat(ROWS_WITH_ID).isEqualTo(INSERT_ALL_REQUEST11.getRows());
140+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST1.skipInvalidRows());
141+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST2.skipInvalidRows());
142+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST3.skipInvalidRows());
143+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST4.skipInvalidRows());
144+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST5.skipInvalidRows());
145+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST6.skipInvalidRows());
146+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST7.skipInvalidRows());
147+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST8.skipInvalidRows());
148+
assertThat(SKIP_INVALID_ROWS).isEqualTo(INSERT_ALL_REQUEST9.skipInvalidRows());
149+
assertThat(INSERT_ALL_REQUEST10.skipInvalidRows()).isFalse();
150+
assertThat(INSERT_ALL_REQUEST11.skipInvalidRows()).isFalse();
151+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST1.ignoreUnknownValues());
152+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST2.ignoreUnknownValues());
153+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST3.ignoreUnknownValues());
154+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST4.ignoreUnknownValues());
155+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST5.ignoreUnknownValues());
156+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST6.ignoreUnknownValues());
157+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST7.ignoreUnknownValues());
158+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST8.ignoreUnknownValues());
159+
assertThat(IGNORE_UNKNOWN_VALUES).isEqualTo(INSERT_ALL_REQUEST9.ignoreUnknownValues());
160+
assertThat(INSERT_ALL_REQUEST10.ignoreUnknownValues()).isTrue();
161+
assertThat(INSERT_ALL_REQUEST11.ignoreUnknownValues()).isTrue();
162+
assertThat(INSERT_ALL_REQUEST1.getTemplateSuffix()).isNull();
163+
assertThat(INSERT_ALL_REQUEST2.getTemplateSuffix()).isNull();
164+
assertThat(INSERT_ALL_REQUEST3.getTemplateSuffix()).isNull();
165+
assertThat(INSERT_ALL_REQUEST4.getTemplateSuffix()).isNull();
166+
assertThat(INSERT_ALL_REQUEST5.getTemplateSuffix()).isNull();
167+
assertThat(INSERT_ALL_REQUEST6.getTemplateSuffix()).isNull();
168+
assertThat(INSERT_ALL_REQUEST7.getTemplateSuffix()).isNull();
169+
assertThat(INSERT_ALL_REQUEST8.getTemplateSuffix()).isNull();
170+
assertThat(INSERT_ALL_REQUEST9.getTemplateSuffix()).isNull();
171+
assertThat(INSERT_ALL_REQUEST10.getTemplateSuffix()).isNull();
172+
assertThat(TEMPLATE_SUFFIX).isEqualTo(INSERT_ALL_REQUEST11.getTemplateSuffix());
176173
}
177174

178175

179176
@Test
180177
public void testOf() {
181178
InsertAllRequest request = InsertAllRequest.of(TABLE_ID, ROWS);
182-
assertEquals(TABLE_ID, request.getTable());
183-
assertEquals(ROWS, request.getRows());
179+
assertThat(TABLE_ID).isEqualTo(request.getTable());
180+
assertThat(ROWS).isEqualTo(request.getRows());
184181
request = InsertAllRequest.of(TABLE_INFO, ROWS);
185-
assertEquals(TABLE_ID, request.getTable());
186-
assertEquals(ROWS, request.getRows());
182+
assertThat(TABLE_ID).isEqualTo(request.getTable());
183+
assertThat(ROWS).isEqualTo(request.getRows());
187184
request = InsertAllRequest.of(TABLE_ID.getDataset(), TABLE_ID.getTable(), ROWS);
188-
assertEquals(TABLE_ID, request.getTable());
189-
assertEquals(ROWS, request.getRows());
185+
assertThat(TABLE_ID).isEqualTo(request.getTable());
186+
assertThat(ROWS).isEqualTo(request.getRows());
190187
request = InsertAllRequest.of(TABLE_ID.getDataset(), TABLE_ID.getTable(), ROWS);
191-
assertEquals(TABLE_ID, request.getTable());
192-
assertEquals(ROWS, request.getRows());
188+
assertThat(TABLE_ID).isEqualTo(request.getTable());
189+
assertThat(ROWS).isEqualTo(request.getRows());
193190
request = InsertAllRequest.of(TABLE_ID, ROWS.get(0), ROWS.get(1));
194-
assertEquals(TABLE_ID, request.getTable());
195-
assertEquals(ROWS, request.getRows());
191+
assertThat(TABLE_ID).isEqualTo(request.getTable());
192+
assertThat(ROWS).isEqualTo(request.getRows());
196193
request = InsertAllRequest.of(TABLE_INFO, ROWS.get(0), ROWS.get(1));
197-
assertEquals(TABLE_ID, request.getTable());
198-
assertEquals(ROWS, request.getRows());
194+
assertThat(TABLE_ID).isEqualTo(request.getTable());
195+
assertThat(ROWS).isEqualTo(request.getRows());
199196
request =
200197
InsertAllRequest.of(TABLE_ID.getDataset(), TABLE_ID.getTable(), ROWS.get(0), ROWS.get(1));
201-
assertEquals(TABLE_ID, request.getTable());
202-
assertEquals(ROWS, request.getRows());
198+
assertThat(TABLE_ID).isEqualTo(request.getTable());
199+
assertThat(ROWS).isEqualTo(request.getRows());
203200
}
204201

205202
@Test
@@ -215,14 +212,27 @@ public void testEquals() {
215212
compareInsertAllRequest(INSERT_ALL_REQUEST11, INSERT_ALL_REQUEST11);
216213
}
217214

215+
@Test(expected=UnsupportedOperationException.class)
216+
public void testImmutable() {
217+
InsertAllRequest.RowToInsert row = InsertAllRequest.RowToInsert.of(new HashMap<String,Object>());
218+
row.getContent().put("zip", "zap");
219+
}
220+
221+
@Test
222+
public void testNullOK() {
223+
InsertAllRequest.RowToInsert row =
224+
InsertAllRequest.RowToInsert.of(Collections.singletonMap("foo", null));
225+
assertThat(row.getContent()).containsExactly("foo", null);
226+
}
227+
218228
private void compareInsertAllRequest(InsertAllRequest expected, InsertAllRequest value) {
219-
assertEquals(expected, value);
220-
assertEquals(expected.toString(), value.toString());
221-
assertEquals(expected.hashCode(), value.hashCode());
222-
assertEquals(expected.getTable(), value.getTable());
223-
assertEquals(expected.getRows(), value.getRows());
224-
assertEquals(expected.ignoreUnknownValues(), value.ignoreUnknownValues());
225-
assertEquals(expected.skipInvalidRows(), value.skipInvalidRows());
226-
assertEquals(expected.getTemplateSuffix(), value.getTemplateSuffix());
229+
assertThat(expected).isEqualTo(value);
230+
assertThat(expected.toString()).isEqualTo(value.toString());
231+
assertThat(expected.hashCode()).isEqualTo(value.hashCode());
232+
assertThat(expected.getTable()).isEqualTo(value.getTable());
233+
assertThat(expected.getRows()).isEqualTo(value.getRows());
234+
assertThat(expected.ignoreUnknownValues()).isEqualTo(value.ignoreUnknownValues());
235+
assertThat(expected.skipInvalidRows()).isEqualTo(value.skipInvalidRows());
236+
assertThat(expected.getTemplateSuffix()).isEqualTo(value.getTemplateSuffix());
227237
}
228238
}

0 commit comments

Comments
 (0)