| *** Settings *** | 
| Documentation  Advanced Relation testing on Normal Operations. Run with UTFNormalOperations | 
|   | 
| Library  qtestlib | 
| Library  OperatingSystem | 
|   | 
| Suite Setup  TestSuite Initialize | 
| Suite Teardown  TestSuite Finalize | 
|   | 
| Test Timeout  100 | 
|   | 
| *** Variables *** | 
| # Do not change remove this, we need these for ALM execution | 
| &{alm_params} | 
|   | 
| # Do not remove this, special pamater ALM and RnD local run | 
| # Provide alternative to specify the external configuration from cmd | 
| &{external_settings} | 
|   | 
| # Set the Quintiq settings | 
| # Available settings are: | 
| # ignore_errors=12345,23456  warn_errors=12345,23456  suite_settings_file=local_local.yaml  suite_settings_section=Database.MSSQL2012 | 
| &{quintiq_settings}=  ignore_errors=113796    | 
|   | 
| # Do not change these set of parameters, for library internal usage | 
| &{global_params}=  current_dir=${CURDIR}  &{quintiq_settings}  &{external_settings}  &{alm_params} | 
|   | 
| # Set QExecutable commandline argumment, for eg: /webserverport=8888  /webservermode=2 | 
| @{qdbodbc_param} | 
| @{qtce_param} =  /tceditor=mixed  /webserver  /webserverport=8080  /serviceport.web.enablelocalhostnonsecure  /noqimauthentication | 
|   | 
| # Do not use qserver-param for permanent change, but use model role config or local config for ci | 
| @{qserver_param} | 
|   | 
| # Set the QExecutable settings: | 
| # Default value for max_start_time, max_shutdown_time, max_execution_time are 100 | 
| # Available settings are: | 
| # max_start_time=${120}  max_shutdown_time=${120}  max_execution_time=${120}  ignore_errors=12345,23456  warn_errors=12345,23456 | 
| &{qdbodbc_settings} | 
| &{qserver_settings}=  max_start_time=${300}  max_execution_time=${1200} | 
| &{qtce_settings} | 
| # &{qtce_connection_outgoing_anonymous}=  servername=localhost  port=6000  index=0  services=SERVICES  protocol.securecommunication.authentication=Anonymous  protocol.streamtype=SECURESOCK_STREAM | 
| # &{qtce_connection_group_outgoing_anonymous}=  groupactive=true  groupindex=0  groupname=SERVER  groupkind=Generic  connection0=&{qtce_connection_outgoing_anonymous}   | 
| # &{qtce_connection_incoming_anonymous}=  port=6300   protocol.securecommunication.authentication=Anonymous  protocol.streamtype=SECURESOCK_STREAM | 
|   | 
| # For Quintiq version 6.1 onwards | 
| # &{qtce_connection_incoming_qthinclient}=  port=6300  service=Quintiq  minimumsecurity=Anonymous | 
| &{qtce_connection_incoming_qthinclient}=  port=6300  service=Quintiq  minimumsecurity=Nonsecure | 
| &{qtce_connection_incoming_webclient}=  port=6300  service=Web  minimumsecurity=Nonsecure | 
| &{qtce_connection_group_incoming}=  active=true  groupindex=1  0=&{qtce_connection_incoming_qthinclient}  1=&{qtce_connection_incoming_webclient} | 
|   | 
| # Set the dbodbc connection in qserver | 
| # You don't need to configure anything if you don't need to modify the value | 
| # Available settings are: | 
| # group_name=dbodbc1  host=localhost  port=6100  secure_comm_enabled=True  compression=FastCompression  encryption=Normal | 
| # custom_cipher_file=${EMPTY}  protocol=${EMPTY}  authentication_enabled=False  key_store=${EMPTY} | 
| &{dbodbc_connection} | 
|   | 
| # Set the mdsstoragedefinition settings, leave it empty and it will use the settings in local settings file(yaml/json) | 
| # Available settings are: | 
| # audit_trail_enabled=False  audit_trail_location=${EMPTY}  database_enabled=True  datasetstore_datasource=DEFAULT  datasetstore_enabled=False | 
| # datasetstore_is_local=False  db_format=Legacy  driver=ODBC  max_column_name=0  max_table_name=0  name=  ${EMPTY}oci_connection_basic_host=${EMPTY} | 
| # oci_connection_basic_port=1521  oci_connection_basic_service=${EMPTY}  oci_connection_tns_name=${EMPTY}  oci_connection_type=Basic  parameters=${EMPTY}  password=${EMPTY} | 
| &{mdsstoragedefinition} | 
|   | 
| # Set the destination to copy test data | 
| # This is DP-specific, test data are required to be copied to run DP webclient pcs test | 
| # datadestination - the location of data inside DP model | 
| # datasetpath - the path in the shared folder | 
| ${datadestination}=  /MacroPlanner/_var/_Main/DSS/MacroPlanner | 
|   | 
| *** Keywords *** | 
| TestSuite Initialize | 
|   Initialize  &{global_params} | 
|   Setup Model Settings | 
|   | 
|   Register QComponent  QDBODBC  MyDBODBC  @{qdbodbc_param}  &{qdbodbc_settings} | 
|   Register QComponent  QServer  MyServer  @{qserver_param}  &{qserver_settings} | 
|   Register QComponent  QTCE  MyTCE  @{qtce_param}  &{qtce_settings} | 
|   Init Arch  DefaultSettings | 
|   Configure Incoming Connection  MyTCE  serviceportgroup1  &{qtce_connection_group_incoming} | 
|   | 
| # Copy dataset from shared directory to model directory | 
|   ${datasource}=  Get Environment Variable  WC_PCS_DATA_SOURCE | 
|   ${dataset}=  Get Environment Variable  WC_PCS_TESTDATA_NAME | 
|   ${datasource}=  Catenate  SEPARATOR=  ${datasource}  ${dataset} | 
|   ${modeldir}=  models dir | 
|   ${datadestination}=  Catenate  SEPARATOR=  ${modeldir}  ${datadestination} | 
|   Remove Directory  ${datadestination}  recursive=True | 
|   # Wait until the dataset storage is found in the directory | 
|   Wait Until Keyword Succeeds  1 min  15 sec  Directory Should Exist  ${datasource} | 
|   Copy Directory  ${datasource}  ${datadestination} | 
|   List Directory  ${datasource} | 
|   List Directory  ${datadestination} | 
|   | 
|   Start QComponent  MyDBODBC | 
|   Start QComponent  MyServer | 
|   Sleep  1 minute | 
|   Start QComponent  MyTCE | 
|    | 
| TestSuite Finalize | 
|    Sleep  1s | 
|   | 
| Dummy log | 
|   Log  Hello,World | 
|   | 
| *** Test Cases *** | 
| UTF Test 1 | 
|   Dummy log   |