示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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)
示例#4
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)
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
 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)
示例#8
0
 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)
示例#9
0
 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)
示例#10
0
 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)