kbendick commented on code in PR #4716:
URL: https://github.com/apache/iceberg/pull/4716#discussion_r876263324


##########
core/src/test/java/org/apache/iceberg/TestMetadataUpdateParser.java:
##########
@@ -251,11 +274,120 @@ public void testAddSortOrderFromJson() {
     assertEquals(action, expected, MetadataUpdateParser.fromJson(json));
   }
 
+  @Test
+  public void testSetDefaultSortOrderToJson() {
+    String action = MetadataUpdateParser.SET_DEFAULT_SORT_ORDER;
+    int sortOrderId = 2;
+    String expected = 
String.format("{\"action\":\"%s\",\"sort-order-id\":%d}", action, sortOrderId);
+    MetadataUpdate update = new 
MetadataUpdate.SetDefaultSortOrder(sortOrderId);
+    String actual = MetadataUpdateParser.toJson(update);
+    Assert.assertEquals("Set default sort order should serialize to the 
correct JSON value", expected, actual);
+  }
+
+  @Test
+  public void testSetDefaultSortOrderFromJson() {
+    String action = MetadataUpdateParser.SET_DEFAULT_SORT_ORDER;
+    int sortOrderId = 2;
+    String json = String.format("{\"action\":\"%s\",\"sort-order-id\":%d}", 
action, sortOrderId);
+    MetadataUpdate expected = new 
MetadataUpdate.SetDefaultSortOrder(sortOrderId);
+    assertEquals(action, expected, MetadataUpdateParser.fromJson(json));
+  }
+
+  // TODO - AddSnapshot tests.
+
+  // TODO - Tests that handle multiple snapshot ids.
+  @Test
+  public void testRemoveSnapshotsFromJson() {
+    String action = MetadataUpdateParser.REMOVE_SNAPSHOTS;
+    long[] snapshotIds = { 2L };
+    String json = String.format("{\"action\":\"%s\",\"snapshot-ids\":%s}", 
action, Arrays.toString(snapshotIds));
+    MetadataUpdate expected = new 
MetadataUpdate.RemoveSnapshot(snapshotIds[0]);
+    assertEquals(action, expected, MetadataUpdateParser.fromJson(json));
+  }
+
+  // TODO - Tests that handle multiple snapshot ids.
+  @Test
+  public void testRemoveSnapshotsToJson() {
+    String action = MetadataUpdateParser.REMOVE_SNAPSHOTS;
+    long[] snapshotIds = { 2L };
+    String expected = String.format("{\"action\":\"%s\",\"snapshot-ids\":%s}", 
action, Arrays.toString(snapshotIds));
+    MetadataUpdate update = new MetadataUpdate.RemoveSnapshot(snapshotIds[0]);
+    String actual = MetadataUpdateParser.toJson(update);
+    Assert.assertEquals("Remove snapshots should serialize to the correct JSON 
value", expected, actual);
+  }
+
+
+  // TODO - SetSnapshotRef tests.
+
+  @Test
+  public void testSetPropertiesFromJson() {
+    String action = MetadataUpdateParser.SET_PROPERTIES;
+    Map<String, String> props = Maps.newHashMap();
+    props.put("prop1", "val1");
+    props.put("prop2", null);
+    String propsMap = "{\"prop1\":\"val1\",\"prop2\":null}";

Review Comment:
   Changed to ImmutableMap and added a test for throwing when reading `null`.
   
   Not allowing `null` as a value _before converting to json_ seems like 
something that the `MetadataUpdate.SetProperties` class should be responsible 
for. So I only tested in `fromJson`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to