Exemple #1
0
def test_literal_types():
    obj = _types.LiteralType(simple=_types.SimpleType.INTEGER)
    assert obj.simple == _types.SimpleType.INTEGER
    assert obj.schema is None
    assert obj.collection_type is None
    assert obj.map_value_type is None
    assert obj == _types.LiteralType.from_flyte_idl(obj.to_flyte_idl())

    schema_type = _types.SchemaType([
        _types.SchemaType.SchemaColumn(
            "a", _types.SchemaType.SchemaColumn.SchemaColumnType.INTEGER),
        _types.SchemaType.SchemaColumn(
            "b", _types.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
        _types.SchemaType.SchemaColumn(
            "c", _types.SchemaType.SchemaColumn.SchemaColumnType.STRING),
        _types.SchemaType.SchemaColumn(
            "d", _types.SchemaType.SchemaColumn.SchemaColumnType.DATETIME),
        _types.SchemaType.SchemaColumn(
            "e", _types.SchemaType.SchemaColumn.SchemaColumnType.DURATION),
        _types.SchemaType.SchemaColumn(
            "f", _types.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN)
    ])
    obj = _types.LiteralType(schema=schema_type)
    assert obj.simple is None
    assert obj.schema == schema_type
    assert obj.collection_type is None
    assert obj.map_value_type is None
    assert obj == _types.LiteralType.from_flyte_idl(obj.to_flyte_idl())
Exemple #2
0
def test_promote_from_model_schema_type():
    m = _type_models.SchemaType([
        _type_models.SchemaType.SchemaColumn(
            "a",
            _type_models.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN),
        _type_models.SchemaType.SchemaColumn(
            "b",
            _type_models.SchemaType.SchemaColumn.SchemaColumnType.DATETIME),
        _type_models.SchemaType.SchemaColumn(
            "c",
            _type_models.SchemaType.SchemaColumn.SchemaColumnType.DURATION),
        _type_models.SchemaType.SchemaColumn(
            "d", _type_models.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
        _type_models.SchemaType.SchemaColumn(
            "e",
            _type_models.SchemaType.SchemaColumn.SchemaColumnType.INTEGER),
        _type_models.SchemaType.SchemaColumn(
            "f", _type_models.SchemaType.SchemaColumn.SchemaColumnType.STRING),
    ])
    s = _schema_impl.SchemaType.promote_from_model(m)
    assert s.columns == m.columns
    assert s.sdk_columns['a'].to_flyte_literal_type(
    ) == _primitives.Boolean.to_flyte_literal_type()
    assert s.sdk_columns['b'].to_flyte_literal_type(
    ) == _primitives.Datetime.to_flyte_literal_type()
    assert s.sdk_columns['c'].to_flyte_literal_type(
    ) == _primitives.Timedelta.to_flyte_literal_type()
    assert s.sdk_columns['d'].to_flyte_literal_type(
    ) == _primitives.Float.to_flyte_literal_type()
    assert s.sdk_columns['e'].to_flyte_literal_type(
    ) == _primitives.Integer.to_flyte_literal_type()
    assert s.sdk_columns['f'].to_flyte_literal_type(
    ) == _primitives.String.to_flyte_literal_type()
    assert s == m
Exemple #3
0
def test_promote_from_model_schema():
    m = _literal_models.Schema(
        "s3://some/place/",
        _type_models.SchemaType(
            [
                _type_models.SchemaType.SchemaColumn(
                    "a", _type_models.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN
                ),
                _type_models.SchemaType.SchemaColumn(
                    "b", _type_models.SchemaType.SchemaColumn.SchemaColumnType.DATETIME
                ),
                _type_models.SchemaType.SchemaColumn(
                    "c", _type_models.SchemaType.SchemaColumn.SchemaColumnType.DURATION
                ),
                _type_models.SchemaType.SchemaColumn("d", _type_models.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
                _type_models.SchemaType.SchemaColumn(
                    "e", _type_models.SchemaType.SchemaColumn.SchemaColumnType.INTEGER
                ),
                _type_models.SchemaType.SchemaColumn("f", _type_models.SchemaType.SchemaColumn.SchemaColumnType.STRING),
            ]
        ),
    )

    s = _schema_impl.Schema.promote_from_model(m)
    assert s.uri == "s3://some/place/"
    assert s.type.sdk_columns["a"].to_flyte_literal_type() == _primitives.Boolean.to_flyte_literal_type()
    assert s.type.sdk_columns["b"].to_flyte_literal_type() == _primitives.Datetime.to_flyte_literal_type()
    assert s.type.sdk_columns["c"].to_flyte_literal_type() == _primitives.Timedelta.to_flyte_literal_type()
    assert s.type.sdk_columns["d"].to_flyte_literal_type() == _primitives.Float.to_flyte_literal_type()
    assert s.type.sdk_columns["e"].to_flyte_literal_type() == _primitives.Integer.to_flyte_literal_type()
    assert s.type.sdk_columns["f"].to_flyte_literal_type() == _primitives.String.to_flyte_literal_type()
    assert s == m
Exemple #4
0
def test_schema_type():
    obj = _types.SchemaType(
        [
            _types.SchemaType.SchemaColumn("a", _types.SchemaType.SchemaColumn.SchemaColumnType.INTEGER),
            _types.SchemaType.SchemaColumn("b", _types.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
            _types.SchemaType.SchemaColumn("c", _types.SchemaType.SchemaColumn.SchemaColumnType.STRING),
            _types.SchemaType.SchemaColumn("d", _types.SchemaType.SchemaColumn.SchemaColumnType.DATETIME),
            _types.SchemaType.SchemaColumn("e", _types.SchemaType.SchemaColumn.SchemaColumnType.DURATION),
            _types.SchemaType.SchemaColumn("f", _types.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN),
        ]
    )

    assert obj.columns[0].name == "a"
    assert obj.columns[1].name == "b"
    assert obj.columns[2].name == "c"
    assert obj.columns[3].name == "d"
    assert obj.columns[4].name == "e"
    assert obj.columns[5].name == "f"

    assert obj.columns[0].type == _types.SchemaType.SchemaColumn.SchemaColumnType.INTEGER
    assert obj.columns[1].type == _types.SchemaType.SchemaColumn.SchemaColumnType.FLOAT
    assert obj.columns[2].type == _types.SchemaType.SchemaColumn.SchemaColumnType.STRING
    assert obj.columns[3].type == _types.SchemaType.SchemaColumn.SchemaColumnType.DATETIME
    assert obj.columns[4].type == _types.SchemaType.SchemaColumn.SchemaColumnType.DURATION
    assert obj.columns[5].type == _types.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN

    assert obj == _types.SchemaType.from_flyte_idl(obj.to_flyte_idl())
Exemple #5
0
def test_scalar_schema():
    schema_type = _types.SchemaType([
        _types.SchemaType.SchemaColumn("a", _types.SchemaType.SchemaColumn.SchemaColumnType.INTEGER),
        _types.SchemaType.SchemaColumn("b", _types.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
        _types.SchemaType.SchemaColumn("c", _types.SchemaType.SchemaColumn.SchemaColumnType.STRING),
        _types.SchemaType.SchemaColumn("d", _types.SchemaType.SchemaColumn.SchemaColumnType.DATETIME),
        _types.SchemaType.SchemaColumn("e", _types.SchemaType.SchemaColumn.SchemaColumnType.DURATION),
        _types.SchemaType.SchemaColumn("f", _types.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN)
    ])

    schema = literals.Schema(uri="asdf", type=schema_type)
    obj = literals.Scalar(schema=schema)
    assert obj.primitive is None
    assert obj.error is None
    assert obj.blob is None
    assert obj.binary is None
    assert obj.schema is not None
    assert obj.none_type is None
    assert obj.value.type.columns[0].name == 'a'
    assert len(obj.value.type.columns) == 6

    obj2 = literals.Scalar.from_flyte_idl(obj.to_flyte_idl())
    assert obj == obj2
    assert obj2.primitive is None
    assert obj2.error is None
    assert obj2.blob is None
    assert obj2.binary is None
    assert obj2.schema is not None
    assert obj2.none_type is None
    assert obj2.value.type.columns[0].name == 'a'
    assert len(obj2.value.type.columns) == 6
Exemple #6
0
 types.LiteralType(simple=types.SimpleType.BINARY),
 types.LiteralType(simple=types.SimpleType.BOOLEAN),
 types.LiteralType(simple=types.SimpleType.DATETIME),
 types.LiteralType(simple=types.SimpleType.DURATION),
 types.LiteralType(simple=types.SimpleType.ERROR),
 types.LiteralType(simple=types.SimpleType.FLOAT),
 types.LiteralType(simple=types.SimpleType.INTEGER),
 types.LiteralType(simple=types.SimpleType.NONE),
 types.LiteralType(simple=types.SimpleType.STRING),
 types.LiteralType(schema=types.SchemaType([
     types.SchemaType.SchemaColumn(
         "a", types.SchemaType.SchemaColumn.SchemaColumnType.INTEGER),
     types.SchemaType.SchemaColumn(
         "b", types.SchemaType.SchemaColumn.SchemaColumnType.BOOLEAN),
     types.SchemaType.SchemaColumn(
         "c", types.SchemaType.SchemaColumn.SchemaColumnType.DATETIME),
     types.SchemaType.SchemaColumn(
         "d", types.SchemaType.SchemaColumn.SchemaColumnType.DURATION),
     types.SchemaType.SchemaColumn(
         "e", types.SchemaType.SchemaColumn.SchemaColumnType.FLOAT),
     types.SchemaType.SchemaColumn(
         "f", types.SchemaType.SchemaColumn.SchemaColumnType.STRING),
 ])),
 types.LiteralType(blob=_core_types.BlobType(
     format="",
     dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE,
 )),
 types.LiteralType(blob=_core_types.BlobType(
     format="csv",
     dimensionality=_core_types.BlobType.BlobDimensionality.SINGLE,
 )),
 types.LiteralType(blob=_core_types.BlobType(