def METHOD_NAME(request, save_path):
    hm = HubMetadata("0.17.4", "0.8.0", "SCVI")
    assert hm.scvi_version == "0.17.4"
    assert hm.anndata_version == "0.8.0"
    assert hm.training_data_url is None
    assert hm.model_parent_module == "scvi.model"
    d = {
        "scvi_version": "0.15.4",
        "anndata_version": "0.8.1",
        "model_cls_name": "SCVI",
        "training_data_url": None,
        "model_parent_module": "bar",
    }
    hm = HubMetadata(**d)
    assert hm.scvi_version == "0.15.4"
    assert hm.anndata_version == "0.8.1"
    assert hm.training_data_url is None
    assert hm.model_parent_module == "bar"
    d = {
        "scvi_version": "0.15.4",
        "anndata_version": "0.8.1",
        "foo": "bar",
    }
    with pytest.raises(TypeError):
        hm = HubMetadata(**d)
    d = {
        "scvi_version": "0.15.4",
    }
    with pytest.raises(TypeError):
        hm = HubMetadata(**d)
    model = prep_model()
    test_save_path = os.path.join(save_path, request.node.name)
    model.save(test_save_path, overwrite=True)
    hm = HubMetadata.from_dir(
        test_save_path, anndata_version="0.9.0", model_parent_module="foo"
    )
    assert hm.scvi_version == scvi.__version__
    assert hm.anndata_version == "0.9.0"
    assert hm.training_data_url is None
    assert hm.model_parent_module == "foo"