def test_executionDetails_emptyExecution(self) : s = self.emptyExecution() w = ExecutionDetails() s = Server("fixture") content = w.generate(s,"myproject","myclient","20130301-232425") self.assertMultiLineEqual( content, """\ <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="utf-8"> <title>TestFarm: Execution details for myproject :: myclient :: 20130301-232425</title> <style> """+deansi.styleSheet() + """ </style> <link href="style.css" rel="stylesheet" type="text/css"> <script type="text/javascript" language="JavaScript" src="testfarm.js"></script> </head> <body> <h1>Details for execution '20130301-232425'</h1> <div class='execution'> <p>Started at 2013-03-01 23:24:25</p> <p>Execution '20130301-232425' finalized with a <b>SUCCESS</b></p> </div> <div class="about"> <p>TestFarm is free software. Learn <a href="http://testfarm.sf.net/">about TestFarm</a>.</p> </div> </body> </html> """)
def test_executionDetails_emptyExecution(self) : s = self.emptyExecution() w = ExecutionDetails() s = Logger("fixture") content = w.generate(s,"myproject","myclient","20130301-232425") self.assertMultiLineEqual( content, """\ <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="utf-8"> <title>TestFarm: Execution details for myproject :: myclient :: 20130301-232425</title> <style> """+deansi.styleSheet() + """ </style> <link href="style.css" rel="stylesheet" type="text/css"> <script type="text/javascript" language="JavaScript" src="testfarm.js"></script> </head> <body> <h1>Details for execution '20130301-232425'</h1> <div class='execution'> <p>Started at 2013-03-01 23:24:25</p> <p>Execution '20130301-232425' finalized with a <b>SUCCESS</b></p> </div> <div class="about"> <p>TestFarm is free software. Learn <a href="http://testfarm.sf.net/">about TestFarm</a>.</p> </div> </body> </html> """)
def test_task_empty(self) : self.setUpEmptyClient() task = self.taskFixture("First task", running=False) w = ExecutionDetails() result = w.task(task) self.assertMultiLineEqual(result, '<div class="task" id="task_1">\n' 'TASK: "First task"\n' 'END OF TASK: "First task"\n' '</div>\n\n' )
def test_task_empty(self) : self.setUpEmptyClient() task = self.taskFixture("First task", running=False) w = ExecutionDetails() result = w.task(task) self.assertMultiLineEqual(result, '<div class="task" id="task_1">\n' 'TASK: "First task"\n' 'END OF TASK: "First task"\n' '</div>\n\n' )
def test_contantBlock_notSoLongInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\n".join(str(i+1) for i in xrange(11)), id = "2_32", ) self.assertMultiLineEqual(content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11</div>\n' '</div>\n' )
def test_contentBlock_withInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="content", id = "2_32", ) self.assertMultiLineEqual(content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">content</div>\n' '</div>\n' )
def test_contentBlock_withInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="content", id = "2_32", ) self.assertMultiLineEqual(content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">content</div>\n' '</div>\n' )
def test_contantBlock_notSoLongInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\n".join(str(i+1) for i in xrange(11)), id = "2_32", ) self.assertMultiLineEqual(content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11</div>\n' '</div>\n' )
def test_executionDetails_contantBlock_ansiOutput(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\033[34mBlue\033[0m", id = "2_32", ) self.assertMultiLineEqual( content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text"><span class=\'ansi_blue\'>Blue</span></div>\n' '</div>\n' )
def test_contantBlock_longInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\n".join(str(i+1) for i in xrange(12)), id = "2_32", ) self.assertMultiLineEqual( content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12</div>\n' '</div>\n' "<script type='text/javascript'>togglesize('kind2_32');</script>\n" )
def test_contantBlock_longInfo(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\n".join(str(i+1) for i in xrange(12)), id = "2_32", ) self.assertMultiLineEqual( content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text">1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12</div>\n' '</div>\n' "<script type='text/javascript'>togglesize('kind2_32');</script>\n" )
def test_command_running(self) : command = self.commandFixture( "command line", running=True, ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_running">[RUNNING]</span>\n' '</div>\n' )
def test_command_running(self) : command = self.commandFixture( "command line", running=True, ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_running">[RUNNING]</span>\n' '</div>\n' )
def test_executionDetails_contantBlock_ansiOutput(self) : w = ExecutionDetails() content = w.contentBlock( kind = "kind", content="\033[34mBlue\033[0m", id = "2_32", ) self.assertMultiLineEqual( content, '<div id="kind2_32" class="kind">\n' '<div class="kind_header">KIND:</div>\n' '<div class="plain_text"><span class=\'ansi_blue\'>Blue</span></div>\n' '</div>\n' )
def test_command_ok(self) : command = self.commandFixture( "command line", ok=True, output="ignored output", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' )
def test_command_ok(self) : command = self.commandFixture( "command line", ok=True, output="ignored output", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' )
def test_task_oneCommand(self) : self.setUpEmptyClient() task = self.taskFixture("First task", running=False, commands=1) w = ExecutionDetails() result = w.task(task) self.assertMultiLineEqual(result, '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' )
def test_task_oneCommand(self) : self.setUpEmptyClient() task = self.taskFixture("First task", running=False, commands=1) w = ExecutionDetails() result = w.task(task) self.assertMultiLineEqual(result, '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' )
def test_command_withInfo(self) : command = self.commandFixture( "bad command line", ok=True, info="information", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>bad command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '<div id="info1_1" class="info">\n' '<div class="info_header">INFO:</div>\n' '<div class="plain_text">information</div>\n' '</div>\n' '</div>\n' )
def test_command_withInfo(self) : command = self.commandFixture( "bad command line", ok=True, info="information", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>bad command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '<div id="info1_1" class="info">\n' '<div class="info_header">INFO:</div>\n' '<div class="plain_text">information</div>\n' '</div>\n' '</div>\n' )
def test_command_failed(self) : command = self.commandFixture( "bad command line", ok=False, output="shown output\n", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>bad command line</span>\n" ' <span class="command_failure">[FAILED]</span>\n' '<div id="output1_1" class="output">\n' '<div class="output_header">OUTPUT:</div>\n' '<div class="plain_text">shown output\n</div>\n' '</div>\n' '</div>\n' )
def test_command_failed(self) : command = self.commandFixture( "bad command line", ok=False, output="shown output\n", ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>bad command line</span>\n" ' <span class="command_failure">[FAILED]</span>\n' '<div id="output1_1" class="output">\n' '<div class="output_header">OUTPUT:</div>\n' '<div class="plain_text">shown output\n</div>\n' '</div>\n' '</div>\n' )
def test_execution_running(self) : execution = self.executionFixture(running=True) w = ExecutionDetails() result = w.execution(execution) self.assertMultiLineEqual(result, "<h1>Details for execution '20130301-232425'</h1>\n" "<div class='execution'>\n" "<p>Started at 2013-03-01 23:24:25</p>\n" '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_running">[RUNNING]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' "<p>Execution '20130301-232425' still running...</p>\n" '</div>\n' )
def test_execution(self) : execution = self.executionFixture() w = ExecutionDetails() result = w.execution(execution) self.assertMultiLineEqual(result, "<h1>Details for execution '20130301-232425'</h1>\n" "<div class='execution'>\n" "<p>Started at 2013-03-01 23:24:25</p>\n" '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' "<p>Execution '20130301-232425' finalized with a <b>SUCCESS</b></p>\n" '</div>\n' )
def test_execution(self) : execution = self.executionFixture() w = ExecutionDetails() result = w.execution(execution) self.assertMultiLineEqual(result, "<h1>Details for execution '20130301-232425'</h1>\n" "<div class='execution'>\n" "<p>Started at 2013-03-01 23:24:25</p>\n" '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' "<p>Execution '20130301-232425' finalized with a <b>SUCCESS</b></p>\n" '</div>\n' )
def test_execution_running(self) : execution = self.executionFixture(running=True) w = ExecutionDetails() result = w.execution(execution) self.assertMultiLineEqual(result, "<h1>Details for execution '20130301-232425'</h1>\n" "<div class='execution'>\n" "<p>Started at 2013-03-01 23:24:25</p>\n" '<div class="task" id="task_1">\n' 'TASK: "First task"\n' "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_running">[RUNNING]</span>\n' '</div>\n' 'END OF TASK: "First task"\n' '</div>\n\n' "<p>Execution '20130301-232425' still running...</p>\n" '</div>\n' )
def test_command_stats(self) : command = self.commandFixture( "command line", ok=True, stats=dict( param1=300, param2=400, ), ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' ' <div class="stats">\n' ' <div class="stats_header">Statistics:</div>\n' ' <b>param1:</b> 300<br />\n' ' <b>param2:</b> 400<br />\n' ' </div>\n' '</div>\n' )
def test_command_stats(self) : command = self.commandFixture( "command line", ok=True, stats=dict( param1=300, param2=400, ), ) w = ExecutionDetails() result = w.command(command) self.assertMultiLineEqual(result, "<div class='command' id='command_1_1'>\n" " <span class='command_line'>command line</span>\n" ' <span class="command_ok">[OK]</span>\n' ' <div class="stats">\n' ' <div class="stats_header">Statistics:</div>\n' ' <b>param1:</b> 300<br />\n' ' <b>param2:</b> 400<br />\n' ' </div>\n' '</div>\n' )