def setUp(self): self.connection = db_connection(CONFIG_SECTION) self.session = self.connection.session params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date =\ "2009-01-01" self.report_criteria.include_updates = True self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.report.IGNORE_SITE = 'Ekek' self.output = self.report.output_filename
def setUp(self): self.conn = db_connection(CONFIG_SECTION) params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date = "2009-01-01" # setting reportable_region requires db validation self.report_criteria.credentials(user=params['user'], password=params['password']) self.report_criteria.reportable_region = 'test_region' self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.output = self.report.output_filename
class GenerateNoRegionReportTest(unittest.TestCase): """No region now excludes config IGNORE_SITE """ def setUp(self): self.connection = db_connection(CONFIG_SECTION) self.session = self.connection.session params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date =\ "2009-01-01" self.report_criteria.include_updates = True self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.report.IGNORE_SITE = 'Ekek' self.output = self.report.output_filename def tearDown(self): self.connection.disconnect() self.report.tearDown() os.remove(self.output) def testRegionX(self): # Add two visits to the database, one from region X # should then only see one in the report facility_in_region = 1297242868 facility_not_in_region = 1873417805 # region X visit_in = Visit( pk=1, visit_id=u'45', patient_id=u'patient id', dim_facility_pk=facility_in_region, zip=u'zip', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'200101', chief_complaint=u'Loves Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10', ) visit_out = Visit( pk=2, visit_id=u'46', patient_id=u'bad patient id', dim_facility_pk=facility_not_in_region, zip=u'222', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'199010', chief_complaint=u'Hates Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10', ) self.session.add_all((visit_in, visit_out)) self.session.commit() self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 2) # header + one match self.assertTrue('45' in lines[1])
class GenerateNoRegionReportTest(unittest.TestCase): """No region now excludes config IGNORE_SITE """ def setUp(self): self.connection = db_connection(CONFIG_SECTION) self.session = self.connection.session params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date =\ "2009-01-01" self.report_criteria.include_updates = True self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.report.IGNORE_SITE = 'Ekek' self.output = self.report.output_filename def tearDown(self): self.connection.disconnect() self.report.tearDown() os.remove(self.output) def testRegionX(self): # Add two visits to the database, one from region X # should then only see one in the report facility_in_region = 1297242868 facility_not_in_region = 1873417805 # region X visit_in = Visit(pk=1, visit_id=u'45', patient_id=u'patient id', dim_facility_pk=facility_in_region, zip=u'zip', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'200101', chief_complaint=u'Loves Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10',) visit_out = Visit(pk=2, visit_id=u'46', patient_id=u'bad patient id', dim_facility_pk=facility_not_in_region, zip=u'222', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'199010', chief_complaint=u'Hates Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10',) self.session.add_all((visit_in, visit_out)) self.session.commit() self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 2) # header + one match self.assertTrue('45' in lines[1])
class GenerateRegionReportTest(unittest.TestCase): """One of the reporting options is to limit the sites included to values matching in the reportable_region table. """ def setUp(self): self.conn = db_connection(CONFIG_SECTION) params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date = "2009-01-01" # setting reportable_region requires db validation self.report_criteria.credentials(user=params['user'], password=params['password']) self.report_criteria.reportable_region = 'test_region' self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.output = self.report.output_filename def tearDown(self): self.conn.disconnect() self.report.tearDown() os.remove(self.report.output_filename) def testInvalidRegion(self): def assign_bad_region(value): self.report_criteria.reportable_region = value self.assertRaises(AttributeError, assign_bad_region, 'bogus') def testReportName(self): self.assertTrue('test_region' in self.output) def testEmptyReport(self): # without adding any visits to the database, we should # still be able to run, and simply get the header back self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 1) self.assertEqual(self.report._header(), lines[0].rstrip()) def testRegionOnly(self): # Add two visits to the database, only one from the facilities # in the 'test_region' region - should then only see one in the # report facility_in_region = 10987 facility_not_in_region = 65432 visit_in = Visit( pk=1, visit_id=u'45', patient_id=u'patient id', dim_facility_pk=facility_in_region, zip=u'zip', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'200101', chief_complaint=u'Loves Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10', ) visit_out = Visit( pk=2, visit_id=u'46', patient_id=u'outta region id', dim_facility_pk=facility_not_in_region, zip=u'222', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'199010', chief_complaint=u'Hates Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10', ) self.conn.session.add_all((visit_in, visit_out)) self.conn.session.commit() self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 2) self.assertTrue('45' in lines[1])
class GenerateRegionReportTest(unittest.TestCase): """One of the reporting options is to limit the sites included to values matching in the reportable_region table. """ def setUp(self): self.conn = db_connection(CONFIG_SECTION) params = db_params(CONFIG_SECTION) self.report_criteria = ReportCriteria() self.report_criteria.database = params['database'] self.report_criteria.start_date =\ self.report_criteria.end_date = "2009-01-01" # setting reportable_region requires db validation self.report_criteria.credentials(user=params['user'], password=params['password']) self.report_criteria.reportable_region = 'test_region' self.report = GenerateReport(user=params['user'], password=params['password'], report_criteria=self.report_criteria) self.output = self.report.output_filename def tearDown(self): self.conn.disconnect() self.report.tearDown() os.remove(self.report.output_filename) def testInvalidRegion(self): def assign_bad_region(value): self.report_criteria.reportable_region = value self.assertRaises(AttributeError, assign_bad_region, 'bogus') def testReportName(self): self.assertTrue('test_region' in self.output) def testEmptyReport(self): # without adding any visits to the database, we should # still be able to run, and simply get the header back self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 1) self.assertEqual(self.report._header(), lines[0].rstrip()) def testRegionOnly(self): # Add two visits to the database, only one from the facilities # in the 'test_region' region - should then only see one in the # report facility_in_region = 10987 facility_not_in_region = 65432 visit_in = Visit(pk=1, visit_id=u'45', patient_id=u'patient id', dim_facility_pk=facility_in_region, zip=u'zip', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'200101', chief_complaint=u'Loves Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10',) visit_out = Visit(pk=2, visit_id=u'46', patient_id=u'outta region id', dim_facility_pk=facility_not_in_region, zip=u'222', admit_datetime=self.report_criteria.start_date, gender=u'F', dob=u'199010', chief_complaint=u'Hates Testing', patient_class=u'1', disposition='01', first_message='2010-10-10', last_message='2010-10-10',) self.conn.session.add_all((visit_in, visit_out)) self.conn.session.commit() self.report.execute() results = open(self.output, 'r') lines = results.readlines() self.assertEqual(len(lines), 2) self.assertTrue('45' in lines[1])