More pytests (#7)

* add constants.py

* more tests and robustness.

* try/catch JSONDecodedError.
This commit is contained in:
Dave Gallant
2018-06-03 00:00:50 -04:00
committed by GitHub
parent 5a1799bdf5
commit e63413f05a
7 changed files with 895 additions and 16 deletions

View File

@@ -0,0 +1,782 @@
{
"pager": {
"total": -1,
"per_page": 10,
"total_on_page": 10,
"total_pages": -1,
"page": 1
},
"topics": [
{
"topic_id": 2197859,
"forum_id": 9,
"title":
"[Sponsored] 3 Months Free, Cable 75M, Unlimited Internet $34.99/30 Days, Free Installation/Modem Rental",
"slug":
"carrytel-sponsored-3-months-free-cable-75m-unlimited-internet-34-99-30-days-free-installation-modem-rental",
"author_id": 4437,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 1,
"type": 1,
"post_time": "2018-06-01T14:46:14+00:00",
"last_post_time": "2018-06-01T14:46:14+00:00",
"first_post_id": 29395579,
"last_post_id": 29395579,
"last_poster_id": 4437,
"total_replies": 0,
"has_new_post": false,
"total_views": 2345,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/carrytel-sponsored-3-months-free-cable-75m-unlimited-internet-34-99-30-days-free-installation-modem-rental-2197859/",
"offer": {
"category_id": 5125,
"dealer_id": 0,
"dealer_name": "Carrytel",
"url": "https://www.carrytel.ca/3mfree.aspx",
"price": "",
"savings": "",
"expires_at": "2018-06-14"
},
"votes": null,
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2191108,
"forum_id": 9,
"title": "WyzeCam 1080p HD Wireless Smart Home Camera v2 $37.49",
"slug": "amazon-ca-wyzecam-1080p-hd-wireless-smart-home-camera-v2-37-49",
"author_id": 1411026,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-05-03T15:06:55+00:00",
"last_post_time": "2018-06-03T02:43:17+00:00",
"first_post_id": 29284857,
"last_post_id": 29401295,
"last_poster_id": 38695,
"total_replies": 709,
"has_new_post": false,
"total_views": 129121,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/amazon-ca-wyzecam-1080p-hd-wireless-smart-home-camera-v2-37-49-2191108/",
"offer": {
"category_id": 5123,
"dealer_id": 775,
"dealer_name": "Amazon Canada",
"url": "https://www.amazon.ca/gp/aw/d/B076H3SRXG/",
"price": "$37.49",
"savings": "",
"expires_at": null
},
"votes": {
"total_up": 94,
"total_down": 2,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2197916,
"forum_id": 9,
"title": "Jabra Elite 65T $169.99",
"slug": "best-buy-jabra-elite-65t-169-99",
"author_id": 68535,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-01T18:36:28+00:00",
"last_post_time": "2018-06-03T02:41:57+00:00",
"first_post_id": 29396697,
"last_post_id": 29401292,
"last_poster_id": 37990,
"total_replies": 37,
"has_new_post": false,
"total_views": 6171,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path": "/best-buy-jabra-elite-65t-169-99-2197916/",
"offer": {
"category_id": 9,
"dealer_id": 57,
"dealer_name": "Best Buy",
"url":
"https://m.bestbuy.ca/en-CA/product/jabra-elite-65t-in-ear-noise-cancelling-truly-wireless-bluetooth-headphones-with-mic-black/12321947",
"price": "169.99",
"savings": "",
"expires_at": "2018-06-07"
},
"votes": {
"total_up": 8,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body":
"Desktop / non-mobile link: \u003Ca href=\u0022https://www.bestbuy.ca/en-ca/product/jabra-elite-65t-in-ear-noise-cancelling-truly-wireless-bluetooth-headphones-with-mic-black/12321947.aspx\u0022 rel=\u0022nofollow noreferrer\u0022 target=\u0022_blank\u0022 class=\u0022postlink\u0022\u003Ehttps://www.bestbuy.ca/en-ca/product/ja ... 21947.aspx\u003C/a\u003E"
},
"trader_type": null
},
{
"topic_id": 2198211,
"forum_id": 9,
"title":
"Glad Cling Wrap Plastic Wrap, 300 Metre Roll - best price $9.47",
"slug":
"amazon-ca-glad-cling-wrap-plastic-wrap-300-metre-roll-best-price-9-47",
"author_id": 1408083,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-03T02:13:45+00:00",
"last_post_time": "2018-06-03T02:34:19+00:00",
"first_post_id": 29401248,
"last_post_id": 29401285,
"last_poster_id": 26936,
"total_replies": 1,
"has_new_post": false,
"total_views": 264,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/amazon-ca-glad-cling-wrap-plastic-wrap-300-metre-roll-best-price-9-47-2198211/",
"offer": {
"category_id": 5142,
"dealer_id": 775,
"dealer_name": "Amazon Canada",
"url":
"https://www.amazon.ca/Glad-Cling-Wrap-Plastic-Metre/dp/B01GZTGTWW/ref=sr_1_6?ie=UTF8\u0026amp;qid=1527978057\u0026amp;sr=8-6\u0026amp;keywords=cling+film",
"price": "9.47",
"savings": "28% off",
"expires_at": null
},
"votes": {
"total_up": 1,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2195171,
"forum_id": 9,
"title": "Firman 3300 inverter generator $599",
"slug": "costco-firman-3300-inverter-generator-599",
"author_id": 1364941,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-05-21T07:29:13+00:00",
"last_post_time": "2018-06-03T02:33:41+00:00",
"first_post_id": 29351891,
"last_post_id": 29401283,
"last_poster_id": 69083,
"total_replies": 124,
"has_new_post": false,
"total_views": 18634,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path": "/costco-firman-3300-inverter-generator-599-2195171/",
"offer": {
"category_id": 5136,
"dealer_id": 110,
"dealer_name": "Costco",
"url": "https://m.costco.ca/.product.2414104.html",
"price": "$599",
"savings": "",
"expires_at": "2018-06-03"
},
"votes": {
"total_up": 17,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2198199,
"forum_id": 9,
"title": "HOT - KitchenAid Stand Mixer - $199",
"slug": "walmart-hot-kitchenaid-stand-mixer-199",
"author_id": 265861,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-03T00:05:40+00:00",
"last_post_time": "2018-06-03T02:33:04+00:00",
"first_post_id": 29400944,
"last_post_id": 29401282,
"last_poster_id": 311667,
"total_replies": 8,
"has_new_post": false,
"total_views": 1334,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path": "/walmart-hot-kitchenaid-stand-mixer-199-2198199/",
"offer": {
"category_id": 5139,
"dealer_id": 450,
"dealer_name": "Walmart",
"url":
"https://www.walmart.ca/en/ip/kitchenaid-275w-classic-plus-stand-mixer-ksm75sl/6000195341286",
"price": "199",
"savings": "50% off",
"expires_at": null
},
"votes": {
"total_up": 4,
"total_down": 1,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2198164,
"forum_id": 9,
"title":
"Seagate Expansion 4TB Portable External Hard Drive USB 3.0 (STEA4000400) $119.92",
"slug":
"amazon-ca-seagate-expansion-4tb-portable-external-hard-drive-usb-3-0-stea4000400-119-92",
"author_id": 177843,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-02T20:12:30+00:00",
"last_post_time": "2018-06-03T02:32:09+00:00",
"first_post_id": 29400374,
"last_post_id": 29401280,
"last_poster_id": 1373719,
"total_replies": 4,
"has_new_post": false,
"total_views": 827,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/amazon-ca-seagate-expansion-4tb-portable-external-hard-drive-usb-3-0-stea4000400-119-92-2198164/",
"offer": {
"category_id": 5119,
"dealer_id": 775,
"dealer_name": "Amazon Canada",
"url":
"https://www.amazon.ca/Seagate-Expansion-Portable-External-STEA4000400/dp/B017KE8OG0/ref=pd_cart_crc_sbs_2_1?_encoding=UTF8\u0026amp;pd_rd_i=B017KE8OG0\u0026amp;pd_rd_r=19RNAC5G5MN50M7THMXQ\u0026amp;pd_rd_w=NPMyB\u0026amp;pd_rd_wg=2y64K\u0026amp;pf_rd_i=cart-page-widgets\u0026amp;pf_rd_m=A3DWYIK6Y9EEQB\u0026amp;pf_rd_p=1228945996396599610\u0026amp;pf_rd_r=19RNAC5G5MN50M7THMXQ\u0026amp;pf_rd_s=cart-page-widgets\u0026amp;pf_rd_t=40701\u0026amp;psc=1\u0026amp;refRID=19RNAC5G5MN50M7THMXQ",
"price": "119.92",
"savings": "13%",
"expires_at": null
},
"votes": {
"total_up": 0,
"total_down": 1,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2198212,
"forum_id": 9,
"title":
"WORKSHOP Wet Dry Vacs Ash Vacuum Cleaner WS0500ASH, 5-Gallon Ash Vac 65% Off, Now: $48.54",
"slug":
"workshop-wet-dry-vacs-ash-vacuum-cleaner-ws0500ash-5-gallon-ash-vac-65-off-now-48-54",
"author_id": 1431114,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-03T02:25:50+00:00",
"last_post_time": "2018-06-03T02:25:50+00:00",
"first_post_id": 29401272,
"last_post_id": 29401272,
"last_poster_id": 1431114,
"total_replies": 0,
"has_new_post": false,
"total_views": 129,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/workshop-wet-dry-vacs-ash-vacuum-cleaner-ws0500ash-5-gallon-ash-vac-65-off-now-48-54-2198212/",
"offer": {
"category_id": 5,
"dealer_id": 0,
"dealer_name": "",
"url":
"https://www.amazon.ca/WORKSHOP-Wet-Dry-Vacs-WS0500ASH/dp/B01983NYD4/ref=as_li_ss_tl?ie=UTF8\u0026amp;linkCode=ll1\u0026amp;tag=ybbs-20\u0026amp;linkId=d729e8e2fc16a114465332d984ab914d",
"price": "",
"savings": "",
"expires_at": null
},
"votes": {
"total_up": 0,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2198191,
"forum_id": 9,
"title": "NBA 2K18 (Nintendo Switch) -$19.99 or $16.99 PM",
"slug": "the-source-nba-2k18-nintendo-switch-19-99-16-99-pm",
"author_id": 446796,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-02T23:03:52+00:00",
"last_post_time": "2018-06-03T02:24:50+00:00",
"first_post_id": 29400815,
"last_post_id": 29401270,
"last_poster_id": 1379113,
"total_replies": 1,
"has_new_post": false,
"total_views": 957,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path":
"/the-source-nba-2k18-nintendo-switch-19-99-16-99-pm-2198191/",
"offer": {
"category_id": 5127,
"dealer_id": 491,
"dealer_name": "The Source",
"url":
"https://www.thesource.ca/en-ca/gaming/nintendo-switch/nintendo-switch-games/nba-2k18-for-nintendo-switch/p/108070285",
"price": "$19.99",
"savings": "",
"expires_at": null
},
"votes": {
"total_up": 4,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
},
{
"topic_id": 2198145,
"forum_id": 9,
"title": "CROCS.CA 40%OFF Select style - at checkout",
"slug": "crocs-crocs-ca-40-off-select-style-checkout",
"author_id": 690944,
"is_subscribed": false,
"can_subscribe": false,
"can_report": false,
"can_reply": false,
"is_poll": false,
"status": 0,
"type": 0,
"post_time": "2018-06-02T18:05:22+00:00",
"last_post_time": "2018-06-03T02:22:46+00:00",
"first_post_id": 29400002,
"last_post_id": 29401267,
"last_poster_id": 835285,
"total_replies": 4,
"has_new_post": false,
"total_views": 1247,
"visibility": 1,
"has_replied": false,
"shadow_type": 0,
"web_path": "/crocs-crocs-ca-40-off-select-style-checkout-2198145/",
"offer": {
"category_id": 12,
"dealer_id": 112,
"dealer_name": "Crocs",
"url": "https://www.crocs.ca/sale/crocs-deals,en_CA,sc.html",
"price": "vary",
"savings": "40% off",
"expires_at": null
},
"votes": {
"total_up": 5,
"total_down": 0,
"current_vote": 0,
"can_vote_up": false,
"can_vote_down": false
},
"prefix": null,
"summary": {
"can_edit": false,
"body": ""
},
"trader_type": null
}
],
"users": [
{
"user_id": 4437,
"username": "RedFlagDeals.com",
"total_posts": 7987,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Moderator",
"group": 4,
"join_date": "2003-05-18T16:00:00+00:00",
"location": ""
},
{
"user_id": 26936,
"username": "ahoroba",
"total_posts": 1335,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url":
"https://forums.redflagdeals.com/avatar/26936_1470311361.gif",
"avatar_width": 32,
"avatar_height": 32,
"rank": "Deal Addict",
"group": 2,
"join_date": "2005-07-25T14:30:43+00:00",
"location": ""
},
{
"user_id": 37990,
"username": "EP32k2",
"total_posts": 9184,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Penalty Box",
"group": 2,
"join_date": "2006-01-16T22:54:23+00:00",
"location": "Richmond Hill"
},
{
"user_id": 38695,
"username": "astigdealz",
"total_posts": 334,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url":
"https://forums.redflagdeals.com/avatar/38695_1484397258.jpg",
"avatar_width": 95,
"avatar_height": 100,
"rank": "Member",
"group": 2,
"join_date": "2006-01-29T16:04:31+00:00",
"location": "Brampton"
},
{
"user_id": 68535,
"username": "vanhalen26",
"total_posts": 236,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Member",
"group": 2,
"join_date": "2006-12-01T17:32:38+00:00",
"location": "Toronto"
},
{
"user_id": 69083,
"username": "Imago",
"total_posts": 358,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Member",
"group": 2,
"join_date": "2006-12-04T19:51:16+00:00",
"location": "Craven"
},
{
"user_id": 177843,
"username": "voodoo22",
"total_posts": 497,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Member",
"group": 2,
"join_date": "2008-08-25T16:38:10+00:00",
"location": "Victoria"
},
{
"user_id": 265861,
"username": "pvdv",
"total_posts": 15,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2009-10-28T21:56:08+00:00",
"location": "Waterloo, ON, Canada"
},
{
"user_id": 311667,
"username": "tew",
"total_posts": 1158,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url":
"https://forums.redflagdeals.com/avatar/311667_1470311465.jpg",
"avatar_width": 100,
"avatar_height": 80,
"rank": "Deal Addict",
"group": 2,
"join_date": "2010-06-14T19:23:15+00:00",
"location": "GTA"
},
{
"user_id": 446796,
"username": "cain2589",
"total_posts": 261,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Member",
"group": 2,
"join_date": "2011-07-24T23:56:20+00:00",
"location": "Ottawa"
},
{
"user_id": 690944,
"username": "Bessem",
"total_posts": 833,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Sr. Member",
"group": 2,
"join_date": "2013-11-08T16:06:10+00:00",
"location": "Montreal"
},
{
"user_id": 835285,
"username": "tark514",
"total_posts": 250,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Member",
"group": 2,
"join_date": "2015-12-06T12:36:38+00:00",
"location": "Verdun, QC"
},
{
"user_id": 1364941,
"username": "Susanclark",
"total_posts": 41,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2016-08-19T07:04:00+00:00",
"location": ""
},
{
"user_id": 1373719,
"username": "natrill",
"total_posts": 52,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2016-11-26T23:55:52+00:00",
"location": ""
},
{
"user_id": 1379113,
"username": "thyeri",
"total_posts": 13,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2017-01-20T04:10:14+00:00",
"location": ""
},
{
"user_id": 1408083,
"username": "Kyuuan",
"total_posts": 81,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url":
"https://forums.redflagdeals.com/avatar/1408083_1511554534.jpg",
"avatar_width": 100,
"avatar_height": 100,
"rank": "Newbie",
"group": 2,
"join_date": "2017-11-09T02:55:42+00:00",
"location": ""
},
{
"user_id": 1411026,
"username": "HeyAgain88",
"total_posts": 4,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2017-11-27T01:18:10+00:00",
"location": ""
},
{
"user_id": 1431114,
"username": "askmenow",
"total_posts": 6,
"can_view_messages": true,
"can_send_messages": true,
"is_local_deals_admin": false,
"avatar_url": null,
"avatar_width": null,
"avatar_height": null,
"rank": "Newbie",
"group": 2,
"join_date": "2018-05-24T14:34:30+00:00",
"location": ""
}
]
}