///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////
[MAIN_CONTROLLER]

[MODULE_PARAMETERS]

tsp_EPTF_DsRestAPI_HTTPServer_RemotePort := 3164;
tsp_EPTF_DsRestAPI_HTTPServer_directory := "../DSHelpGUI";

tsp_LGenBase_EntityGrpDeclarators := {
    {
        name := "DefaultEGrp",
        eType := "ExecCtrTestDefaultETypeName",
        eCount := 100
    }
};

tsp_LGenBase_Scenarios2Grps := {
    {
        eGrpName := "DefaultEGrp",
        scenarioNames := {
            "DefaultSc"
        }
    }, {
        eGrpName := "DefaultEGrp",
        scenarioNames := {
            "DefaultWSc"
        }
    }
};

tsp_LGenBase_TcMgmt_tcTypeDeclarators2 := {
    {
        name := "DefaultTcType",
        fsmName := "defaultFSM",
        entityType := "ExecCtrTestDefaultETypeName",
        customEntitySucc := ""
    }
};

tsp_LGenBase_TcMgmt_ScenarioDeclarators3 := {
    {
        name := "DefaultSc",
        tcList := {
            {
                tcName := "DefaultTC1",
                tcParamsList := {
                    {
                        tcTypeName := "DefaultTcType"
                    }, {
                        enableEntitiesAtStart := true
                    }, {
                        enabledAtStart := false
                    }, {
                        target := {
                            cpsToReach := 10.000000
                        }
                    }
                }
            }, {
                tcName := "DefaultTC2",
                tcParamsList := {
                    {
                        tcTypeName := "DefaultTcType"
                    }, {
                        enableEntitiesAtStart := true
                    }, {
                        enabledAtStart := true
                    }, {
                        target := {
                            cpsToReach := 9.000000
                        }
                    }
                }
            }
        },
        scParamsList := {
            {
                enabled := true
            }
        }
    }, {
        name := "DefaultWSc",
        tcList := {
            {
                tcName := "DefaultTC1",
                tcParamsList := {
                    {
                        tcTypeName := "DefaultTcType"
                    }, {
                        enableEntitiesAtStart := true
                    }, {
                        enabledAtStart := false
                    }, {
                        target := {
                            trafficWeight := 1.000000
                        }
                    }
                }
            }, {
                tcName := "DefaultTC2",
                tcParamsList := {
                    {
                        tcTypeName := "DefaultTcType"
                    }, {
                        enableEntitiesAtStart := true
                    }, {
                        enabledAtStart := true
                    }, {
                        target := {
                            trafficWeight := 3.000000
                        }
                    }
                }
            }
        },
        scParamsList := {
            {
                weightedScData := {
                    cpsToReach := 10.000000,
                    lockCPS := false,
                    deterministicMix := false,
                    scheduler := omit
                }
            }, {
                enabled := true
            }
        }
    }
}

tsp_EPTF_ExecCtrl_LGenPool_Declarators := {
    {
        name := "LGenDefaultPool",
        lgenPoolItems := {
            {
                hostname := "localhost",
                num := 2,
                createFunctionName := "EPTF_DSHelp_Functions.f_EPTF_DSHelp_createDefaultLGen"
            }
        }
    }
};

tsp_EPTF_ExecCtrl_EntityGroup2LGenPool_List := {
    {
        eGrpName := "DefaultEGrp",
        lgenPoolName := "LGenDefaultPool"
    }
};

tsp_EPTF_ExecCtrl_RegulatedItems := {
    {
        idName := {
            cps_TC := {
                eGrpName := "DefaultEGrp",
                scName := "DefaultSc",
                tcName := "DefaultTC2"
            }
        },
        weight := 1.000000,
        enabled := true,
        regulatorName := "LimitMaxRegulator"
    }, {
        idName := {
            cps_SC := {
                eGrpName := "DefaultEGrp",
                scName := "DefaultWSc"
            }
        },
        weight := 1.000000,
        enabled := true,
        regulatorName := "LimitMaxRegulator"
    }
};

[EXECUTE]

EPTF_DSHelp_Testcases.control

[LOGGING]
FileMask := TTCN_TESTCASE | TTCN_STATISTICS | TTCN_ERROR | TTCN_ACTION | TTCN_VERDICTOP | TTCN_DEBUG
ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS | TTCN_ERROR | TTCN_ACTION
//| TTCN_WARNING
LogFile := "%c@%h-%n-%r.log"
SourceInfoFormat := Stack
LogEventTypes := Yes
LogEntityName := Yes



