diff -r ac0bbc1e5d79 -r 8dd670a9f34f sbsv2/raptor/test/unit_suite/filter_html_unit.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sbsv2/raptor/test/unit_suite/filter_html_unit.py Mon Sep 13 14:04:04 2010 +0100 @@ -0,0 +1,88 @@ + +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". + +''' +Test the HTML class in plugins/filter_html.py +''' + +import os +import shutil +import sys +import unittest + +test_data = os.path.join(os.getcwd(),"unit_suite","data","html_filter") + +# add the plugins directory to the python path +sys.path.append(os.path.join(os.environ['SBS_HOME'], "python", "plugins")) +# so that we can import the filter module directly +import filter_html +import generic_path + +class Mock(object): + '''empty object for attaching arbitrary attributes and functions.''' + pass + +class TestFilterHtml(unittest.TestCase): + '''test cases for the HTML log filter. + + This is a minimal set of tests for starters. As people start using this + filter and reporting bugs and niggles we can add test cases here to + avoid regressions.''' + + def setUp(self): + self.mock_params = Mock() + self.mock_params.configPath = [generic_path.Path("config")] + self.mock_params.home = generic_path.Path(test_data) + self.mock_params.logFileName = generic_path.Path("tmp/foo") + self.mock_params.timestring = "now" + + # where do we expect the output to be written + self.html_dir = str(self.mock_params.logFileName) + "_html" + + def tearDown(self): + '''remove all the generated output files and directories.''' + if os.path.isdir(self.html_dir): + shutil.rmtree(self.html_dir) + + def testPass(self): + '''are the setUp and tearDown methods sane.''' + pass + + def testConstructor(self): + '''simply construct an HTML object.''' + html = filter_html.HTML() + + def testMinimalLog(self): + '''process a minimal log file.''' + html = filter_html.HTML() + self.assertTrue( html.open(self.mock_params) ) + self.assertTrue( html.write('\n') ) + self.assertTrue( html.write('') ) + self.assertTrue( html.write('') ) + self.assertTrue( html.close() ) + + self.assertTrue( os.path.isfile(self.html_dir + "/index.html") ) + self.assertTrue( os.path.isfile(self.html_dir + "/style.css") ) + +# run all the tests + +from raptor_tests import SmokeTest + +def run(): + t = SmokeTest() + t.name = "filter_html_unit" + + tests = unittest.makeSuite(TestFilterHtml) + result = unittest.TextTestRunner(verbosity=2).run(tests) + + if result.wasSuccessful(): + t.result = SmokeTest.PASS + else: + t.result = SmokeTest.FAIL + + return t