Commit 7e6a01bf8c02dc2e4d91e866e227a5391bf3b4a7
Committed by
GitHub
Merge pull request #29 from ProzorroUKR/improvement/tenders-feed
CS-1185 Add tenders feed tests. Read all tenders.
Showing
5 changed files
with
179 additions
and
9 deletions
| ... | ... | @@ -79,11 +79,68 @@ Resource resource.robot |
| 79 | 79 | Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} |
| 80 | 80 | |
| 81 | 81 | |
| 82 | +Можливість прочитати тендери | |
| 83 | + :FOR ${username} IN ${viewer} | |
| 84 | + \ Можливість прочитати тендери для користувача ${username} | |
| 85 | + | |
| 86 | + | |
| 87 | +Можливість прочитати тендери для користувача ${username} | |
| 88 | + ${tenders_feed}= Отримати список тендерів ${username} | |
| 89 | + ${tenders_len}= Get Length ${tenders_feed} | |
| 90 | + ${number}= Evaluate min(${FEED_ITEMS_NUMBER}, ${tenders_len}) | |
| 91 | + ${sample}= Evaluate random.sample(range(0, ${tenders_len}), ${number}) random | |
| 92 | + Log To Console ${number}/${tenders_len} | |
| 93 | + :FOR ${index} IN @{sample} | |
| 94 | + \ ${tenders_feed_item}= Get From List ${tenders_feed} ${index} | |
| 95 | + \ ${internalid}= Get From Dictionary ${tenders_feed_item} id | |
| 96 | + \ ${date_modified}= Get From Dictionary ${tenders_feed_item} dateModified | |
| 97 | + \ Log To Console - Читання тендеру з id ${internalid} та датою модифікації ${date_modified} | |
| 98 | + \ Отримати тендер по внутрішньому ідентифікатору ${username} ${internalid} | |
| 99 | + | |
| 100 | + | |
| 82 | 101 | Можливість знайти план по ідентифікатору |
| 83 | 102 | :FOR ${username} IN ${tender_owner} ${viewer} |
| 84 | 103 | \ Можливість знайти план по ідентифікатору для користувача ${username} |
| 85 | 104 | |
| 86 | 105 | |
| 106 | +Можливість прочитати плани | |
| 107 | + :FOR ${username} IN ${viewer} | |
| 108 | + \ Можливість прочитати плани для користувача ${username} | |
| 109 | + | |
| 110 | + | |
| 111 | +Можливість прочитати плани для користувача ${username} | |
| 112 | + ${plans_feed}= Отримати список планів ${username} | |
| 113 | + ${plans_len}= Get Length ${plans_feed} | |
| 114 | + ${number}= Evaluate min(${FEED_ITEMS_NUMBER}, ${plans_len}) | |
| 115 | + ${sample}= Evaluate random.sample(range(0, ${plans_len}), ${number}) random | |
| 116 | + Log To Console ${number}/${plans_len} | |
| 117 | + :FOR ${index} IN @{sample} | |
| 118 | + \ ${plans_feed_item}= Get From List ${plans_feed} ${index} | |
| 119 | + \ ${internalid}= Get From Dictionary ${plans_feed_item} id | |
| 120 | + \ ${date_modified}= Get From Dictionary ${plans_feed_item} dateModified | |
| 121 | + \ Log To Console - Читання плану з id ${internalid} та датою модифікації ${date_modified} | |
| 122 | + \ Отримати план по внутрішньому ідентифікатору ${username} ${internalid} | |
| 123 | + | |
| 124 | + | |
| 125 | +Можливість прочитати договори | |
| 126 | + :FOR ${username} IN ${viewer} | |
| 127 | + \ Можливість прочитати договори для користувача ${username} | |
| 128 | + | |
| 129 | + | |
| 130 | +Можливість прочитати договори для користувача ${username} | |
| 131 | + ${contracts_feed}= Отримати список договорів ${username} | |
| 132 | + ${contracts_len}= Get Length ${contracts_feed} | |
| 133 | + ${number}= Evaluate min(${FEED_ITEMS_NUMBER}, ${contracts_len}) | |
| 134 | + ${sample}= Evaluate random.sample(range(0, ${contracts_len}), ${number}) random | |
| 135 | + Log To Console ${number}/${contracts_len} | |
| 136 | + :FOR ${index} IN @{sample} | |
| 137 | + \ ${contracts_feed_item}= Get From List ${contracts_feed} ${index} | |
| 138 | + \ ${internalid}= Get From Dictionary ${contracts_feed_item} id | |
| 139 | + \ ${date_modified}= Get From Dictionary ${contracts_feed_item} dateModified | |
| 140 | + \ Log To Console - Читання договору з id ${internalid} та датою модифікації ${date_modified} | |
| 141 | + \ Отримати договір по внутрішньому ідентифікатору ${username} ${internalid} | |
| 142 | + | |
| 143 | + | |
| 87 | 144 | Можливість знайти об'єкт моніторингу по ідентифікатору |
| 88 | 145 | :FOR ${username} IN ${viewer} ${dasu_user} |
| 89 | 146 | \ Можливість знайти об'єкт моніторингу по ідентифікатору для користувача ${username} | ... | ... |
| ... | ... | @@ -225,9 +225,15 @@ Library openprocurement_client.utils |
| 225 | 225 | [return] ${tender.data.planID} |
| 226 | 226 | |
| 227 | 227 | |
| 228 | -Пошук тендера по ідентифікатору | |
| 229 | - [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data | |
| 230 | - ${internalid}= openprocurement_client.Отримати internal id по UAid ${username} ${tender_uaid} | |
| 228 | +Отримати список тендерів | |
| 229 | + [Arguments] ${username} | |
| 230 | + ${tenders_feed_generator}= Run Keyword get_tenders_feed ${USERS.users['${username}'].client} | |
| 231 | + @{tenders_feed}= Set Variable @{tenders_feed_generator} | |
| 232 | + [return] ${tenders_feed} | |
| 233 | + | |
| 234 | + | |
| 235 | +Отримати тендер по внутрішньому ідентифікатору | |
| 236 | + [Arguments] ${username} ${internalid} ${save_key}=tender_data | |
| 231 | 237 | ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} |
| 232 | 238 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
| 233 | 239 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} |
| ... | ... | @@ -236,6 +242,13 @@ Library openprocurement_client.utils |
| 236 | 242 | [return] ${tender} |
| 237 | 243 | |
| 238 | 244 | |
| 245 | +Пошук тендера по ідентифікатору | |
| 246 | + [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data | |
| 247 | + ${internalid}= openprocurement_client.Отримати internal id по UAid ${username} ${tender_uaid} | |
| 248 | + ${tender}= openprocurement_client.Отримати тендер по внутрішньому ідентифікатору ${username} ${internalid} ${save_key} | |
| 249 | + [return] ${tender} | |
| 250 | + | |
| 251 | + | |
| 239 | 252 | Пошук об'єкта моніторингу по ідентифікатору |
| 240 | 253 | [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring_data |
| 241 | 254 | ${internalid}= openprocurement_client.Отримати internal id об'єкта моніторингу по UAid ${username} ${monitoring_uaid} |
| ... | ... | @@ -353,9 +366,15 @@ Library openprocurement_client.utils |
| 353 | 366 | [return] ${reply} |
| 354 | 367 | |
| 355 | 368 | |
| 356 | -Пошук плану по ідентифікатору | |
| 357 | - [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data | |
| 358 | - ${internalid}= openprocurement_client.Отримати internal id плану по UAid ${username} ${tender_uaid} | |
| 369 | +Отримати список планів | |
| 370 | + [Arguments] ${username} | |
| 371 | + ${plans_feed_generator}= Run Keyword get_plans_feed ${USERS.users['${username}'].client} | |
| 372 | + @{plans_feed}= Set Variable @{plans_feed_generator} | |
| 373 | + [return] ${plans_feed} | |
| 374 | + | |
| 375 | + | |
| 376 | +Отримати план по внутрішньому ідентифікатору | |
| 377 | + [Arguments] ${username} ${internalid} ${save_key}=tender_data | |
| 359 | 378 | ${tender}= Call Method ${USERS.users['${username}'].client} get_plan ${internalid} |
| 360 | 379 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
| 361 | 380 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} |
| ... | ... | @@ -364,6 +383,13 @@ Library openprocurement_client.utils |
| 364 | 383 | [return] ${tender} |
| 365 | 384 | |
| 366 | 385 | |
| 386 | +Пошук плану по ідентифікатору | |
| 387 | + [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data | |
| 388 | + ${internalid}= openprocurement_client.Отримати internal id плану по UAid ${username} ${tender_uaid} | |
| 389 | + ${tender}= openprocurement_client.Отримати план по внутрішньому ідентифікатору ${username} ${internalid} ${save_key} | |
| 390 | + [return] ${tender} | |
| 391 | + | |
| 392 | + | |
| 367 | 393 | Пошук тендера за кошти донора |
| 368 | 394 | [Arguments] ${username} ${funder_id}=${None} ${save_key}=tenders_with_funder |
| 369 | 395 | ${tenders}= get_tenders_by_funder_id ${USERS.users['${username}'].client} ${funder_id} |
| ... | ... | @@ -1868,9 +1894,15 @@ Library openprocurement_client.utils |
| 1868 | 1894 | openprocurement_client.Пошук договору по ідентифікатору ${username} ${contract_uaid} |
| 1869 | 1895 | |
| 1870 | 1896 | |
| 1871 | -Пошук договору по ідентифікатору | |
| 1872 | - [Arguments] ${username} ${contract_uaid} | |
| 1873 | - ${internalid}= openprocurement_client.Отримати internal id по UAid для договору ${username} ${contract_uaid} | |
| 1897 | +Отримати список договорів | |
| 1898 | + [Arguments] ${username} | |
| 1899 | + ${contracts_feed_generator}= Run Keyword get_contracts_feed ${USERS.users['${username}'].contracting_client} | |
| 1900 | + @{contracts_feed}= Set Variable @{contracts_feed_generator} | |
| 1901 | + [return] ${contracts_feed} | |
| 1902 | + | |
| 1903 | + | |
| 1904 | +Отримати договір по внутрішньому ідентифікатору | |
| 1905 | + [Arguments] ${username} ${internalid} | |
| 1874 | 1906 | ${contract}= Call Method ${USERS.users['${username}'].contracting_client} get_contract ${internalid} |
| 1875 | 1907 | ${contract}= munch_dict arg=${contract} |
| 1876 | 1908 | Set To Dictionary ${USERS.users['${username}']} contract_data=${contract} |
| ... | ... | @@ -1878,6 +1910,13 @@ Library openprocurement_client.utils |
| 1878 | 1910 | [return] ${contract} |
| 1879 | 1911 | |
| 1880 | 1912 | |
| 1913 | +Пошук договору по ідентифікатору | |
| 1914 | + [Arguments] ${username} ${contract_uaid} | |
| 1915 | + ${internalid}= openprocurement_client.Отримати internal id по UAid для договору ${username} ${contract_uaid} | |
| 1916 | + ${contract}= openprocurement_client.Отримати договір по внутрішнтому ідентифікатору ${username} ${contract_uaid} | |
| 1917 | + [return] ${contract} | |
| 1918 | + | |
| 1919 | + | |
| 1881 | 1920 | Отримати доступ до договору |
| 1882 | 1921 | [Arguments] ${username} ${contract_uaid} |
| 1883 | 1922 | ${internalid}= openprocurement_client.Отримати internal id по UAid для договору ${username} ${contract_uaid} | ... | ... |
| ... | ... | @@ -119,6 +119,29 @@ def get_document_by_id(data, doc_id): |
| 119 | 119 | raise Exception('Document with id {} not found'.format(doc_id)) |
| 120 | 120 | |
| 121 | 121 | |
| 122 | +def get_tenders_feed(client, interval=0.5): | |
| 123 | + for item in get_items_feed(client, 'get_tenders', interval): | |
| 124 | + yield item | |
| 125 | + | |
| 126 | + | |
| 127 | +def get_plans_feed(client, interval=0.5): | |
| 128 | + for item in get_items_feed(client, 'get_plans', interval): | |
| 129 | + yield item | |
| 130 | + | |
| 131 | + | |
| 132 | +def get_contracts_feed(client, interval=0.5): | |
| 133 | + for item in get_items_feed(client, 'get_contracts', interval): | |
| 134 | + yield item | |
| 135 | + | |
| 136 | +def get_items_feed(client, client_method, interval=0.5): | |
| 137 | + items = True | |
| 138 | + while items: | |
| 139 | + items = getattr(client, client_method)() | |
| 140 | + for item in items: | |
| 141 | + yield item | |
| 142 | + sleep(interval) | |
| 143 | + | |
| 144 | + | |
| 122 | 145 | def get_tenders_by_funder_id(client, |
| 123 | 146 | funder_id=None, |
| 124 | 147 | descending=True, | ... | ... |
op_robot_tests/tests_files/feed_plans.robot
0 → 100644
| 1 | +*** Settings *** | |
| 2 | +Resource base_keywords.robot | |
| 3 | +Resource resource.robot | |
| 4 | +Suite Setup Test Suite Setup | |
| 5 | +Suite Teardown Test Suite Teardown | |
| 6 | + | |
| 7 | + | |
| 8 | +*** Variables *** | |
| 9 | +${RESOURCE} plans | |
| 10 | +@{USED_ROLES} viewer | |
| 11 | +${FEED_ITEMS_NUMBER} 10 | |
| 12 | + | |
| 13 | +*** Test Cases *** | |
| 14 | +Можливість переглянути плани | |
| 15 | + [Tags] ${USERS.users['${viewer}'].broker}: Читання планів | |
| 16 | + ... viewer | |
| 17 | + ... ${USERS.users['${viewer}'].broker} | |
| 18 | + ... plan_feed | |
| 19 | + ... plan_view | |
| 20 | + ... critical | |
| 21 | + Можливість прочитати плани | ... | ... |
| 1 | +*** Settings *** | |
| 2 | +Resource base_keywords.robot | |
| 3 | +Resource resource.robot | |
| 4 | +Suite Setup Test Suite Setup | |
| 5 | +Suite Teardown Test Suite Teardown | |
| 6 | + | |
| 7 | + | |
| 8 | +*** Variables *** | |
| 9 | +${RESOURCE} tenders | |
| 10 | +@{USED_ROLES} viewer | |
| 11 | +${FEED_ITEMS_NUMBER} 10 | |
| 12 | + | |
| 13 | +*** Test Cases *** | |
| 14 | +Можливість переглянути тендери | |
| 15 | + [Tags] ${USERS.users['${viewer}'].broker}: Читання тендерів | |
| 16 | + ... viewer | |
| 17 | + ... ${USERS.users['${viewer}'].broker} | |
| 18 | + ... tender_feed | |
| 19 | + ... tender_view | |
| 20 | + ... critical | |
| 21 | + Можливість прочитати тендери | |
| 22 | + | |
| 23 | +Можливість переглянути договори | |
| 24 | + [Tags] ${USERS.users['${viewer}'].broker}: Читання контрактів | |
| 25 | + ... viewer | |
| 26 | + ... ${USERS.users['${viewer}'].broker} | |
| 27 | + ... contract_feed | |
| 28 | + ... contract_view | |
| 29 | + ... critical | |
| 30 | + Можливість прочитати договори | ... | ... |
Please
register
or
login
to post a comment