Пример #1
0
    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
Пример #2
0
    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