Пример #1
0
 def test_create_util(self):
     global cli_util
     cli_util = CLIUtil()
     assert isinstance(cli_util, CLIUtil)
     self._test_output_detailed()
     self._test_status_all()
Пример #2
0
def main():
    """
    Freifunk TestFramework Command Line Interface
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global verbose
    verbose = args.verbose

    global util
    util = CLIUtil()
    # Isn't necessary
    # util.print_header()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        logging.warning("Failed to establish connection: " + str(e))
        logging.info("Exiting")
        sys.exit(1)

    if verbose:
        logging.info("Mode set to verbose")

    if args.mode == "status":
        """
        subparse: status
        """
        if args.all:
            # return status of all routers
            routers = server_proxy.get_routers()
            if not routers:
                logging.warning("No routers in network")
            else:
                print_routers(routers)

        elif args.router:
            routers = server_proxy.get_routers()
            print_router_info(routers, args.router[0])
        else:
            parser.print_help()
    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = args.all
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all,
                                         not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = args.all

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = args.all

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = args.all
        toggle_wizard = args.wizard

        server_proxy.setup_web_configuration(args.routers, config_all,
                                             toggle_wizard)

    elif args.mode == "update_info":
        """
        subparse: update_info
        """
        update_all = args.all

        server_proxy.update_router_info(args.routers, update_all)

    elif args.mode == "online":
        """
        subparse: online
        """
        online_all = args.all
        server_proxy.router_online(args.routers, online_all)

    elif args.mode == "power":
        """
        subparse: power
        """
        switch_all = args.all
        on_or_off = True
        if args.on:
            on_or_off = True
        elif args.off:
            on_or_off = False
        server_proxy.control_switch(args.routers, switch_all, on_or_off)

    elif args.mode == "start":
        """
        subparse: start
        """
        if args.all:
            router_id = -1
        else:
            router_id = args.routers[0]
        set_name = args.set

        if args.blocking:
            wait = 5000  # seconds
        else:
            wait = -1  # don't wait

        server_proxy.start_test_set(router_id, set_name, wait)

    elif args.mode == "results":
        """
        subparse: results
        """

        if args.remove:
            removed = server_proxy.delete_test_results()
            print("Removed all " + str(removed) + " results.")
        else:
            if args.all:
                router_id = -1
            else:
                router_id = args.routers[0]
            util.print_test_results(server_proxy.get_test_results(router_id))

    else:
        logging.info("Check --help for help")
Пример #3
0
def main():
    """
    Freifunk TestFramework Command Line Interface.

    :exception ConnectionError: If connection to server failed
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global util
    util = CLIUtil()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        logging.warning("Failed to establish connection: " + str(e))
        sys.exit(1)

    if args.mode == "status":
        """
        subparse: status
        """

        routers = server_proxy.get_routers()

        # print single router
        if args.router:
            print_router_info(routers, args.router[0])
        # print all routers
        else:
            if not routers:
                logging.warning("No routers in network")
            else:
                print_routers(routers)

    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = not args.routers
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all, not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = not args.routers

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = not args.routers

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = not args.routers
        toggle_wizard = args.wizard

        server_proxy.setup_web_configuration(args.routers, config_all, toggle_wizard)

    elif args.mode == "update":
        """
        subparse: update_info
        """
        update_all = not args.routers

        server_proxy.update_router_info(args.routers, update_all)

    elif args.mode == "online":
        """
        subparse: online
        """
        online_all = not args.routers
        server_proxy.router_online(args.routers, online_all)

    elif args.mode == "power":
        """
        subparse: power
        """
        switch_all = not args.routers
        on_or_off = True
        if args.on:
            on_or_off = True
        elif args.off:
            on_or_off = False
        server_proxy.control_switch(args.routers, switch_all, on_or_off)

    elif args.mode == "sets":
        """
        subparse: test_sets
        """
        if args.set:
            util.print_test_set(server_proxy.get_test_sets(), args.set)
        else:
            routers = server_proxy.get_routers()
            if not routers:
                logging.warning("No routers in network")
            else:
                util.print_test_sets(server_proxy.get_test_sets())

    elif args.mode == "start":
        """
        subparse: start
        """
        if args.routers:
            router_id = args.routers[0]
        else:
            router_id = -1
        set_name = args.set

        if args.blocking:
            wait = 5000  # seconds
        else:
            wait = -1  # don't wait

        server_proxy.start_test_set(router_id, set_name, wait)

    elif args.mode == "results":
        """
        subparse: results
        """

        if args.delete:
            removed = server_proxy.delete_test_results()
            print("Removed all " + str(removed) + " results.")
        elif args.failures:
            results = server_proxy.get_test_results(-1)
            if len(results) <= args.failures[0]:
                print("No Entry found in List")
            else:
                util.print_result_failures(results[args.failures[0]][2])
        elif args.errors:
            results = server_proxy.get_test_results(-1)
            if len(results) <= args.errors[0]:
                print("No Entry found in List")
            else:
                util.print_result_errors(results[args.errors[0]][2])
        else:
            if args.router:
                router_id = args.router[0]
            else:
                router_id = -1
            util.print_test_results(server_proxy.get_test_results(router_id))

    elif args.mode == "register":
        """
        subparse: register key
        """
        register_all = not args.routers
        server_proxy.register_key(args.routers, register_all)

    elif args.mode == "jobs":
        """
        subparse: show_jobs
        """

        if args.router:
            router = args.router[0]
        else:
            router = -1
        util.print_jobs(server_proxy.get_task_queue_description(router))

    else:
        logging.info("Check --help for help")
Пример #4
0
def main():
    """
    Freifunk TestFramework Command Line Interface.

    :exception ConnectionError: If connection to server failed
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global util
    util = CLIUtil()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        logging.warning("Failed to establish connection: " + str(e))
        sys.exit(1)

    if args.mode == "status":
        """
        subparse: status
        """

        routers = server_proxy.get_routers()

        # print single router
        if args.router:
            print_router_info(routers, args.router[0])
        # print all routers
        else:
            if not routers:
                logging.warning("No routers in network")
            else:
                print_routers(routers)

    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = not args.routers
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all,
                                         not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = not args.routers

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = not args.routers

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = not args.routers
        toggle_wizard = args.wizard

        server_proxy.setup_web_configuration(args.routers, config_all,
                                             toggle_wizard)

    elif args.mode == "update":
        """
        subparse: update_info
        """
        update_all = not args.routers

        server_proxy.update_router_info(args.routers, update_all)

    elif args.mode == "online":
        """
        subparse: online
        """
        online_all = not args.routers
        server_proxy.router_online(args.routers, online_all)

    elif args.mode == "power":
        """
        subparse: power
        """
        switch_all = not args.routers
        on_or_off = True
        if args.on:
            on_or_off = True
        elif args.off:
            on_or_off = False
        server_proxy.control_switch(args.routers, switch_all, on_or_off)

    elif args.mode == "sets":
        """
        subparse: test_sets
        """
        if args.set:
            util.print_test_set(server_proxy.get_test_sets(), args.set)
        else:
            routers = server_proxy.get_routers()
            if not routers:
                logging.warning("No routers in network")
            else:
                util.print_test_sets(server_proxy.get_test_sets())

    elif args.mode == "start":
        """
        subparse: start
        """
        if args.routers:
            router_id = args.routers[0]
        else:
            router_id = -1
        set_name = args.set

        if args.blocking:
            wait = 5000  # seconds
        else:
            wait = -1  # don't wait

        server_proxy.start_test_set(router_id, set_name, wait)

    elif args.mode == "results":
        """
        subparse: results
        """

        if args.delete:
            removed = server_proxy.delete_test_results()
            print("Removed all " + str(removed) + " results.")
        elif args.failures:
            results = server_proxy.get_test_results(-1)
            if len(results) <= args.failures[0]:
                print("No Entry found in List")
            else:
                util.print_result_failures(results[args.failures[0]][2])
        elif args.errors:
            results = server_proxy.get_test_results(-1)
            if len(results) <= args.errors[0]:
                print("No Entry found in List")
            else:
                util.print_result_errors(results[args.errors[0]][2])
        else:
            if args.router:
                router_id = args.router[0]
            else:
                router_id = -1
            util.print_test_results(server_proxy.get_test_results(router_id))

    elif args.mode == "register":
        """
        subparse: register key
        """
        register_all = not args.routers
        server_proxy.register_key(args.routers, register_all)

    elif args.mode == "jobs":
        """
        subparse: show_jobs
        """

        if args.router:
            router = args.router[0]
        else:
            router = -1
        util.print_jobs(server_proxy.get_task_queue_description(router))

    else:
        logging.info("Check --help for help")
Пример #5
0
def main():
    """
    Freifunk TestFramework Command Line Interface
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global verbose
    verbose = args.verbose

    global util
    util = CLIUtil()
    util.print_header()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        Logger().warning("Failed to establish connection: " + str(e))
        Logger().info("Exiting")
        sys.exit(1)

    if verbose:
        Logger().info("Mode set to verbose")

    if args.mode == "status":
        """
        subparse: status
        """
        if args.all:
            # return status of all routers
            routers = server_proxy.get_routers()
            if not routers:
                Logger().warning("No routers in network")
            else:
                print_routers(routers)

        elif args.router:
            routers = server_proxy.get_routers()
            print_router_info(routers, args.router[0])
        else:
            parser.print_help()
    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = args.all
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all,
                                         not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = args.all

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = args.all

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = args.all

        server_proxy.setup_web_configuration(args.routers, config_all)

    else:
        Logger().info("Check --help for help")
Пример #6
0
def main():
    """
    Freifunk TestFramework Command Line Interface
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global verbose
    verbose = args.verbose

    global util
    util = CLIUtil()
    util.print_header()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        Logger().warning("Failed to establish connection: " + str(e))
        Logger().info("Exiting")
        sys.exit(1)

    if verbose:
        Logger().info("Mode set to verbose")

    if args.mode == "status":
        """
        subparse: status
        """
        if args.all:
            # return status of all routers
            routers = server_proxy.get_routers()
            if not routers:
                Logger().warning("No routers in network")
            else:
                print_routers(routers)

        elif args.router:
            routers = server_proxy.get_routers()
            print_router_info(routers, args.router[0])
        else:
            parser.print_help()
    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = args.all
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all, not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = args.all

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = args.all

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = args.all

        server_proxy.setup_web_configuration(args.routers, config_all)

    else:
        Logger().info("Check --help for help")
Пример #7
0
def main():
    """
    Freifunk TestFramework Command Line Interface
    """

    # Parse Arguments
    parser = create_parsers()
    args = parser.parse_args()

    global verbose
    verbose = args.verbose

    global util
    util = CLIUtil()
    # Isn't necessary
    # util.print_header()

    try:
        server_proxy = connect_to_server()
    except ConnectionError as e:
        logging.warning("Failed to establish connection: " + str(e))
        logging.info("Exiting")
        sys.exit(1)

    if verbose:
        logging.info("Mode set to verbose")

    if args.mode == "status":
        """
        subparse: status
        """
        if args.all:
            # return status of all routers
            routers = server_proxy.get_routers()
            if not routers:
                logging.warning("No routers in network")
            else:
                print_routers(routers)

        elif args.router:
            routers = server_proxy.get_routers()
            print_router_info(routers, args.router[0])
        else:
            parser.print_help()
    elif args.mode == "sysupgrade":
        """
        subparse: sysupgrade
        """
        upgrade_all = args.all
        not_saving_config = args.n

        server_proxy.sysupgrade_firmware(args.routers, upgrade_all, not_saving_config)

    elif args.mode == "sysupdate":
        """
        subparse: sysupdate
        """
        update_all = args.all

        server_proxy.sysupdate_firmware(args.routers, update_all)

    elif args.mode == "reboot":
        """
        subparse: reboot
        """
        config_mode = args.config
        reboot_all = args.all

        server_proxy.reboot_router(args.routers, reboot_all, config_mode)

    elif args.mode == "webconfig":
        """
        subparse: webconfig
        """
        config_all = args.all
        toggle_wizard = args.wizard

        server_proxy.setup_web_configuration(args.routers, config_all, toggle_wizard)

    elif args.mode == "update_info":
        """
        subparse: update_info
        """
        update_all = args.all

        server_proxy.update_router_info(args.routers, update_all)

    elif args.mode == "online":
        """
        subparse: online
        """
        online_all = args.all
        server_proxy.router_online(args.routers, online_all)

    elif args.mode == "power":
        """
        subparse: power
        """
        switch_all = args.all
        on_or_off = True
        if args.on:
            on_or_off = True
        elif args.off:
            on_or_off = False
        server_proxy.control_switch(args.routers, switch_all, on_or_off)

    elif args.mode == "start":
        """
        subparse: start
        """
        if args.all:
            router_id = -1
        else:
            router_id = args.routers[0]
        set_name = args.set

        if args.blocking:
            wait = 5000  # seconds
        else:
            wait = -1  # don't wait

        server_proxy.start_test_set(router_id, set_name, wait)

    elif args.mode == "results":
        """
        subparse: results
        """

        if args.remove:
            removed = server_proxy.delete_test_results()
            print("Removed all " + str(removed) + " results.")
        else:
            if args.all:
                router_id = -1
            else:
                router_id = args.routers[0]
            util.print_test_results(server_proxy.get_test_results(router_id))

    else:
        logging.info("Check --help for help")