xiaozcy commented on code in PR #7622:
URL: https://github.com/apache/gravitino/pull/7622#discussion_r2212472767


##########
catalogs/catalog-model/src/test/java/org/apache/gravtitino/catalog/model/TestModelCatalogOperations.java:
##########
@@ -637,6 +630,171 @@ public void testLinkAndListModelVersionInfos() {
                     METALAKE_NAME, CATALOG_NAME, "non-existent-schema", 
modelName)));
   }
 
+  @Test
+  public void testLinkAndGetModelVersionUriWithoutDefaultUriName() {
+    // Create schema and model
+    String schemaName = randomSchemaName();
+    createSchema(schemaName);
+
+    NameIdentifier modelIdent =
+        NameIdentifierUtil.ofModel(METALAKE_NAME, CATALOG_NAME, schemaName, 
"model");
+    StringIdentifier stringId = StringIdentifier.fromId(idGenerator.nextId());
+    Map<String, String> properties = 
StringIdentifier.newPropertiesWithId(stringId, null);
+
+    ops.registerModel(modelIdent, "model comment", properties);
+
+    // Link a model version to the registered model
+    StringIdentifier versionId = StringIdentifier.fromId(idGenerator.nextId());
+    Map<String, String> versionProperties = 
StringIdentifier.newPropertiesWithId(versionId, null);
+
+    String[] aliases = new String[] {"alias1", "alias2"};
+    Map<String, String> uris = ImmutableMap.of("n1", "u1", "n2", "u2");
+    ops.linkModelVersion(modelIdent, uris, aliases, "version comment", 
versionProperties);
+
+    Model loadedModel = ops.getModel(modelIdent);
+    Assertions.assertEquals(1, loadedModel.latestVersion());
+    ModelVersion loadedVersion = ops.getModelVersion(modelIdent, 0);
+    Assertions.assertEquals(0, loadedVersion.version());
+    Assertions.assertEquals("version comment", loadedVersion.comment());
+    Assertions.assertEquals(uris, loadedVersion.uris());
+    Assertions.assertEquals(versionProperties, loadedVersion.properties());
+
+    // Test get uri with uri name
+    Assertions.assertEquals("u1", ops.getModelVersionUri(modelIdent, 0, "n1"));
+    Assertions.assertEquals("u2", ops.getModelVersionUri(modelIdent, 0, "n2"));
+    Assertions.assertEquals("u1", ops.getModelVersionUri(modelIdent, "alias1", 
"n1"));
+    Assertions.assertEquals("u2", ops.getModelVersionUri(modelIdent, "alias1", 
"n2"));
+    Assertions.assertEquals("u1", ops.getModelVersionUri(modelIdent, "alias2", 
"n1"));
+    Assertions.assertEquals("u2", ops.getModelVersionUri(modelIdent, "alias2", 
"n2"));
+
+    // Test get uri without uri name
+    Assertions.assertThrows(
+        IllegalArgumentException.class, () -> 
ops.getModelVersionUri(modelIdent, 0, null));
+    Assertions.assertThrows(
+        IllegalArgumentException.class, () -> 
ops.getModelVersionUri(modelIdent, "alias1", null));
+    Assertions.assertThrows(
+        IllegalArgumentException.class, () -> 
ops.getModelVersionUri(modelIdent, "alias2", null));

Review Comment:
   Yes, the default uri name is not set in this test case, so 
`IllegalArgumentException` will be thrown here.



-- 
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]

Reply via email to