Esempio n. 1
0
def test_decode_null_content(immutable_list_schema, decode_mapping):
    """Content that is explicitly null is decoded."""
    composite = Composite(immutable_list_schema)
    content: List = [{"inner_folder": {"nombre": None}}]
    expected: List[Dict] = [{"name": None}]
    actual: List = list(composite.decode_list(decode_mapping, content))
    assert actual == expected
Esempio n. 2
0
def test_decode_list(immutable_list_schema, decode_mapping):
    """Both mappings and content present."""
    composite = Composite(immutable_list_schema)
    content: List = [{
        "inner_folder": {
            "nombre": "Al",
            "edad": 25
        },
        "helado": "Rocky road"
    }, {
        "inner_folder": {
            "nombre": "Joe",
            "edad": 34
        },
        "helado": "Clam chowder"
    }]
    expected: List[Dict] = [
        {
            "name": "Al",
            "age": 25,
            "ice cream": "Rocky road"
        },
        {
            "name": "Joe",
            "age": 34,
            "ice cream":
            "Clam chowder"  # https://now.tufts.edu/articles/dish-we-all-scream-for-ice-cream
        }
    ]
    actual: List = list(composite.decode_list(decode_mapping, content))
    assert actual == expected
Esempio n. 3
0
def test_decode_list_multiple_empty(immutable_list_schema, decode_mapping):
    """Mappings present, no content."""
    composite = Composite(immutable_list_schema)
    content: List[Dict] = [{}, {}, {}]
    expected: List = content.copy()
    actual: List = list(composite.decode_list(decode_mapping, content))
    assert actual == expected
Esempio n. 4
0
def test_decode_missing_content_skips(immutable_list_schema, decode_mapping):
    """If something isn't present in a content list item that is defined in the mappings, skip it."""
    composite = Composite(immutable_list_schema)
    content: List = [{
        "helado": "Rocky road"
    }, {
        "inner_folder": {
            "nombre": "Joe"
        }
    }]
    expected: List[Dict] = [{
        "ice cream": "Rocky road"
    }, {
        "name": "Joe",
    }]
    actual: List = list(composite.decode_list(decode_mapping, content))
    assert actual == expected
Esempio n. 5
0
def test_decode_list_zero_length(immutable_list_schema, decode_mapping):
    """Mappings present, no content."""
    composite = Composite(immutable_list_schema)
    actual: List = list(composite.decode_list(decode_mapping, []))
    assert actual == []
Esempio n. 6
0
def test_decode_list_trivial(trivial_schema):
    """No mappings, no content"""
    composite = Composite(trivial_schema)
    actual: List = list(composite.decode_list({}, []))
    assert actual == []