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')
def test_node(): node = query_pb2.Node() node.items.add().field.name = 'aimer' query = Node([Field('aimer')]) assert export(query) == node
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')
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')]))]))
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'})]))
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
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'})]))
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
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
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')
def test_node_field(): node = t.Node() item = node.items.add() item.field.name = 'tratan' check_read(node, Node([Field('tratan')]))