def test_same_report_filtering(self, fromConfig, fromOptions, getLogger): def fake_virts(logger, config): new_fake_virt = Mock() new_fake_virt.config.name = config.name return new_fake_virt fromConfig.side_effect = fake_virts options = Mock() options.interval = 0 options.oneshot = True options.print_ = False options.log_dir = '' options.log_file = '' virtwho = VirtWho(self.logger, options, config_dir="/nonexistant") queue = Queue() # Create another report with same hash report2 = HostGuestAssociationReport(self.config, self.fake_report.association) self.assertEqual(self.fake_report.hash, report2.hash) def send(report): report.state = AbstractVirtReport.STATE_FINISHED # Put second report when the first is done queue.put(report2) return True virtwho.send = Mock(side_effect=send) virtwho.queue = queue virtwho.retry_after = 1 virtwho.configManager.addConfig(self.config) queue.put(self.fake_report) virtwho.run() self.assertEquals(virtwho.send.call_count, 1)
def test_report_hash_added_after_send(self, fromConfig, fromOptions, getLogger): # Side effect for fromConfig def fake_virts(logger, config): new_fake_virt = Mock() new_fake_virt.config.name = config.name return new_fake_virt fromConfig.side_effect = fake_virts options = Mock() options.interval = 0 options.oneshot = True options.print_ = False options.log_file = '' options.log_dir = '' virtwho = VirtWho(self.logger, options, config_dir="/nonexistant") def send(report): report.state = AbstractVirtReport.STATE_FINISHED return True virtwho.send = Mock(side_effect=send) queue = Queue() virtwho.queue = queue virtwho.retry_after = 1 virtwho.configManager.addConfig(self.config) virtwho.configManager.addConfig(self.second_config) queue.put(self.fake_report) queue.put(self.fake_domain_list) virtwho.run() self.assertEquals(virtwho.send.call_count, 2) self.assertEqual(virtwho.last_reports_hash[self.config.name], self.fake_report.hash) self.assertEqual(virtwho.last_reports_hash[self.second_config.name], self.fake_domain_list.hash)