Kevin Kok Khah Whey
2023-11-07 5ae534ab606e6f2ba5ea60914224d665b0447d5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
*** Settings ***
Documentation  MacroPlanner UTF Basic Tests
...            All tests contain a workflow constructed from keywords in
 
Library  qtestlib
Library  RequestsLibrary
Library  OperatingSystem
 
Suite Setup  TestSuite Initialize
Suite Teardown  TestSuite Finalize
 
Test Timeout  45 minutes
 
*** 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,116713
 
 
# 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}=  /webserverport=8082  /webserverloglevel=3  /modules=thinclient,webclient  /serviceport.web.enablelocalhostnonsecure  /noqimauthentication  /qimlogcount=10000
@{qtc_mp_param}=  /project=MacroPlanner  /autostart  /service=quintiq
@{qtc_mpsb_param}=  /project=MPSyncBrowser  /autostart  /service=quintiq
 
# Do not use qserver-param for permanent change, but use model role config or local config for ci
@{qserver_param}
 
&{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 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=${1800}  max_shutdown_time=${1800}  max_execution_time=${2700}
&{qtce_settings}
&{qtc_mp_settings}
&{qtc_mpsb_settings}
 
# 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}
&{mdsstoragedefinition}
 
${weburl}=  http://localhost:6300/webapp/macroplannerwebapp/
 
*** Keywords ***
TestSuite Initialize
  Initialize  &{global_params}
  Setup Model Settings
  Register QComponent  QServer  MyServer  @{qserver_param}  &{qserver_settings}
  Register QComponent  QTCE  MyTCE  @{qtce_param}  &{qtce_settings}
  Register QComponent  QThinClient  MyTCMP  @{qtc_mp_param}  &{qtc_mp_settings}
  Register QComponent  QThinClient  MyTCMPSB  @{qtc_mpsb_param}  &{qtc_mpsb_settings}
  
  Init Arch  DefaultSettings
  Configure Incoming Connection  MyTCE  serviceportgroup1  &{qtce_connection_group_incoming}
 
  Start QComponent  MyServer
  Start QComponent  MyTCE
  Start QComponent  MyTCMP
  Start QComponent  MyTCMPSB
 
TestSuite Finalize
  Run Keyword If Any Tests Failed  QTestLib.Handle_Failure  Check if any failure detected in child test execution
  Inspect Failure
  Finish
 
Check Site
  Create Session  webclient  ${weburl}
  ${resp}=  Get Request  webclient  /
  Should Be Equal As Strings  ${resp.status_code}  200
  Log To Console  ${resp.status_code}
 
*** Test Cases ***
Get Requests
  Wait Until Keyword Succeeds  3 min  5 sec  Check Site
 
# Execute UTF TestSuite  MyServer  testsuite.xml
UnitTest_UTF_UnitTestMPCheckModel
  Sleep  3 min
  Execute UTF  MyServer  UTF_UnitTestMPCheckModel