Advertisement
yboi

Untitled

Jul 3rd, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.97 KB | None | 0 0
  1. # -*- coding: utf-8 -
  2. from datetime import datetime, timedelta
  3. now = datetime.now()
  4. from munch import munchify
  5. from faker import Factory
  6. fake = Factory.create('uk_UA')
  7. fake_ru = Factory.create('ru')
  8. fake_en = Factory.create()
  9.  
  10. def test_tender_data(period_interval=2):
  11. now = datetime.now()
  12. return {
  13. "title": u"[ТЕСТУВАННЯ] " + fake.catch_phrase(),
  14. "mode": "test",
  15. "submissionMethodDetails": "quick",
  16. "description": "Test tender1", #Error @prom when 'Тестовый тендер'
  17. "description_en": "Test tender",
  18. "description_ru": "Тестовый тендер",
  19. "procuringEntity": {
  20. "name": fake.company(),
  21. "name_ru": fake_ru.company(),
  22. "name_en": fake_en.company(),
  23. "identifier": {
  24. "scheme": u"UA-EDR",
  25. "id": u"0000{}".format(fake.pyint()),
  26. "uri": fake.image_url(width=None, height=None)
  27. },
  28. "address": {
  29. "countryName": u"Україна",
  30. "postalCode": fake.postalcode(),
  31. "region": u"м. Київ",
  32. "locality": u"м. Київ",
  33. "streetAddress": fake.street_address()
  34. },
  35. "contactPoint": {
  36. "name": fake.name(),
  37. "telephone": fake.phone_number()
  38. }
  39. },
  40. "value": {
  41. "amount": 50000, #Error @prom when float '50000.99'
  42. "currency": u"UAH"
  43. },
  44. "minimalStep": {
  45. "amount": 100, #Error @prom when float '100.1'
  46. "currency": u"UAH"
  47. },
  48. "items": [
  49. {
  50. "description": fake.catch_phrase(),
  51. "deliveryDate": {
  52. "endDate": (now + timedelta(days=5)).isoformat()
  53. },
  54. "deliveryLocation": {
  55. "latitude": u"49.8500° N",
  56. "longitude": u"24.0167° E"
  57. },
  58. "deliveryAddress": {
  59. "countryName": u"Україна",
  60. "postalCode": fake.postalcode(),
  61. "region": u"м. Київ",
  62. "locality": u"м. Київ",
  63. "streetAddress": fake.street_address()
  64. },
  65. "classification": {
  66. "scheme": u"CPV",
  67. "id": u"44617100-9",
  68. "description": u"Cartons"
  69. },
  70. "additionalClassifications": [
  71. {
  72. "scheme": u"ДКПП",
  73. "id": u"17.21.1",
  74. "description": u"папір і картон гофровані, паперова й картонна тара"
  75. }
  76. ],
  77. "unit": {
  78. "name": u"кілограм",
  79. "code": u"KGM"
  80. },
  81. "quantity": fake.pyint()
  82. }
  83. ],
  84. "enquiryPeriod": {
  85. "startDate": (now).isoformat(),
  86. "endDate": (now + timedelta(minutes=1)).isoformat()
  87. },
  88. "tenderPeriod": {
  89. "startDate": (now + timedelta(minutes=2)).isoformat(),
  90. "endDate": (now + timedelta(minutes=(2+period_interval))).isoformat()
  91. }
  92. }
  93.  
  94. def prom_test_tender_data():
  95. now = datetime.now()
  96. return {
  97. "title": fake.catch_phrase(),
  98. "mode": "test",
  99. "submissionMethodDetails": "quick",
  100. "description": "Test tender1", #Error @prom when 'Тестовый тендер'
  101. "description_en": "Test tender",
  102. "description_ru": "Тестовый тендер",
  103. "procuringEntity": {
  104. "name": fake.company(),
  105. "name_ru": fake_ru.company(),
  106. "name_en": fake_en.company(),
  107. "identifier": {
  108. "scheme": u"UA-EDR",
  109. "id": u"0000{}".format(fake.pyint()),
  110. "uri": fake.image_url(width=None, height=None)
  111. },
  112. "address": {
  113. "countryName": u"Україна",
  114. "postalCode": fake.postalcode(),
  115. "region": u"м. Київ",
  116. "locality": u"м. Київ",
  117. "streetAddress": fake.street_address()
  118. },
  119. "contactPoint": {
  120. "name": fake.name(),
  121. "telephone": fake.phone_number()
  122. }
  123. },
  124. "value": {
  125. "amount": 50000, #Error @prom when float '50000.99'
  126. "currency": u"UAH"
  127. },
  128. "minimalStep": {
  129. "amount": 100, #Error @prom when float '100.1'
  130. "currency": u"UAH"
  131. },
  132. "items": [
  133. {
  134. "description": fake.catch_phrase(),
  135. "deliveryDate": {
  136. "startDate": (now + timedelta(days=4)).isoformat(),
  137. "endDate": (now + timedelta(days=5)).isoformat()
  138. },
  139. "deliveryLocation": {
  140. "latitude": "49.8500° N",
  141. "longitude": "24.0167° E"
  142. },
  143. "deliveryAddress": {
  144. "countryName": u"Україна",
  145. "postalCode": fake.postalcode(),
  146. "region": u"м. Київ",
  147. "locality": u"м. Київ",
  148. "streetAddress": fake.street_address()
  149. },
  150. "classification": {
  151. "scheme": u"CPV",
  152. "id": u"44617100-9",
  153. "description": u"Cartons"
  154. },
  155. "additionalClassifications": [
  156. {
  157. "scheme": u"ДКПП",
  158. "id": u"17.21.1",
  159. "description": u"папір і картон гофровані, паперова й картонна тара"
  160. }
  161. ],
  162. "unit": {
  163. "name": u"кілограм",
  164. "code": u"KGM"
  165. },
  166. "quantity": fake.pyint()
  167. }
  168. ],
  169. "enquiryPeriod": {
  170. "startDate": (now + timedelta(days=1)).isoformat(),
  171. "endDate": (now + timedelta(days=2)).isoformat()
  172. },
  173. "tenderPeriod": {
  174. "startDate": (now + timedelta(days=3)).isoformat(),
  175. "endDate": (now + timedelta(days=5)).isoformat()
  176. }
  177. }
  178.  
  179. def test_tender_data_multiple_lots(period_interval=2):
  180. now = datetime.now()
  181. return {
  182. "title": fake.catch_phrase(),
  183. "mode": "test",
  184. "submissionMethodDetails": "quick",
  185. "description": u"Тестовий тендер",
  186. "description_en": "Test tender",
  187. "description_ru": "Тестовый тендер",
  188. "procuringEntity": {
  189. "name": fake.company(),
  190. "name_ru": fake_ru.company(),
  191. "name_en": fake_en.company(),
  192. "identifier": {
  193. "scheme": u"UA-EDR",
  194. "id": u"0000{}".format(fake.pyint()),
  195. "uri": fake.image_url(width=None, height=None)
  196. },
  197. "address": {
  198. "countryName": u"Україна",
  199. "postalCode": fake.postalcode(),
  200. "region": u"м. Київ",
  201. "locality": u"м. Київ",
  202. "streetAddress": fake.street_address()
  203. },
  204. "contactPoint": {
  205. "name": fake.name(),
  206. "telephone": fake.phone_number()
  207. }
  208. },
  209. "value": {
  210. "amount": 50000.99,
  211. "currency": u"UAH"
  212. },
  213. "minimalStep": {
  214. "amount": 100.1,
  215. "currency": u"UAH"
  216. },
  217. "items": [
  218. {
  219. "description": fake.catch_phrase(),
  220. "deliveryDate": {
  221. "endDate": (now + timedelta(days=5)).isoformat()
  222. },
  223. "deliveryLocation": {
  224. "latitude": 49.8500,
  225. "longitude": 24.0167
  226. },
  227. "deliveryAddress": {
  228. "countryName": u"Україна",
  229. "postalCode": "01008",
  230. "region": u"м. Київ",
  231. "locality": u"м. Київ",
  232. "streetAddress": "ул. Грушевского, 12/2"
  233. },
  234. "classification": {
  235. "scheme": u"CPV",
  236. "id": u"44617100-9",
  237. "description": u"Cartons"
  238. },
  239. "additionalClassifications": [
  240. {
  241. "scheme": u"ДКПП",
  242. "id": u"17.29.12-00.00",
  243. "description": u"Блоки, плити та пластини фільтрувальні, з паперової маси"
  244. }
  245. ],
  246. "unit": {
  247. "name": u"кілограм",
  248. "code": u"KGM"
  249. },
  250. "quantity": fake.pyint()
  251. },
  252. {
  253. "description": fake.catch_phrase(),
  254. "deliveryDate": {
  255. "endDate": (now + timedelta(days=5)).isoformat()
  256. },
  257. "deliveryLocation": {
  258. "latitude": 49.8500,
  259. "longitude": 24.0167
  260. },
  261. "deliveryAddress": {
  262. "countryName": u"Україна",
  263. "postalCode": fake.postalcode(),
  264. "region": u"м. Київ",
  265. "locality": u"м. Київ",
  266. "streetAddress": fake.street_address()
  267. },
  268. "classification": {
  269. "scheme": u"CPV",
  270. "id": u"44617100-9",
  271. "description": u"Cartons"
  272. },
  273. "additionalClassifications": [
  274. {
  275. "scheme": u"ДКПП",
  276. "id": u"17.21.99-00.00",
  277. "description": u"Роботи субпідрядні як частина виробництва гофрованих паперу й картону, паперової та картонної тари"
  278. }
  279. ],
  280. "unit": {
  281. "name": u"кілограм",
  282. "code": u"KGM"
  283. },
  284. "quantity": fake.pyint()
  285. },
  286. {
  287. "description": fake.catch_phrase(),
  288. "deliveryDate": {
  289. "endDate": (now + timedelta(days=5)).isoformat()
  290. },
  291. "deliveryLocation": {
  292. "latitude": 49.3418,
  293. "longitude": 39.1829
  294. },
  295. "deliveryAddress": {
  296. "countryName": u"Україна",
  297. "postalCode": fake.postalcode(),
  298. "region": u"м. Луганськ",
  299. "locality": u"м. Луганськ",
  300. "streetAddress": "Вул. Оборонна 28"
  301. },
  302. "classification": {
  303. "scheme": u"CPV",
  304. "id": u"44617100-9",
  305. "description": u"Cartons"
  306. },
  307. "additionalClassifications": [
  308. {
  309. "scheme": u"ДКПП",
  310. "id": u"17.22.12-40.00",
  311. "description": u"Вата; вироби з вати, інші"
  312. }
  313. ],
  314. "unit": {
  315. "name": u"кілограм",
  316. "code": u"KGM"
  317. },
  318. "quantity": fake.pyint()
  319. },
  320. {
  321. "description": fake.catch_phrase(),
  322. "deliveryDate": {
  323. "endDate": (now + timedelta(days=5)).isoformat()
  324. },
  325. "deliveryLocation": {
  326. "latitude": 49.8500,
  327. "longitude": 24.0167
  328. },
  329. "deliveryAddress": {
  330. "countryName": u"Україна",
  331. "postalCode": fake.postalcode(),
  332. "region": u"м. Київ",
  333. "locality": u"м. Київ",
  334. "streetAddress": fake.street_address()
  335. },
  336. "classification": {
  337. "scheme": u"CPV",
  338. "id": u"44617100-9",
  339. "description": u"Cartons"
  340. },
  341. "additionalClassifications": [
  342. {
  343. "scheme": u"ДКПП",
  344. "id": u"17.22.12-50.00",
  345. "description": u"Одяг і речі до одягу з паперової маси, паперу, целюлозної вати чи полотна з целюлозного волокна (крім носових хусточок, наголовних уборів)"
  346. }
  347. ],
  348. "unit": {
  349. "name": u"кілограм",
  350. "code": u"KGM"
  351. },
  352. "quantity": fake.pyint()
  353. }
  354. ],
  355. "enquiryPeriod": {
  356. "startDate": (now).isoformat(),
  357. "endDate": (now + timedelta(minutes=1)).isoformat()
  358. },
  359. "tenderPeriod": {
  360. "startDate": (now + timedelta(minutes=2)).isoformat(),
  361. "endDate": (now + timedelta(minutes=(2+period_interval))).isoformat()
  362. }
  363. }
  364.  
  365. def test_question_data():
  366. return munchify({
  367. "data": {
  368. "author": {
  369. "address": {
  370. "countryName": "Україна",
  371. "locality": "м. Вінниця",
  372. "postalCode": "21100",
  373. "region": "м. Вінниця",
  374. "streetAddress": fake.street_address()
  375. },
  376. "contactPoint": {
  377. "name": fake.name(),
  378. "telephone": fake.phone_number()
  379. },
  380. "identifier": {
  381. "scheme": u"UA-EDR",
  382. "id": u"0000{}".format(fake.pyint()),
  383. "uri": fake.image_url(width=None, height=None)
  384. },
  385. "name": fake.company()
  386. },
  387. "description": fake.sentence(nb_words=10, variable_nb_words=True),
  388. "title": fake.sentence(nb_words=6, variable_nb_words=True)
  389. }
  390. })
  391.  
  392.  
  393. def test_question_answer_data():
  394. return munchify({
  395. "data": {
  396. "answer": fake.sentence(nb_words=40, variable_nb_words=True)
  397. }
  398. })
  399.  
  400. def test_complaint_data():
  401. return munchify({
  402. "data": {
  403. "author": {
  404. "address": {
  405. "countryName": "Україна",
  406. "locality": "м. Вінниця",
  407. "postalCode": "21100",
  408. "region": "м. Вінниця",
  409. "streetAddress": fake.street_address()
  410. },
  411. "contactPoint": {
  412. "name": fake.name(),
  413. "telephone": fake.phone_number()
  414. },
  415. "identifier": {
  416. "scheme": u"UA-EDR",
  417. "id": u"0000{}".format(fake.pyint()),
  418. "uri": fake.image_url(width=None, height=None)
  419. },
  420. "name": fake.company()
  421. },
  422. "description": fake.sentence(nb_words=10, variable_nb_words=True),
  423. "title": fake.sentence(nb_words=6, variable_nb_words=True)
  424. }
  425. })
  426.  
  427. def test_complaint_reply_data():
  428. return munchify({
  429. "data": {
  430. "status": "resolved"
  431. }
  432. })
  433.  
  434.  
  435. def test_bid_data():
  436. return munchify({
  437. "data": {
  438. "tenderers": [
  439. {
  440. "address": {
  441. "countryName": "Україна",
  442. "locality": "м. Вінниця",
  443. "postalCode": "21100",
  444. "region": "м. Вінниця",
  445. "streetAddress": fake.street_address()
  446. },
  447. "contactPoint": {
  448. "name": fake.name(),
  449. "telephone": fake.phone_number()
  450. },
  451. "identifier": {
  452. "scheme": u"UA-EDR",
  453. "id": u"0000{}".format(fake.pyint()),
  454. },
  455. "name": fake.company()
  456. }
  457. ],
  458. "value": {
  459. "amount": 500
  460. }
  461. }
  462. })
  463.  
  464. def auction_bid():
  465. return munchify({
  466. "data": {"value": {
  467. "amount": 200,
  468. "currency": "UAH",
  469. "valueAddedTaxIncluded": true
  470. }
  471. }
  472. })
  473.  
  474.  
  475. def test_award_data():
  476. return munchify({'data': {}})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement