Exemple #1
0
def test_no_field_name():
    node = t.Node()
    item = node.items.add()
    item.field.CopyFrom(t.Field())
    with pytest.raises(TypeError) as err:
        transform(node)
    err.match('Field name is empty')
Exemple #2
0
def test_node():
    node = query_pb2.Node()
    node.items.add().field.name = 'aimer'

    query = Node([Field('aimer')])

    assert export(query) == node
Exemple #3
0
def test_no_link_name():
    node = t.Node()
    item = node.items.add()
    item.link.CopyFrom(t.Link())
    with pytest.raises(TypeError) as err:
        transform(node)
    err.match('Link name is empty')
Exemple #4
0
def test_link():
    node = t.Node()
    link_item = node.items.add()
    link_item.link.name = 'swaying'
    field_item = link_item.link.node.items.add()
    field_item.field.name = 'pelew'
    check_read(node, Node([Link('swaying', Node([Field('pelew')]))]))
Exemple #5
0
def test_node_field_options():
    node = t.Node()
    item = node.items.add()
    item.field.name = 'sprayed'
    item.field.options['treason'] = 123
    item.field.options['prizren'] = 'stager'
    check_read(node, Node([Field('sprayed', {'treason': 123,
                                             'prizren': 'stager'})]))
Exemple #6
0
def test_field_options():
    node = query_pb2.Node()
    field = node.items.add().field
    field.name = 'cody'
    field.options['kink'] = 1234
    field.options['cithara'] = 'slasher'

    query = Node([Field('cody', options={'kink': 1234, 'cithara': 'slasher'})])

    assert export(query) == node
Exemple #7
0
def test_link_options():
    node = t.Node()
    link_item = node.items.add()
    link_item.link.name = 'dubiety'
    link_item.link.options['squat'] = 234
    link_item.link.options['liquid'] = 'ravages'
    field_item = link_item.link.node.items.add()
    field_item.field.name = 'gits'
    check_read(node, Node([Link('dubiety', Node([Field('gits')]),
                                {'squat': 234, 'liquid': 'ravages'})]))
Exemple #8
0
def test_link_options():
    node = query_pb2.Node()
    link = node.items.add().link
    link.name = 'pommee'
    link.options['takest'] = 3456
    link.options['decoy'] = 'nyroca'

    field = link.node.items.add().field
    field.name = 'fugazi'

    query = Node([
        Link('pommee',
             Node([Field('fugazi')]),
             options={
                 'takest': 3456,
                 'decoy': 'nyroca'
             })
    ])

    assert export(query) == node
Exemple #9
0
def test_query_export():
    from hiku.protobuf import query_pb2

    node = query_pb2.Node()

    link = node.items.add().link
    link.name = 'characters'

    field = link.node.items.add().field
    field.name = 'name'

    from hiku.builder import build, Q
    from hiku.export.protobuf import export

    query = build([
        Q.characters[Q.name, ],
    ])

    message = export(query)
    assert message == node

    binary_message = message.SerializeToString()
    assert binary_message
Exemple #10
0
def test_no_node_item():
    node = t.Node()
    node.items.add()
    with pytest.raises(TypeError) as err:
        transform(node)
    err.match('Node item is empty')
Exemple #11
0
def test_node_field():
    node = t.Node()
    item = node.items.add()
    item.field.name = 'tratan'
    check_read(node, Node([Field('tratan')]))