def test_open_stoarge_home_dir(self): """Copy test database to ~ and try to open it.""" file_name = "~/test.sme.sqlite" abs_file_name = os.path.expanduser(file_name) remove_file(abs_file_name) shutil.copy2('./test.sme.sqlite', abs_file_name) m = Model() m.open_storage(abs_file_name) result = m.state()['storage_opened'] m.close_storage() remove_file(abs_file_name) self.assertTrue(result)
def test_insert_examination_to_new_storage(self): """Number of examination must be 1 after insertion examination to new empty storage.""" m = Model() file_name = './copy-test.sme.sqlite' m.create_storage(file_name) m.insert_exam(create_test_exam()) m.close_storage() conn = sqlite3.connect(file_name) c = conn.cursor() c.execute("select count(*) from examination") n = c.fetchone()[0] conn.close() remove_file(file_name) self.assertEqual(n, 1)
def test_create_storage_if_exists(self): """If file file_name exists it should be correctly replaced by new storage.""" m = Model() file_name = './copy-test.sme.sqlite' shutil.copy2('./test.sme.sqlite', file_name) m.create_storage(file_name) m.close_storage() conn = sqlite3.connect(file_name) c = conn.cursor() c.execute("select count(*) from examination") n = c.fetchone()[0] conn.close() remove_file(file_name) self.assertEqual(n, 0)
def test_insert_examination(self): """Number of examination must be increase after insert examination.""" m = Model() file_name = './copy-test.sme.sqlite' shutil.copy2('./test.sme.sqlite', file_name) def get_len(): conn = sqlite3.connect(file_name) c = conn.cursor() c.execute("select count(*) from examination") return c.fetchone()[0] conn.close() len_before = get_len() m.open_storage(file_name) m.insert_exam(create_test_exam()) m.close_storage() len_after = get_len() remove_file(file_name) self.assertTrue(len_after > len_before)
def test_extract_exams_multiple_ids(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.extract_exams(['1', '0', '0', '1', '0']) m.close_storage() self.assertEqual(len(es), 3)
def test_extract_exams_union_ungrouped_and_other(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.extract_exams(['1', '0']) m.close_storage() self.assertEqual(len(es), 3)
def test_extract_exams_single_id_default_union(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.extract_exams(['1']) m.close_storage() self.assertEqual(len(es), 2)
def test_extract_exams_union(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.extract_exams(['1', '2'], 'union') m.close_storage() self.assertEqual(len(es), 3)
def test_exams_not_existing_group_id(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.exams('1000') m.close_storage() self.assertEqual(es, None)
def test_exams_length_of_result_group_1(self): m = Model() m.open_storage('./test.sme.sqlite') es = m.exams('1') m.close_storage() self.assertEqual(len(es), 2)