TEST(TestScriptFetcher, HandleSimple) {
    TemporaryDir tmp_dir;
    TemporaryFile cmdFile(tmp_dir.createFile());
    cmdFile.writeString(
        "#!/bin/sh\n"
        "echo foo\n"
        "echo bar\n"
    );
    PCHECK(chmod(cmdFile.getFilename().c_str(), 0700) == 0);

    Config config(dynamic::object
                  ("resources", dynamic::object)
                  ("nodes", dynamic::object
                   ("levels", {"level1"})
                   ("node_source", "script")
                   ("node_source_prefs", dynamic::object
                    ("parent_level", "instance")
                    ("script", cmdFile.getFilename().native())
                   )
                  )
                 );
    Nodes nodes;
    NodesLoader::_fetchNodesImpl(config, &nodes);
    auto it = nodes.begin();
    ASSERT_EQ(nodes.getInstance(), (*it).get());
    ++it;
    ASSERT_NE(it, nodes.end());
    ASSERT_EQ("foo", (*it)->name());
    ASSERT_EQ(nodes.getInstance(), (*it)->parent());
    ++it;
    ASSERT_NE(it, nodes.end());
    ASSERT_EQ("bar", (*it)->name());
    ASSERT_EQ(nodes.getInstance(), (*it)->parent());
    ++it;
    ASSERT_EQ(it, nodes.end());
}