Advertisement
yboi

Untitled

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