예제 #1
0
def test_data_in_embedded_can_be_array():
    app = flask.Flask(__name__)
    with app.test_request_context("/entity/231"):
        document = Document(
            embedded={
                "order": Embedded(
                    data=[
                        {"total": 30.00, "currency": "USD", "status": "shipped"},
                        {"total": 20.00, "currency": "USD", "status": "processing"},
                    ]
                )
            },
            data={"currentlyProcessing": 14},
        )
        expected = {
            "currentlyProcessing": 14,
            "_links": {"self": {"href": u"/entity/231"}},
            "_embedded": {
                "order": [
                    {"total": 30.00, "currency": "USD", "status": "shipped"},
                    {"total": 20.00, "currency": "USD", "status": "processing"},
                ]
            },
        }
        assert expected == document.to_dict()
예제 #2
0
def test_should_append_embedded_document():
    app = flask.Flask(__name__)
    with app.test_request_context("/entity/231"):
        document = Document(
            embedded={
                "orders": Embedded(
                    embedded={"details": Embedded(data={"details": {}})},
                    links=link.Collection(link.Link("foo", "www.foo.com"), link.Link("boo", "www.boo.com")),
                    data={"total": 30},
                )
            },
            data={"currentlyProcessing": 14},
        )
        expected = {
            "_links": {"self": {"href": flask.request.path}},
            "_embedded": {
                "orders": {
                    "_links": {"foo": {"href": "www.foo.com"}, "boo": {"href": "www.boo.com"}},
                    "_embedded": {"details": {"details": {}}},
                    "total": 30,
                }
            },
            "currentlyProcessing": 14,
        }
        assert expected == document.to_dict()
예제 #3
0
def test_data_in_embedded_can_be_array_of_documents():
    app = flask.Flask(__name__)
    with app.test_request_context("/entity/231"):
        document = Document(
            embedded={
                "order": Embedded(
                    data=[
                        Embedded(
                            data={"total": 30.00, "currency": "USD", "status": "shipped"},
                            links=link.Collection(link.Link("foo", "www.foo30.com"), link.Link("boo", "www.boo30.com")),
                        ),
                        Embedded(
                            data={"total": 20.00, "currency": "USD", "status": "processing"},
                            links=link.Collection(link.Link("foo", "www.foo20.com"), link.Link("boo", "www.boo20.com")),
                        ),
                    ]
                )
            },
            data={"currentlyProcessing": 14},
        )
        expected = {
            "currentlyProcessing": 14,
            "_links": {"self": {"href": u"/entity/231"}},
            "_embedded": {
                "order": [
                    {
                        "_links": {"foo": {"href": "www.foo30.com"}, "boo": {"href": "www.boo30.com"}},
                        "total": 30.00,
                        "currency": "USD",
                        "status": "shipped",
                    },
                    {
                        "_links": {"foo": {"href": "www.foo20.com"}, "boo": {"href": "www.boo20.com"}},
                        "total": 20.00,
                        "currency": "USD",
                        "status": "processing",
                    },
                ]
            },
        }
        assert expected == document.to_dict()
예제 #4
0
def test_data_in_embedded_can_be_array():
    app = flask.Flask(__name__)
    with app.test_request_context('/entity/231'):
        document = Document(
            embedded={
                'order': Embedded(
                    data=[
                        {
                            'total': 30.00,
                            'currency': 'USD',
                            'status': 'shipped'
                        }, {
                            'total': 20.00,
                            'currency': 'USD',
                            'status': 'processing'
                        }
                    ]
                )
            },
            data={
                'currentlyProcessing': 14
            }
        )
        expected = {
            'currentlyProcessing': 14,
            '_links': {'self': {'href': '/entity/231'}},
            '_embedded': {
                'order': [{
                    'total': 30.00,
                    'currency': 'USD',
                    'status': 'shipped'
                }, {
                    'total': 20.00,
                    'currency': 'USD',
                    'status': 'processing'
                }]
            }
        }
        assert expected == document.to_dict()
예제 #5
0
def test_should_append_embedded_document():
    app = flask.Flask(__name__)
    with app.test_request_context('/entity/231'):
        document = Document(
            embedded={
                'orders': Embedded(
                    embedded={'details': Embedded(
                        data={'details': {}}
                    )},
                    links=link.Collection(
                        link.Link('foo', 'www.foo.com'),
                        link.Link('boo', 'www.boo.com')
                    ),
                    data={'total': 30},
                )
            },
            data={'currentlyProcessing': 14}
        )
        expected = {
            '_links': {
                'self': {
                    'href': flask.request.path
                }
            },
            '_embedded': {
                'orders': {
                    '_links': {
                        'foo': {'href': 'www.foo.com'},
                        'boo': {'href': 'www.boo.com'}
                    },
                    '_embedded': {
                        'details': {'details': {}}
                    },
                    'total': 30,
                }
            },
            'currentlyProcessing': 14
        }
        assert expected == document.to_dict()
예제 #6
0
def test_data_in_embedded_can_be_array():
    app = flask.Flask(__name__)
    with app.test_request_context('/entity/231'):
        document = Document(
            embedded={
                'order': Embedded(
                    data=[
                        {
                            'total': 30.00,
                            'currency': 'USD',
                            'status': 'shipped'
                        }, {
                            'total': 20.00,
                            'currency': 'USD',
                            'status': 'processing'
                        }
                    ]
                )
            },
            data={
                'currentlyProcessing': 14
            }
        )
        expected = {
            'currentlyProcessing': 14,
            '_links': {'self': {'href': u'/entity/231'}},
            '_embedded': {
                'order': [{
                    'total': 30.00,
                    'currency': 'USD',
                    'status': 'shipped'
                }, {
                    'total': 20.00,
                    'currency': 'USD',
                    'status': 'processing'
                }]
            }
        }
        assert expected == document.to_dict()
예제 #7
0
def test_should_append_embedded_document():
    app = flask.Flask(__name__)
    with app.test_request_context('/entity/231'):
        document = Document(
            embedded={
                'orders': Embedded(
                    embedded={'details': Embedded(
                        data={'details': {}}
                    )},
                    links=link.Collection(
                        link.Link('foo', 'www.foo.com'),
                        link.Link('boo', 'www.boo.com')
                    ),
                    data={'total': 30},
                )
            },
            data={'currentlyProcessing': 14}
        )
        expected = {
            '_links': {
                'self': {
                    'href': flask.request.path
                }
            },
            '_embedded': {
                'orders': {
                    '_links': {
                        'foo': {'href': 'www.foo.com'},
                        'boo': {'href': 'www.boo.com'}
                    },
                    '_embedded': {
                        'details': {'details': {}}
                    },
                    'total': 30,
                }
            },
            'currentlyProcessing': 14
        }
        assert expected == document.to_dict()
예제 #8
0
def test_data_in_embedded_can_be_array_of_documents():
    app = flask.Flask(__name__)
    with app.test_request_context('/entity/231'):
        document = Document(
            embedded={
                'order': Embedded(
                    data=[
                        Embedded(
                            data={
                                'total': 30.00,
                                'currency': 'USD',
                                'status': 'shipped'
                            },
                            links=link.Collection(
                                link.Link('foo', 'www.foo30.com'),
                                link.Link('boo', 'www.boo30.com')
                            ),
                        ),
                        Embedded(
                            data={
                                'total': 20.00,
                                'currency': 'USD',
                                'status': 'processing'
                            },
                            links=link.Collection(
                                link.Link('foo', 'www.foo20.com'),
                                link.Link('boo', 'www.boo20.com')
                            ),
                        )
                    ]
                )
            },
            data={
                'currentlyProcessing': 14
            }
        )
        expected = {
            'currentlyProcessing': 14,
            '_links': {'self': {'href': '/entity/231'}},
            '_embedded': {
                'order': [
                    {
                        '_links': {
                            'foo': {'href': 'www.foo30.com'},
                            'boo': {'href': 'www.boo30.com'}
                        },
                        'total': 30.00,
                        'currency': 'USD',
                        'status': 'shipped'
                    },
                    {
                        '_links': {
                            'foo': {'href': 'www.foo20.com'},
                            'boo': {'href': 'www.boo20.com'}
                        },
                        'total': 20.00,
                        'currency': 'USD',
                        'status': 'processing'
                    }
                ]
            }
        }
        assert expected == document.to_dict()