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,11 +79,68 @@ Resource resource.robot | ||
79 | Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | 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 | :FOR ${username} IN ${tender_owner} ${viewer} | 102 | :FOR ${username} IN ${tender_owner} ${viewer} |
84 | \ Можливість знайти план по ідентифікатору для користувача ${username} | 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 | :FOR ${username} IN ${viewer} ${dasu_user} | 145 | :FOR ${username} IN ${viewer} ${dasu_user} |
89 | \ Можливість знайти об'єкт моніторингу по ідентифікатору для користувача ${username} | 146 | \ Можливість знайти об'єкт моніторингу по ідентифікатору для користувача ${username} |
@@ -225,9 +225,15 @@ Library openprocurement_client.utils | @@ -225,9 +225,15 @@ Library openprocurement_client.utils | ||
225 | [return] ${tender.data.planID} | 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 | ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} | 237 | ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} |
232 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | 238 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
233 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} | 239 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} |
@@ -236,6 +242,13 @@ Library openprocurement_client.utils | @@ -236,6 +242,13 @@ Library openprocurement_client.utils | ||
236 | [return] ${tender} | 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 | [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring_data | 253 | [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring_data |
241 | ${internalid}= openprocurement_client.Отримати internal id об'єкта моніторингу по UAid ${username} ${monitoring_uaid} | 254 | ${internalid}= openprocurement_client.Отримати internal id об'єкта моніторингу по UAid ${username} ${monitoring_uaid} |
@@ -353,9 +366,15 @@ Library openprocurement_client.utils | @@ -353,9 +366,15 @@ Library openprocurement_client.utils | ||
353 | [return] ${reply} | 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 | ${tender}= Call Method ${USERS.users['${username}'].client} get_plan ${internalid} | 378 | ${tender}= Call Method ${USERS.users['${username}'].client} get_plan ${internalid} |
360 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | 379 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
361 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} | 380 | Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} |
@@ -364,6 +383,13 @@ Library openprocurement_client.utils | @@ -364,6 +383,13 @@ Library openprocurement_client.utils | ||
364 | [return] ${tender} | 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 | [Arguments] ${username} ${funder_id}=${None} ${save_key}=tenders_with_funder | 394 | [Arguments] ${username} ${funder_id}=${None} ${save_key}=tenders_with_funder |
369 | ${tenders}= get_tenders_by_funder_id ${USERS.users['${username}'].client} ${funder_id} | 395 | ${tenders}= get_tenders_by_funder_id ${USERS.users['${username}'].client} ${funder_id} |
@@ -1868,9 +1894,15 @@ Library openprocurement_client.utils | @@ -1868,9 +1894,15 @@ Library openprocurement_client.utils | ||
1868 | openprocurement_client.Пошук договору по ідентифікатору ${username} ${contract_uaid} | 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 | ${contract}= Call Method ${USERS.users['${username}'].contracting_client} get_contract ${internalid} | 1906 | ${contract}= Call Method ${USERS.users['${username}'].contracting_client} get_contract ${internalid} |
1875 | ${contract}= munch_dict arg=${contract} | 1907 | ${contract}= munch_dict arg=${contract} |
1876 | Set To Dictionary ${USERS.users['${username}']} contract_data=${contract} | 1908 | Set To Dictionary ${USERS.users['${username}']} contract_data=${contract} |
@@ -1878,6 +1910,13 @@ Library openprocurement_client.utils | @@ -1878,6 +1910,13 @@ Library openprocurement_client.utils | ||
1878 | [return] ${contract} | 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 | [Arguments] ${username} ${contract_uaid} | 1921 | [Arguments] ${username} ${contract_uaid} |
1883 | ${internalid}= openprocurement_client.Отримати internal id по UAid для договору ${username} ${contract_uaid} | 1922 | ${internalid}= openprocurement_client.Отримати internal id по UAid для договору ${username} ${contract_uaid} |
@@ -119,6 +119,29 @@ def get_document_by_id(data, doc_id): | @@ -119,6 +119,29 @@ def get_document_by_id(data, doc_id): | ||
119 | raise Exception('Document with id {} not found'.format(doc_id)) | 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 | def get_tenders_by_funder_id(client, | 145 | def get_tenders_by_funder_id(client, |
123 | funder_id=None, | 146 | funder_id=None, |
124 | descending=True, | 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