def test_json_all_kinds_of():
    """
    Serialize a JSON payload of all kinds of fields.
    """
    lookup = MultiPackageLookup(CachedDarFile(dars.AllKindsOf).archives())
    tt = con(lookup.data_type_name("AllKindsOf:OneOfEverything"))
    ctx = Context(JsonEncoder(), lookup)

    expected = {
        "operator": "Operator",
        "someBoolean": True,
        "someInteger": 10,
        "someDecimal": "10",
        "someMaybe": 10,
        "someMaybeNot": None,
        "someText": "text",
        "someDate": "2000-01-01",
        "someDatetime": "2000-01-01T00:00:00Z",
        "someSimpleList": [1],
        "someSimplePair": {"left": 4, "right": 5},
        "someNestedPair": {"left": {"left": 4, "right": 5}, "right": {"left": 10, "right": 4}},
        "someUglyNesting": {
            "tag": "Both",
            "value": {
                "tag": "Right",
                "value": {"left": {"left": 10, "right": 20}, "right": {"left": 30, "right": 40}},
            },
        },
        "someMeasurement": "5",
        "someEnum": "Green",
        "theUnit": {},
    }

    actual = ctx.convert(
        tt,
        {
            "operator": "Operator",
            "someBoolean": True,
            "someInteger": 10,
            "someDecimal": 10,
            "someMaybe": 10,
            "someMaybeNot": None,
            "someText": "text",
            "someDate": date(2000, 1, 1),
            "someDatetime": datetime(2000, 1, 1),
            "someSimpleList": [1],
            "someSimplePair": {"left": 4, "right": 5},
            "someNestedPair": {"left": {"left": 4, "right": 5}, "right": {"left": 10, "right": 4}},
            "someUglyNesting": {
                "Both": {
                    "Right": {"left": {"left": 10, "right": 20}, "right": {"left": 30, "right": 40}}
                }
            },
            "someMeasurement": 5,
            "someEnum": "Green",
            "theUnit": {},
        },
    )

    assert expected == actual
예제 #2
0
def test_values_protobuf_encode_enum_invalid(encode_context, lookup):
    color_enum_type = daml.con(lookup.data_type_name("*:AllKindsOf:Color"))
    try:
        encode_context.convert(color_enum_type, "imagination")
        assert False, "we were supported to fail!"
    except ValueError:
        pass
예제 #3
0
def test_render_update_of_contract_type_con():
    module_ref = ModuleRef(
        package_id=PackageRef("00000000000000000000000000000000"),
        module_name=DottedName(("ABC", )))
    name = TypeConName(module=module_ref, name=("DefGhi", ))
    type_ = daml.Update(daml.ContractId(daml.con(name)))

    expected = "Update (ContractId ABC:DefGhi)"
    actual = str(type_)

    assert expected == actual
예제 #4
0
def test_values_protobuf_encode_enum(encode_context, lookup):
    color_enum_type = daml.con(lookup.data_type_name("*:AllKindsOf:Color"))
    actual = encode_context.convert(color_enum_type, "Red")
    assert actual == ("enum", value_pb2.Enum(constructor="Red"))