Skip to content

Inconsistent type definition and test suites for mlflow #955

Description

@yan-foto

tl;dr

The type definition for mlflow implicitly declares the name component to be case-sensitive. However, the test suite contains tests that expect names that are not in lowercase to be normalized to lowercase.

Before submitting a PR, I need feedback to know if the definition needs to be corrected or the tests.

Details

All PURL components for type mlflow are implicitly case-sensitive, because:

  1. The type definition does not explicitly set case_sensitive for name, and version to false (namespace` is prohibited), and
  2. The default value for case_sensitive is true according to the Type Definition schema

At the same time, a number tests explicitly expect that normalization converts names to lowercase, for example, the very first test case:

{
"description": "MLflow model tracked in Azure Databricks (case insensitive). Roundtrip an input purl to canonical.",
"test_group": "recommended",
"test_type": "validate",
"input": "pkg:mlflow/CreditFraud@3?repository_url=https://adb-5245952564735461.0.azuredatabricks.net/api/2.0/mlflow",
"expected_output": "pkg:mlflow/creditfraud@3?repository_url=https:%2F%2Fadb-5245952564735461.0.azuredatabricks.net%2Fapi%2F2.0%2Fmlflow",
"expected_failure": false,
"expected_message": null
},

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions