def setUp(self): self.stat_runner = StatRunner() self.stat_collector_factory = MockStatCollectorFactory() self.stat_runner.set_stat_collector_factory(self.stat_collector_factory) self.results_index = MockResultsIndex() self.stat_runner.set_results_index(self.results_index)
class StatRunnerTests(TestCase): def setUp(self): self.stat_runner = StatRunner() self.stat_collector_factory = MockStatCollectorFactory() self.stat_runner.set_stat_collector_factory(self.stat_collector_factory) self.results_index = MockResultsIndex() self.stat_runner.set_results_index(self.results_index) def test_create_stat_collector(self): stat1conf = { 'statname': 'stat1' } self.stat_runner.set_conf(stat1conf) sc = self.stat_runner.create_stat_collector() eq_(1, len(self.stat_collector_factory.confs)) ok_(stat1conf in self.stat_collector_factory.confs) def test_get_outfile_locations(self): self.stat_runner.set_conf({ 'outfile': 'file1' }) self.stat_runner.set_output_directory('/tmp/notused') outfile = self.stat_runner.get_outfile_location() eq_('/tmp/notused/file1', outfile) def test_writes_results_to_json_outfile(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here' } self.stat_runner.set_conf(statconf) self.stat_runner.set_output_directory('/tmp/notused') self.stat_runner.run() res = self.stat_collector_factory.scs[0].results_package.outfile_requested eq_('/tmp/notused/outfilename', res) def test_should_be_written_to_index(self): statconf = { 'include_in_results_index': False } self.stat_runner.set_conf(statconf) eq_(False, self.stat_runner.include_in_results_index()) def test_include_in_results_index_default_to_true(self): eq_(True, self.stat_runner.include_in_results_index()) def test_stat_runner_stores_stat_description(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here' } self.stat_runner.set_conf(statconf) eq_('desc goes here', self.stat_runner.get_description()) def test_include_item_in_results_index(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here' } self.stat_runner.set_output_directory('/tmp/notused') self.stat_runner.set_conf(statconf) self.stat_runner.run() eq_('/tmp/notused/outfilename', self.results_index.filename) eq_('desc goes here', self.results_index.desc) def test_exclude_item_from_results_index(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here', 'include_in_results_index': False } self.stat_runner.set_output_directory('/tmp/notused') self.stat_runner.set_conf(statconf) self.stat_runner.run() eq_(None, self.results_index.desc) eq_(None, self.results_index.filename) def test_sets_description_in_results_package(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here'} self.stat_runner.set_output_directory('/tmp/notused') self.stat_runner.set_conf(statconf) self.stat_runner.run() eq_('desc goes here', self.stat_collector_factory.scs[0].results_package.description) def test_sets_datatype_in_results_package(self): statconf = { 'statname': 'stat1', 'outfile': 'outfilename', 'description': 'desc goes here', 'datatype': 'percentage' } self.stat_runner.set_output_directory('/tmp/notused') self.stat_runner.set_conf(statconf) self.stat_runner.run() eq_('percentage', self.stat_collector_factory.scs[0].results_package.datatype)