yboi

Untitled

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