def _assert_stored_ddti(self, expected_cnt=1): count = dao.count_datatypes(self.test_project.id, DummyDataTypeIndex) assert expected_cnt == count datatype = dao.try_load_last_entity_of_type(self.test_project.id, DummyDataTypeIndex) assert datatype.subject == DataTypeMetaData.DEFAULT_SUBJECT, "Wrong data stored." return datatype
def get_entity_count(project, datatype): """ Return the count of stored datatypes with class given by `datatype` :param datatype: Take class from this instance amd count for this class """ return dao.count_datatypes(project.id, datatype.__class__)
def _assert_stored_dt2(self, expected_cnt=1): count = dao.count_datatypes(self.test_project.id, Datatype2) self.assertEqual(expected_cnt, count) datatype = dao.try_load_last_entity_of_type(self.test_project.id, Datatype2) self.assertEqual(datatype.subject, DataTypeMetaData.DEFAULT_SUBJECT, "Wrong data stored.") return datatype
def _create_measure(conn, op, op_dir, project_id): conn_measure = ConnectivityMeasure() conn_measure.connectivity = h5.load_from_index(conn) conn_measure.array_data = numpy.array(conn.number_of_regions) conn_measure_db = h5.store_complete(conn_measure, op_dir) conn_measure_db.fk_from_operation = op.id dao.store_entity(conn_measure_db) count = dao.count_datatypes(project_id, DataTypeMatrix) return count
def import_zip_connectivity(user, project, zip_path=None, subject=DataTypeMetaData.DEFAULT_SUBJECT): if zip_path is None: zip_path = os.path.join(os.path.dirname(tvb_data.__file__), 'connectivity', 'connectivity_76.zip') count = dao.count_datatypes(project.id, ConnectivityIndex) view_model = ZIPConnectivityImporterModel() view_model.uploaded = zip_path view_model.data_subject = subject TestFactory.launch_importer(ZIPConnectivityImporter, view_model, user, project.id) return TestFactory._assert_one_more_datatype(project, ConnectivityIndex, count)
def import_surface_zip(user, project, zip_path, surface_type, zero_based=True, same_process=True): count = dao.count_datatypes(project.id, SurfaceIndex) view_model = ZIPSurfaceImporterModel() view_model.uploaded = zip_path view_model.should_center = True view_model.zero_based_triangles = zero_based view_model.surface_type = surface_type TestFactory.launch_importer(ZIPSurfaceImporter, view_model, user, project, same_process) return TestFactory._assert_one_more_datatype(project, SurfaceIndex, count)
def test_export_import_figures(self, user_factory, project_factory): """ Test that ResultFigure instances are correctly restores after an export+import project """ # Prepare data user = user_factory() project = project_factory(user, "TestImportExportFigures") zip_path = os.path.join(os.path.dirname(tvb_data.__file__), 'connectivity', 'paupau.zip') TestFactory.import_zip_connectivity(user, project, zip_path) figure_service = FigureService() figure_service.store_result_figure(project, user, "png", IMG_DATA, "bla") figure_service.store_result_figure(project, user, "png", IMG_DATA, "bla") figures = list( figure_service.retrieve_result_figures(project, user)[0].values())[0] assert 2 == len(figures) # export, delete and the import project self.zip_path = ExportManager().export_project(project) assert self.zip_path is not None, "Exported file is none" self.project_service.remove_project(project.id) self.import_service.import_project_structure(self.zip_path, user.id) # Check that state is as before export: one operation, one DT, 2 figures retrieved_project = self.project_service.retrieve_projects_for_user( user.id)[0][0] count_operations = dao.get_filtered_operations(retrieved_project.id, None, is_count=True) assert 1 == count_operations count_datatypes = dao.count_datatypes(retrieved_project.id, DataType) assert 1 == count_datatypes figures = list( figure_service.retrieve_result_figures(retrieved_project, user)[0].values())[0] assert 2 == len(figures) assert "bla" in figures[0].name assert "bla" in figures[1].name image_path = utils.url2path(figures[0].file_path) img_data = Image.open(image_path).load() assert img_data is not None
def build(project): count = dao.count_datatypes(project.id, DataTypeMatrix) assert count == 0 op = operation_factory(test_project=project) conn = connectivity_index_factory(op=op) count = _create_measure(conn, op, project) assert count == 1 count = _create_measure(conn, op, project) assert count == 2 count = _create_measure(conn, op, project) assert count == 3 return get_filtered_datatypes(project.id, DataTypeMatrix)[0]
def build(test_user, test_project): view_model = BaseBCTModel() view_model.connectivity = get_filtered_datatypes(test_project.id, ConnectivityIndex, page_size=1)[0][0][2] adapter = ABCAdapter.build_adapter_from_class(TransitivityBinaryDirected) op = OperationService().fire_operation(adapter, test_user, test_project.id, view_model=view_model) # wait for the operation to finish tries = 5 while not op.has_finished and tries > 0: sleep(5) tries = tries - 1 op = dao.get_operation_by_id(op.id) value_wrapper = try_get_last_datatype(test_project.id, ValueWrapperIndex) count = dao.count_datatypes(test_project.id, ValueWrapperIndex) assert 1 == count return value_wrapper
def build(project): count = dao.count_datatypes(project.id, DataTypeMatrix) assert count == 0 op = operation_factory(test_project=project) conn = connectivity_index_factory(op=op) storage_path = FilesHelper().get_project_folder( op.project, str(op.id)) count = _create_measure(conn, op, storage_path, project.id) assert count == 1 count = _create_measure(conn, op, storage_path, project.id) assert count == 2 count = _create_measure(conn, op, storage_path, project.id) assert count == 3 return get_filtered_datatypes(project.id, DataTypeMatrix)[0]
def validate_first_fragment(form, project_id, conn_idx): conn_count = dao.count_datatypes(project_id, conn_idx) if conn_count == 0: form.connectivity.errors.append( "No connectivity in the project! Simulation cannot be started without " "a connectivity!")
def _assert_no_dt2(self): count = dao.count_datatypes(self.test_project.id, Datatype2) self.assertEqual(0, count)
def blue_datatypes_in(self, project_id): return dao.count_datatypes(project_id, SensorsIndex)
def red_datatypes_in(self, project_id): return dao.count_datatypes(project_id, ConnectivityIndex)
def _assert_one_more_datatype(project, dt_class, prev_count=0): dt = try_get_last_datatype(project.id, dt_class) count = dao.count_datatypes(project.id, dt_class) assert prev_count + 1 == count, "Project should contain only one new DT." assert dt is not None, "Retrieved DT should not be empty" return dt
def _assert_no_ddti(self): count = dao.count_datatypes(self.test_project.id, DummyDataTypeIndex) assert 0 == count
def _assert_no_dt2(self): count = dao.count_datatypes(self.test_project.id, Datatype2) assert 0 == count
def _assert_stored_dt2(self, expected_cnt=1): count = dao.count_datatypes(self.test_project.id, Datatype2) assert expected_cnt == count datatype = dao.try_load_last_entity_of_type(self.test_project.id, Datatype2) assert datatype.subject == DataTypeMetaData.DEFAULT_SUBJECT, "Wrong data stored." return datatype