Ejemplo n.º 1
0
    def __init__(
        self,
        filepath: str,
        table_params: dict,
        metadata: Union[dict, str, Metadata],
        **kwargs,
    ):
        """Base class for validators. Not a useable,
        but used to be inherited for other validators.

        Args:
            filepath (str): path to data to validate
            table_params (dict): Parameters which define how data is validated.
            Taken from config. metadata (dict): Standard metadata for the table
            to validate.
        """
        self.filepath = filepath
        self.table_params = table_params
        self.metadata = Metadata.from_infer(metadata)
        self.metadata.set_col_type_category_from_types()

        self.response = ValidatorResult(
            result_dict=kwargs.get("result_dict"),
            validator_valid_key_name=kwargs.get("validator_valid_key_name"),
        )
Ejemplo n.º 2
0
def test_non_unique_column_names():
    with pytest.raises(ValueError):
        Metadata.from_infer({
            "name":
            "non_unique_column_test",
            "columns": [
                {
                    "name": "c1",
                    "type": "string"
                },
                {
                    "name": "c1",
                    "type": "int64"
                },
            ],
        })
Ejemplo n.º 3
0
def validate_and_enrich_metadata(metadata: Union[Metadata, dict]) -> Metadata:
    m = Metadata.from_infer(metadata)
    m = deepcopy(m)
    m.set_col_type_category_from_types()
    return m
Ejemplo n.º 4
0
def test_inferred_input_fails(fake_input):
    with pytest.raises(TypeError):
        Metadata.from_infer(fake_input)
Ejemplo n.º 5
0
def test_inferred_input_passes(monkeypatch, patch_out, fake_input):
    monkeypatch.setattr(Metadata, patch_out, lambda x: True)
    assert Metadata.from_infer(fake_input)