def test_source_file_crud(): db_url = 'postgresql://*****:*****@localhost:5432/src_file_crud' db = SQLAlchemyORM(db_url) db.create_all(True) # create filepath = 'some/path/file.src' file = File(filepath) src_file = SourceFile(file) f1 = Operation('get', src_file) f2 = Operation('add', src_file) c1 = Call('call', src_file) src_file.add_code_element(f1) src_file.add_code_element(f2) src_file.add_code_element(c1) session = db.create_session() session.add(file) session.commit() # read src_filedb = session.query(SourceFile).get(1) assert src_filedb.file_id == file.id assert src_filedb.file.ext == file.ext assert src_filedb.code_element_by_key(f1.key) assert src_filedb.code_element_by_key(f2.key) assert src_filedb.code_element_by_key(c1.key) # update file.ext = 'crs' f3 = Operation('update', src_file) session.add(f3) session.commit() src_filedb = session.query(SourceFile).get(1) code_elements = session.query(Operation).filter_by(source_file_id=src_filedb.id).all() assert src_filedb.file.ext == file.ext assert len(code_elements) == 3 # delete session.delete(src_file) session.commit() src_filedb = session.query(SourceFile).get(1) filedb = session.query(File).get(1) funcsdb = session.query(Operation).all() assert src_filedb is None assert filedb.name == 'file' assert len(funcsdb) == 0 session.close() db.drop_all()
def test_file_crud(): db_url = 'postgresql://*****:*****@localhost:5432/file_crud' db = SQLAlchemyORM(db_url) db.create_all(True) # create filepath = 'some/path/file.ext' file = File(filepath) assert file.name == 'file' assert file.path == 'some/path' assert file.ext == 'ext' assert file.fullpath == filepath session = db.create_session() session.add(file) session.commit() # read filedb = session.query(File).get(1) assert filedb.name == file.name assert filedb.path == file.path assert filedb.ext == file.ext assert filedb.fullpath == file.fullpath # update file.name = 'renamed_file' assert file.fullpath == 'some/path/renamed_file.ext' file.path = 'new/path' assert file.fullpath == 'new/path/renamed_file.ext' file.ext = 'txe' assert file.fullpath == 'new/path/renamed_file.txe' file.fullpath = 'new/full/path/renamed_file.txe' assert file.fullpath == 'new/full/path/renamed_file.txe' session.commit() filedb = session.query(File).get(1) assert filedb.fullpath == file.fullpath assert filedb.name == file.name # delete session.delete(file) session.commit() filedb = session.query(File).get(1) assert filedb is None session.close() db.drop_all()