예제 #1
0
def test_get_netapi_autocomplete(test_nodenet):
    micropsi.run_netapi_command(
        test_nodenet, "foonode = netapi.create_node('Pipe', None, 'foo')")
    micropsi.run_netapi_command(test_nodenet,
                                "foogate = foonode.get_gate('gen')")
    micropsi.run_netapi_command(test_nodenet,
                                "fooslot = foonode.get_slot('gen')")
    micropsi.run_netapi_command(
        test_nodenet, "nodespace = netapi.create_nodespace(None, 'foospace')")
    micropsi.run_netapi_command(
        test_nodenet, "barnode = netapi.create_node('Register', None, 'foo')")
    data = micropsi.get_netapi_autocomplete_data(test_nodenet)
    data['types']['foonode'] = 'Node'
    data['types']['foogate'] = 'Gate'
    data['types']['fooslot'] = 'Slot'
    data['types']['nodespace'] = 'Nodespace'
    data['types']['barnode'] = 'Node'
    assert data['autocomplete_options']['Node']["get_gate"][0][
        'name'] == 'type'
    assert data['autocomplete_options']['Gate']["get_links"] == []
    assert data['autocomplete_options']['Slot']["get_links"] == []
    assert data['autocomplete_options']['Nodespace']["get_known_ids"][0][
        'name'] == 'entitytype'
    assert data['autocomplete_options']['Node']['name'] is None
    data = micropsi.get_netapi_autocomplete_data(test_nodenet, name='foonode')
    assert list(data['types'].keys()) == ['foonode']
    assert list(data['autocomplete_options'].keys()) == ['Node']
예제 #2
0
def test_get_netapi_autocomplete(test_nodenet):
    micropsi.run_netapi_command(test_nodenet, "foonode = netapi.create_node('Pipe', None, 'foo')")
    micropsi.run_netapi_command(test_nodenet, "foogate = foonode.get_gate('gen')")
    micropsi.run_netapi_command(test_nodenet, "fooslot = foonode.get_slot('gen')")
    micropsi.run_netapi_command(test_nodenet, "nodespace = netapi.create_nodespace(None, 'foospace')")
    micropsi.run_netapi_command(test_nodenet, "barnode = netapi.create_node('Register', None, 'foo')")
    data = micropsi.get_netapi_autocomplete_data(test_nodenet)
    data['types']['foonode'] = 'Node'
    data['types']['foogate'] = 'Gate'
    data['types']['fooslot'] = 'Slot'
    data['types']['nodespace'] = 'Nodespace'
    data['types']['barnode'] = 'Node'
    assert data['autocomplete_options']['Node']["get_gate"][0]['name'] == 'type'
    assert data['autocomplete_options']['Gate']["get_links"] == []
    assert data['autocomplete_options']['Slot']["get_links"] == []
    assert data['autocomplete_options']['Nodespace']["get_known_ids"][0]['name'] == 'entitytype'
    assert data['autocomplete_options']['Node']['name'] is None
    data = micropsi.get_netapi_autocomplete_data(test_nodenet, name='foonode')
    assert list(data['types'].keys()) == ['foonode']
    assert list(data['autocomplete_options'].keys()) == ['Node']
예제 #3
0
def test_run_netapi_command(test_nodenet):
    nodenet = micropsi.nodenets[test_nodenet]
    netapi = nodenet.netapi
    command = "foo = netapi.create_node('Pipe', None, 'foo')"
    result, _ = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    command = "netapi.link(foo, 'gen', foo, 'gen')"
    result, _ = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    nodes = netapi.get_nodes()
    assert len(nodes) == 1
    assert nodes[0].get_gate('gen').get_links()[0].target_node == nodes[0]
    command = "netapi.get_node('%s')" % nodes[0].uid
    result, node = micropsi.run_netapi_command(test_nodenet, command)
    assert node == str(nodes[0])
    command = "[n.name for n in netapi.get_nodes()]"
    result, node = micropsi.run_netapi_command(test_nodenet, command)
    assert node == "['foo']"
    command = "netapi.create_node()"
    result, msg = micropsi.run_netapi_command(test_nodenet, command)
    assert not result
    assert msg.startswith("TypeError")
    command = "for i in range(3): netapi.create_node('Register', None, 'test%d' % i)"
    result, msg = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    assert len(netapi.get_nodes()) == 4
예제 #4
0
def test_run_netapi_command(test_nodenet):
    nodenet = micropsi.nodenets[test_nodenet]
    netapi = nodenet.netapi
    command = "foo = netapi.create_node('Pipe', None, 'foo')"
    result, _ = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    command = "netapi.link(foo, 'gen', foo, 'gen')"
    result, _ = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    nodes = netapi.get_nodes()
    assert len(nodes) == 1
    assert nodes[0].get_gate('gen').get_links()[0].target_node == nodes[0]
    command = "netapi.get_node('%s')" % nodes[0].uid
    result, node = micropsi.run_netapi_command(test_nodenet, command)
    assert node == str(nodes[0])
    command = "[n.name for n in netapi.get_nodes()]"
    result, node = micropsi.run_netapi_command(test_nodenet, command)
    assert node == "['foo']"
    command = "netapi.create_node()"
    result, msg = micropsi.run_netapi_command(test_nodenet, command)
    assert not result
    assert msg.startswith("TypeError")
    command = "for i in range(3): netapi.create_node('Register', None, 'test%d' % i)"
    result, msg = micropsi.run_netapi_command(test_nodenet, command)
    assert result
    assert len(netapi.get_nodes()) == 4
예제 #5
0
def run_netapi_command(nodenet_uid, command):
    if INCLUDE_CONSOLE:
        return runtime.run_netapi_command(nodenet_uid, command)
    else:
        raise RuntimeError("Netapi console only available if serving to localhost only")