test_main.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:aws-ec2rescue-linux 作者: awslabs 项目源码 文件源码
def test_main_menu_config(self, open_mock):
        """Test that the menu configurator functions."""
        self.ec2rl.options.global_args["abc"] = "def"
        curses.initscr()
        # main menu -> exit
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_RIGHT)
        # Modules menu -> main menu
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_RIGHT)
        # atop -> Modules menu
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_RIGHT)
        # atop -> period = 1
        curses.ungetch("\n")
        curses.ungetch("1")
        curses.ungetch("\n")
        # Modules menu -> atop
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        # main menu -> Modules menu
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_DOWN)
        # Global menu -> main menu
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_RIGHT)
        # Global -> concurrency -> 2
        curses.ungetch("\n")
        curses.ungetch("2")
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        curses.ungetch(curses.KEY_DOWN)
        # Global menu -> only-classes menu
        curses.ungetch("\n")
        curses.ungetch(curses.KEY_RIGHT)
        # unselect "collect"
        curses.ungetch(" ")
        curses.ungetch("\n")
        # main menu -> Global menu
        curses.ungetch("\n")
        with contextlib.redirect_stdout(self.output):
            self.assertTrue(self.ec2rl.menu_config())
        self.assertTrue(re.match(r"^\n----------\[Configuration File\]----------\n\nConfiguration file saved:\n"
                                 r"/var/tmp/ec2rl/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}_[0-9]{2}_[0-9]{2}.[0-9]{6}"
                                 r"/configuration.cfg\n$",
                                 self.output.getvalue()))
        self.assertEqual(len(self.output.getvalue()), 129)
        self.assertTrue(open_mock.called)
        self.assertEqual(self.ec2rl.options.global_args["abc"], "def")
        self.assertEqual(self.ec2rl.options.global_args["concurrency"], "2")
        self.assertEqual(self.ec2rl.options.global_args["onlyclasses"], "diagnose,gather")
        self.assertEqual(self.ec2rl.options.per_module_args["atop"]["period"], "1")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号