Advertisement
yboi

Untitled

Jul 6th, 2015
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.95 KB | None | 0 0
  1. *** Setting ***
  2. Resource resource.robot
  3. Library op_robot_tests.tests_files.service_keywords
  4. Library String
  5. LIbrary Collections
  6. LIbrary Selenium2Library
  7. Library DateTime
  8. Library Selenium2Screenshots
  9. Library DebugLibrary
  10. Library op_robot_tests.tests_files.brokers.openprocurement_client_helper
  11. *** Variables ***
  12.  
  13.  
  14. *** Keywords ***
  15. TestSuiteSetup
  16. Завантажуємо дані про корисувачів і площадки ${LOAD_USERS}
  17. Підготовка початкових даних
  18.  
  19. Завантажуємо дані про корисувачів і площадки
  20. [Arguments] ${active_users}
  21. # Init Brokers
  22. log ${active_users}
  23.  
  24. ${file_path}= Get Variable Value ${BROKERS_FILE} brokers.yaml
  25. ${BROKERS}= load_initial_data_from ${file_path}
  26. log ${BROKERS}
  27. Set Global Variable ${BROKERS}
  28. ${brokers_list}= Get Dictionary Items ${BROKERS}
  29. log ${brokers_list}
  30. # Init Users
  31. ${file_path}= Get Variable Value ${USERS_FILE} users.yaml
  32. ${USERS}= load_initial_data_from ${file_path}
  33. Set Global Variable ${USERS}
  34. ${users_list}= Get Dictionary Items ${USERS.users}
  35. :FOR ${username} ${user_data} IN @{users_list}
  36. \ log ${active_users}
  37. \ log ${username}
  38. \ ${status}= Run Keyword And Return Status List Should Contain Value ${active_users} ${username}
  39. \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file} площадки
  40. \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача
  41.  
  42. Підготовка початкових даних
  43. @{QUESTIONS} = Create list
  44. ${question}= test question data
  45. Append to list ${QUESTIONS} ${question}
  46. Set Global Variable ${QUESTIONS}
  47. @{ANSWERS} = Create list
  48. ${answer}= test_question_answer_data
  49. Append to list ${ANSWERS} ${answer}
  50. Set Global Variable ${ANSWERS}
  51. @{COMPLAINTS} = Create list
  52. ${complaint}= test_complaint_data
  53. Append to list ${COMPLAINTS} ${complaint}
  54. Set Global Variable ${COMPLAINTS}
  55. @{REPLIES} = Create list
  56. ${reply}= test_complaint_reply_data
  57. Append to list ${REPLIES} ${reply}
  58. Set Global Variable ${REPLIES}
  59. ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} ${mode}
  60. Set Global Variable ${INITIAL_TENDER_DATA}
  61. Log ${INITIAL_TENDER_DATA}
  62.  
  63. Завантажуємо бібліотеку з реалізацією ${keywords_file} площадки
  64. Import Resource ${CURDIR}/brokers/${keywords_file}.robot
  65.  
  66.  
  67. ##################################################################################
  68. Дочекатись синхронізації з майданчиком
  69. [Arguments] ${username}
  70. [Documentation]
  71. ... ${ARGUMENTS[0]} == username
  72. ... ${ARGUMENTS[1]} == tenderId
  73. ... ${ARGUMENTS[2]} == id
  74.  
  75. ${now}= Get Current Date
  76. ${delta}= Subtract Date From Date ${now} ${LAST_MODIFICATION_DATE}
  77. ${wait_timout}= Subtract Time From Time ${BROKERS['${USERS.users['${username}'].broker}'].timout_on_wait} ${delta}
  78. Run Keyword If ${wait_timout}>0 Sleep ${wait_timout}
  79.  
  80. #отримати останні зміни в тендері
  81. # ${TENDER_DATA}= Викликати для учасника ${tender_owner} Пошук тендера по ідентифікатору ${TENDER_DATA.data.tenderID} ${TENDER_DATA.data.id}
  82. # Set To Dictionary ${TENDER_DATA} access_token ${access_token}
  83. # Set Global Variable ${TENDER_DATA}
  84. # ${now}= Get Current Date
  85. # Log object data ${TENDER_DATA} tender_${tender_dump_id}
  86. # ${tender_dump_id}= Evaluate ${tender_dump_id}+1
  87. # Set Global Variable ${tender_dump_id}
  88.  
  89. Звірити поле тендера
  90. [Arguments] ${username} ${field}
  91. ${field_value}= Get_From_Object ${INITIAL_TENDER_DATA.data} ${field}
  92. Звірити поле ${username} ${field} ${field_value}
  93.  
  94. Звірити поле
  95. [Arguments] ${username} ${field} ${subject}
  96. ${field_response}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
  97. Should Be Equal ${subject} ${field_response} Майданчик ${USERS.users['${username}'].broker}
  98.  
  99. Звірити поле створеного тендера
  100. [Arguments] ${initial} ${tender_data} ${field}
  101. ${field_value}= Get_From_Object ${initial} ${field}
  102. ${field_response}= Get_From_Object ${tender_data} ${field}
  103. Should Be Equal ${field_value} ${field_response}
  104.  
  105. Звірити дату тендера
  106. [Arguments] ${username} ${field}
  107. ${isodate}= Get_From_Object ${INITIAL_TENDER_DATA.data} ${field}
  108. Звірити дату ${username} ${field} ${isodate}
  109.  
  110. Звірити дату
  111. [Arguments] ${username} ${field} ${subject}
  112. ${field_date}= Викликати для учасника ${username} отримати інформацію із тендера ${field}
  113. ${returned}= compare_date ${subject} ${field_date}
  114. Should Be True '${returned}' == 'True'
  115.  
  116. Звірити поля предметів закупівлі багатопредметного тендера
  117. [Arguments] ${username} ${field}
  118. Дочекатись синхронізації з майданчиком ${username}
  119. @{items}= Get_From_Object ${INITIAL_TENDER_DATA.data} items
  120. ${len_of_items}= Get Length ${items}
  121. :FOR ${index} IN RANGE ${len_of_items}
  122. \ Log ${index}
  123. \ Звірити поле тендера ${viewer} items[${index}].${field}
  124.  
  125.  
  126. Викликати для учасника
  127. [Documentation]
  128. ... cause sometimes keyword SHOULD fail to pass the testcase, this keyword takes "shouldfail" argument as first one in @{arguments} and switches the behaviour of keyword and "shouldfail"
  129. [Arguments] ${username} ${command} @{arguments}
  130. log ${username}
  131. log ${command}
  132. log ${arguments}
  133. ${state}= change_state ${arguments}
  134. ${value}= Run keyword if '${state}' == 'shouldfail' switchsate ${username} ${command} @{arguments}
  135. ${value}= Run keyword if '${state}' == 'pass' normal ${username} ${command} @{arguments}
  136. [return] ${value}
  137.  
  138. normal
  139. [Arguments] ${username} ${command} @{arguments}
  140. log ${username}
  141. log ${command}
  142. log ${arguments}
  143. ${value}= Run Keyword ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments}
  144. [return] ${value}
  145.  
  146. switchsate
  147. [Arguments] ${username} ${command} @{arguments}
  148. log ${username}
  149. log ${command}
  150. log ${arguments}
  151. Remove From List ${arguments} 0
  152. log ${arguments}
  153. ${status} ${value}= run_keyword_and_ignore_keyword_definations ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments}
  154. Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN
  155. [return] ${value}
  156.  
  157. Дочекатись дати
  158. [Arguments] ${date}
  159. ${wait_timout}= wait_to_date ${date}
  160. Run Keyword If ${wait_timout}>0 Sleep ${wait_timout}
  161.  
  162. Дочекатись дати початоку прийому пропозицій
  163. Дочекатись дати ${TENDER_DATA.data.tenderPeriod.startDate}
  164.  
  165. Дочекатись дати закінчення прийому пропозицій
  166. Дочекатись дати ${TENDER_DATA.data.tenderPeriod.endDate}
  167.  
  168. Дочекатись дати початоку аукціону
  169. Дочекатись дати ${TENDER_DATA.data.auctionPeriod.startDate}
  170.  
  171. Дочекатись дати закінчення аукціону
  172. Дочекатись дати ${TENDER_DATA.data.auctionPeriod.endDate}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement