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']
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']
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
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")