def build(subject="Datatype Factory User", state="RAW_DATA", project=None): range_1 = ["row1", [1, 2, 3]] range_2 = ["row2", [0.1, 0.3, 0.5]] user = user_factory() if project is None: project = project_factory(user) # Create an algorithm alg_category = AlgorithmCategory('one', True) dao.store_entity(alg_category) ad = Algorithm(IntrospectionRegistry.SIMULATOR_MODULE, IntrospectionRegistry.SIMULATOR_CLASS, alg_category.id) algorithm = dao.get_algorithm_by_module( IntrospectionRegistry.SIMULATOR_MODULE, IntrospectionRegistry.SIMULATOR_CLASS) if algorithm is None: algorithm = dao.store_entity(ad) # Create meta meta = { DataTypeMetaData.KEY_SUBJECT: "Datatype Factory User", DataTypeMetaData.KEY_STATE: "RAW_DATA" } # Create operation operation = operation_factory(algorithm=algorithm, test_user=user, test_project=project, meta=meta) group = OperationGroup( project.id, ranges=[json.dumps(range_1), json.dumps(range_2)]) group = dao.store_entity(group) group_ms = OperationGroup( project.id, ranges=[json.dumps(range_1), json.dumps(range_2)]) group_ms = dao.store_entity(group_ms) datatype_group = DataTypeGroup(group, subject=subject, state=state, operation_id=operation.id) datatype_group = dao.store_entity(datatype_group) dt_group_ms = DataTypeGroup(group_ms, subject=subject, state=state, operation_id=operation.id) dao.store_entity(dt_group_ms) # Now create some data types and add them to group for range_val1 in range_1[1]: for range_val2 in range_2[1]: op = Operation(user.id, project.id, algorithm.id, 'test parameters', meta=json.dumps(meta), status=STATUS_FINISHED, range_values=json.dumps({ range_1[0]: range_val1, range_2[0]: range_val2 })) op.fk_operation_group = group.id op = dao.store_entity(op) datatype = time_series_index_factory(op=op) datatype.number1 = range_val1 datatype.number2 = range_val2 datatype.fk_datatype_group = datatype_group.id datatype.operation_id = op.id dao.store_entity(datatype) op_ms = Operation(user.id, project.id, algorithm.id, 'test parameters', meta=json.dumps(meta), status=STATUS_FINISHED, range_values=json.dumps({ range_1[0]: range_val1, range_2[0]: range_val2 })) op_ms.fk_operation_group = group_ms.id op_ms = dao.store_entity(op_ms) datatype_measure_factory(datatype) return datatype_group
def build(subject="Datatype Factory User", state="RAW_DATA", project=None): # TODO This is not real, we miss a ViewModel stored # there store the name and the (hi, lo, step) value of the range parameters range_1 = ["row1", [1, 2, 10]] range_2 = ["row2", [0.1, 0.3, 0.5]] # there are the actual numbers in the interval range_values_1 = [1, 3, 5, 7, 9] range_values_2 = [0.1, 0.4] user = user_factory() if project is None: project = project_factory(user) algorithm = dao.get_algorithm_by_module( IntrospectionRegistry.SIMULATOR_MODULE, IntrospectionRegistry.SIMULATOR_CLASS) # Create operation operation = operation_factory(algorithm=algorithm, test_user=user, test_project=project) group = OperationGroup( project.id, ranges=[json.dumps(range_1), json.dumps(range_2)]) group = dao.store_entity(group) group_ms = OperationGroup( project.id, ranges=[json.dumps(range_1), json.dumps(range_2)]) group_ms = dao.store_entity(group_ms) datatype_group = DataTypeGroup(group, subject=subject, state=state, operation_id=operation.id) datatype_group.no_of_ranges = 2 datatype_group.count_results = 10 datatype_group = dao.store_entity(datatype_group) dt_group_ms = DataTypeGroup(group_ms, subject=subject, state=state, operation_id=operation.id) datatype_group.no_of_ranges = 2 datatype_group.count_results = 10 dao.store_entity(dt_group_ms) # Now create some data types and add them to group for range_val1 in range_values_1: for range_val2 in range_values_2: op = Operation(user.id, project.id, algorithm.id, 'test parameters', status=STATUS_FINISHED, range_values=json.dumps({ range_1[0]: range_val1, range_2[0]: range_val2 })) op.fk_operation_group = group.id op = dao.store_entity(op) datatype = time_series_index_factory(op=op) datatype.number1 = range_val1 datatype.number2 = range_val2 datatype.fk_datatype_group = datatype_group.id datatype.operation_id = op.id dao.store_entity(datatype) op_ms = Operation(user.id, project.id, algorithm.id, 'test parameters', status=STATUS_FINISHED, range_values=json.dumps({ range_1[0]: range_val1, range_2[0]: range_val2 })) op_ms.fk_operation_group = group_ms.id op_ms = dao.store_entity(op_ms) datatype_measure_factory(datatype, op_ms, dt_group_ms) return datatype_group